Delphi developer tricky/freak/unexpected questions

NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Delphi developer tricky/freak/unexpected questions

Post by NNemo »

Привет всем!

Ну в общем subj. И чем больше тем лучше! И желательно из реальной жизни, так как всякие там brainbench просто sux. Я имею в виду по части вопросов с подвохом.

Буду очень признателен.
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

Уныло... :|
Delphi совсем не использует никто?
User avatar
Gennadiy
Уже с Приветом
Posts: 11332
Joined: 30 Mar 2000 10:01
Location: Ice Storm Town

Post by Gennadiy »

NNemo wrote:Уныло... :|
Delphi совсем не использует никто?

Я использовал совсем недавно. И знаю много народу который использует и по сей день. Просто вопрос не понятен. Чего надо то? Вопросы для интервью?
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

Они родимые...
Yuri_p33
Уже с Приветом
Posts: 394
Joined: 12 Feb 2001 10:01
Location: USA

Re: Delphi developer tricky/freak/unexpected questions

Post by Yuri_p33 »

NNemo wrote:Ну в общем subj. И чем больше тем лучше! И желательно из реальной жизни, так как всякие там brainbench просто sux. Я имею в виду по части вопросов с подвохом.
Вы будете смеяться, но народ часто сыпется на простейших вопросах типа:
- В чем разница между dynamic и virtual методом.
- Взаимные ссылки unit-ов друг на друга
- Порядок вызовов initialization и finalization секций
- Какой уровень доступа к членам/методам класса (public, protected, etc) используется по умолчанию
- Ссылка на класс, виртуальный конструктор

Часто этого вполне достаточно. Вопросов именно "трюковых" по языку и библиотеке на интервью задавать не нужно, бессмысленно это. По алгоритмам - можно попробовать, проверить как человек думает.
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

Ага. Мне как раз такие вопросы задавали на первом интервью.
Консалтер от рекрутера. Какой-то индус, который как мне показалось совсем ничего не знает.
Теперь интервью с клиентом. Не знаю чего ждать.

Я бы например спрашивал что-то конкретно связанное с опытом разработки.

Ну вот например:
Расскажите как вернуть набор строк из запроса используя ADO для доступа к Oracle.
Ну ка, на вскидку! Слабо?

Это то, что не прочитаешь нажав F1. Все вроде просто, но если этого не делал, то не в жизнь не ответишь. Сегодня проверял :-)

Конкретный experience, который за ночь не наберешь. Даже смежные знания не помогут. Сколько времени ушло на получение ответа?

Вот такие вопросы меня пугают.
Yuri_p33
Уже с Приветом
Posts: 394
Joined: 12 Feb 2001 10:01
Location: USA

Post by Yuri_p33 »

NNemo wrote:Расскажите как вернуть набор строк из запроса используя ADO для доступа к Oracle. Ну ка, на вскидку! Слабо?
Наверное, я не понял вопроса. Чем не нравится select * from Table? И при чем здесь именно ADO? :)
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

Я поставил конкретную задачу.

Написание простого приложения с использованием Oracle&ADO.
Прошу прощения забыл упомянуть что нужно использовать stored procedure.

Никому не интересно чем отличается virtual от dynamic, если человек не может выполнить простейшую бизнес логику. Правильно?

Почему задача поставлена именно так?
Ок! Даже зная теорию Вы не сделаете это с первого раза. Могу поспорить. Мне например пришлось серьезно погуглить и внимательно прочитать все найденное, хотя я делаю такие штуки довольно часто с DOA.

В общем я говорю о know-how. Может кто-то встречал вопросы подобные этому и знает как решать проблему.

Please, share your knowledge!!!
Yuri_p33
Уже с Приветом
Posts: 394
Joined: 12 Feb 2001 10:01
Location: USA

Post by Yuri_p33 »

NNemo wrote:Прошу прощения забыл упомянуть что нужно использовать stored procedure.
Понятно. Да, это посложнее вопрос и если нет опыта - то тяжело отвечать.
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

JEE!!!

Только что прошел интервью....
Ну в общем они не оригинальны оказались.
Все те же virtual vs dynamic, структура юнита, finalizatio section и.п.
Еще спросили пару вопросов по COM, SQL и т.п.
Уныло.
Victor
Уже с Приветом
Posts: 2107
Joined: 04 Mar 1999 10:01
Location: Gaithersburg, MD

Post by Victor »

Можно задать кучу неприятных вопросов по инициализации компонент. Достаточно мало активно пушущего на D народа обладает исчерпывающими знаниями как это происходит. Например у меня был вопрос: когда вызывается TComponent.Loaded :)
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Post by IA72 »

Victor wrote:Можно задать кучу неприятных вопросов по инициализации компонент. Достаточно мало активно пушущего на D народа глубоко точно знает как это происходит. Например у меня был вопрос когда вызывается TComponent.Loaded :)


Мой один из любимых вопросов "что означает директива default в описании свойства?" Не поверите, сколько народа сыпалось, индусы прямо один за другим, как спелые груши :)
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

Ну эти то вопросы хоть уровень знаний определить помогут...

Это все же не про структуру юнита. Меня когда это спросили, то я их отлупил - спросил не издеваются ли они? После этого вообще интервью было как песня... :D
Они по резюме прикинули, что я русский... Так что мы даже про армию поговорили :D

Вопрос про default конечно с подвохом, но ничего сложного. В доке все путем описано.

Loaded ступенькой выше. Если человек знает что это такое, то значит про стриминг слыхал и может быть смотрел в код VCL.

Но опять таки - может быть...

Расскажу почему спрашивал про ADO.
Ну работают они с ORACLE. После официальной кончины BDE что осталось портабельное и более менее стандартное. Правильно ADO.
Соответственно мне на первом интервью этот вопрос и задали. Ну я от него отмазался на общем основании.

Потом дай думаю проверю на всякий случай.
Делаю все как обычно. А хрен там!!! Не дает Delphi сделать. Давай гуглить.

1. Для коннекции нужно установить dynanic property PLSQLRset= True.
2. Создать пакеджед процедуру. Заметьте процедуру и не как иначе. Параметр типа out ref cursor. С функцией у меня что-то не сложилось, но времени разбираться не было.
3. Установить cursor location на клиенте. Cursor type - static cursor.
4. Везде использовать полностью квалифицированное имя процедуры. И не как иначе! Это похоже на баг в oracle provider или ADO.
5. Удалить параметр созданный по умолчанию. Не верьте Delphi и доке что он должен быть. С ним работать не будет!

Ну после этого можно звать Open.

Итого, ПЯТЬ граблей, на простейшей задаче.
Вот сразу можно сказать работал серьзно человек или нет.
Big Cheese
Уже с Приветом
Posts: 1211
Joined: 02 Jul 2000 09:01
Location: SFBA

Post by Big Cheese »

NNemo wrote:Потом дай думаю проверю на всякий случай.
Делаю все как обычно. А хрен там!!! Не дает Delphi сделать. Давай гуглить.
Интересно, "как обычно" - это как? Просто то, что Вы ниже написали (за исключением Дельфийской специфики) это на мой взгляд и есть обычный способ вызова sp с клиента через OLEDB. Кроме того, если я правильно понимаю задачу "вернуть набор строк из запроса" - на мой взгляд можно обойтись без stored procedure, OLEDB ICommand / ICommandWithParameters должно хватить, если мне не изменяет память...
NNemo wrote:4. Везде использовать полностью квалифицированное имя процедуры. И не как иначе! Это похоже на баг в oracle provider или ADO.
полностью квалифицированное имя это в смысле package_name.sp_name? Если да, то насколько я понимаю - это не баг, это так и должно быть, а как иначе-то? :pain1:

NNemo wrote:Итого, ПЯТЬ граблей, на простейшей задаче.
Я не большой знаток database connectivity, но на мой взгляд это все-же больше особенности Оракловского синтаксиса (in out ref cursor) и, в меньшей степени, OLEDB, чем Delphi-specific issue. Я думаю, что, однажды разобравшись, это перестает быть проблемой, даже если Вам в следующий раз придется это изобразить с использованием no matter what - хоть Delphi, хоть C++/OLEDB или C/OCI. :)
А вообще все это так, суета. Главное, что Вы интервью прошли, с чем и поздравляю. :)
Удачи.
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

Интересно, "как обычно" - это как?

Обычно это как описано, но только без всяких упомянутых ухищрений и в DOA. Есть такая нативная либа.
Просто то, что Вы ниже написали (за исключением Дельфийской специфики) это на мой взгляд и есть обычный способ вызова sp с клиента через OLEDB. Кроме того, если я правильно понимаю задачу "вернуть набор строк из запроса" - на мой взгляд можно обойтись без stored procedure, OLEDB ICommand / ICommandWithParameters должно хватить, если мне не изменяет память...
OLEDB не знаю, спорить не буду.

NNemo wrote:4. Везде использовать полностью квалифицированное имя процедуры. И не как иначе! Это похоже на баг в oracle provider или ADO.
полностью квалифицированное имя это в смысле package_name.sp_name? Если да, то насколько я понимаю - это не баг, это так и должно быть, а как иначе-то? :pain1:

NNemo wrote:Ага, только еще зачем-то приходится писать и схему тоже...

Итого, ПЯТЬ граблей, на простейшей задаче.
Я не большой знаток database connectivity, но на мой взгляд это все-же больше особенности Оракловского синтаксиса (in out ref cursor) и, в меньшей степени, OLEDB, чем Delphi-specific issue.

На то они и нужны всякие connectivity :-) чтобы не думать об особенностях.
Перечисленные особенности относились как раз к разработке в Delphi.

Я думаю, что, однажды разобравшись, это перестает быть проблемой, даже если Вам в следующий раз придется это изобразить с использованием no matter what - хоть Delphi, хоть C++/OLEDB или C/OCI. :)


Да не нужно мне разбираться, потому что я знаю как это делается :-)
Просто вот опыта еще прибавилось. А то ведь как - посмотрел в доку, уже пришет в резюме - работал, знаю ...
На резюме смотрят, опытных ищут... А опыт то проверить толком даже не могут. А опыт, он, блин, - сын ошибок трудных...

Складывается впечтление, что самое трудное в поиске работы это дойти до интервью. Глупо и обидно...

А вообще все это так, суета. Главное, что Вы интервью прошли, с чем и поздравляю. :)
Удачи.


Спасибо! Но рано еще... Кто ж их разберет - америкосов сраных. Все может случиться. Найдут например локального кандидата...
User avatar
Jeeser
Уже с Приветом
Posts: 214
Joined: 09 Jul 2001 09:01

Post by Jeeser »

NNemo wrote:JEE!!!

Только что прошел интервью....
Ну в общем они не оригинальны оказались.
Все те же virtual vs dynamic, структура юнита, finalizatio section и.п.
Еще спросили пару вопросов по COM, SQL и т.п.
Уныло.


а что по COM спрашивают?
NNemo
Уже с Приветом
Posts: 1935
Joined: 15 Sep 2003 17:49
Location: Ukraine, Mariupol -> USA everywhere :-)

Post by NNemo »

Что-такое tlb
Какие бывают threading models.
Как создать com server.
Кажется зачем нужен safecall, не помню уже...
Что-то про базовые классы com.

В общем ничего сложного...
Ответы их удовлетворили почти односложные, слушать подробности не захотели.

Return to “Вопросы и новости IT”