Здравствуйте, elmal, Вы писали:
E>На простой вопрос элементрано ошибиться. Сегодня ко мне подошли возле дома и спросили какая эта улица. А я не смог сразу уверенно ответить — забыл. Когда же мне спросили по другому, назвали улицу и спросили, она ли это — тут я смог ответить без проблем. Итого — я вообще слабоумный получается, так как не знаю по какой улице я каждый день к метро хожу?
E>А с твоими вопросами тоже самое, человеку в лоб задаешь вопросы, который он может и знает, но так как он их не применял много лет они спрятаны у него очень далеко, и он может в результате крайне неуверенно на них отвечать, а то и сделать детскую ошибку.
Если кандидат сделает простую ошибку, скажем, напишет 2*pi*r вместо pi*r^2, то я предложу ему подумать еще или задам наводящий вопрос, в любом случае, это еще не fail.
Если забудет проверить что вернуло open(), но при этом проверит, что вернуло write(), то я это вообще ошибкой не считаю. А так, предложу подумать, что можно улучшить в коде.
Но как я уже говорил, есть 2 типа кандидатов:
— нормальный
— полный ступор
Здравствуйте, spbnt, Вы писали:
S>ИМХО такие вопросы имеет смысл задавать студентам, у которых опыта нет ни в чем, кроме как зубрить формулы для удовлетворения преподавательских бзиков.
И студентам такие вопросы задавать не следует. От студента требуется умение быстро обучаться и логически мыслить. И надо проверить как-то, что он может хоть как-то, пусть криво, но решить поставленную ему задачу. Конечно я знаю до черта студентов с красным дипломом в области программирования, которые не способны пробежаться по массиву и найти сумму элементов, а уж тем более записать что-то в файл, но задание надо давать посложнее. Например пусть посчитает число уникальных слов в текстовом файле (эх, было время, когда я такую хрень с блеском провалил, так как начал мешать строки С (читал то я через fscanf) со строками std::string С++ и в результате огреб черти какой глюк, который не смог побороть за указанное время, хотя алгоритм и структура были нормальные и рабочие, если б не странности поведения компилятора — cтыдно до сих пор, облажался по полной . ). Более — менее рабочая задача кстати, поиск уникальных элементов приходится делать очень часто на практике, по крайней мере мне.
M>Незнание какая ф-ция используется для чтения из файла -- fail. M>Использование read() без open() -- fail.
А я думаю — незнание того что нужно читать и что с этим делать — вот это fail ...
а так — получите кучу обезьян , которые умеют открывать и закрывать файлы
Здравствуйте, mymuss, Вы писали:
M>Понимаете, дело происходит в Индии. Там такого как "помотреть код" или хотя бы проверить референс в принципе невозможно. 90% резюме выдуманные с перлами типа "15 лет опыта в .NET", коллеги из индийского офиса делают телефонный pre-screen, но и этого не хватает, не знаю, что они там шпорами обкладываются, или коллективный разум.
M>Один известный блоггер, который нанимает людей в Китае (не ИТ), использует такой метод: первый вопрос "сколько квадратных метров в квадратном километре?" Не знает -- no hire. Говорит, 90% кандидатов засыпаются. Он тоже неправ?
M>Скажем так, если бы человек перепутал порядок параметров в File.Open(), то я бы просто отметил у себя, что следует погонять по фреймворку, но ответ засчитал бы. Но как правило, таких мало. Чаще либо знает, либо вообще ступор без малейшего понятия в какую сторону копать.
так бы сразу и сказали. а насчёт проверки результата open — вы до сих пор используете чистый C???
Здравствуйте, alzt, Вы писали:
A>Если дать мне листок бумаги и время подумать — подберу коэффициенты, но вспомнить точно не смогу.
Не надо ничего подбирать. Береш круг и нарезаешь его на дольки. Эти дольки выстраиваешь в ряд. Получаешь ряд треугольников. Высота каждого — примерно равна радиусу круга r, сумма длин оснований — 2*П*r. Сумма площадей соответственно — r * (2*П*r) / 2. В итоге — П*r^2
Здравствуйте, mymuss, Вы писали:
M>Как я уже не раз писал, помощь по библиотечным ф-циям предоставляется. Конечно, хотелось бы, чтоб кандидат хорошо знал фреймворк, иначе будет заниматься изобретательством велосипедов. Но если человек последние Х лет только с вебсервисами работал, то неудивительно, что он забыл IO. Однако в этом случае я сделаю себе пометку: поговорить по фреймворку и буду ожидать, что, скажем, System.Xml он знает хорошо.
C System.Xml тоже самое, на практике весь этот Xml оборачивается так, что не знаешь, что внутри Xml, текстовый файл, база, класс, вебсервис или еще что. Соответственно хорошее знание System.xml будет у того, кто вместо оборачивания этого все время копипастил, и ему было не лень. А то, что используется на практике очень часто — это различные коллекции.
M>Мое мнение такое, если человек вообще не знает стандартные средства (.NET class library, STL, boost, whatever) то это junior.
Если я перехожу с .NET на Perl допустим, и у меня 10 лет опыта, то даже если я ни синтаксис перла, ни его библиотеки в глаза не видел — у меня один черт квалификация будет больше, чем у джуниора, на среднего я точно потяну. А когда набью руку (а я набью ее меньше чем за год), то снова стану сеньером. И относительно библиотек — проверять надо не на доскональное знание всего этого, а на предмет того, знает ли он о том, что в этих библиотеках содержатся. Не надо знать имена, передаваемые параметры, надо знать только что приблизительно есть в библиотеках, что библиотеки есть, что перед тем как городить собственный велосипед надо посмотреть, нет ли этого уже в библиотеках. Ну и можно поспрашивать — как бы они реализовали библиотечный класс, если бы были авторами фреймворка.
PS Я похожие рассуждения о требованиях к кандидатам чаще всего слышу от людей, которые очень быстро сделали карьеру, но так и не успев научиться программировать. И в результате они очень далеки от понимания того, чем же занимаются разработчики под их руководством, и кого им следует искать.
Здравствуйте, mymuss, Вы писали:
M>Как я уже не раз писал, помощь по библиотечным ф-циям предоставляется. Конечно, хотелось бы, чтоб кандидат хорошо знал фреймворк, иначе будет заниматься изобретательством велосипедов. Но если человек последние Х лет только с вебсервисами работал, то неудивительно, что он забыл IO. Однако в этом случае я сделаю себе пометку: поговорить по фреймворку и буду ожидать, что, скажем, System.Xml он знает хорошо.
Я, например, помню только то, с чем работал последние несколько недель. То
есть ответить на вопрос по большей части фреймворка я просто не в состоянии.
Скажем, по поводу записи в файл могу только сказать что файл нужно открыть,
записать в него что-нибудь и закрыть. Если же это нужно сделать на практике,
заглядываю в свои старые программы или в Интернет.
M>Мое мнение такое, если человек вообще не знает стандартные средства (.NET class library, STL, boost, whatever) то это junior.
Ну, не все так просто. Несколько лет назад я участвовал в большом проекте по написанию
системы реального времени для управления полиграфическим оборудованием на языке
Си. Мой коллега, который был специалистом по системам реального времени и написал
значительную часть этой программы, понятия не имел о том, как в языке Си записать что-нибудь
в файл. И это не мешало ему успешно работать (мы работали в среде,
в которой вообще не было понятия файла).
FD>>Но я надеюсь, что senior'ам на собеседовании ты таких вопросов не задаешь ?
M>На собеседование приходят только синьоры и не менее 15 лет опыт в .NET M>Региональная специфика
Ну, если бы у меня на собеседовании стали спрашивать про разного рода технические
детали, то я бы интервьюера вежливо послал . (Правда, такое интервьюеры за
последние годы попадались всего пару раз). Но у нас это, наверное, тоже региональная
специфика — у senior'ов не принято спрашивать технические детали.
E>>Решение о приеме на работу всех разработчиков, которых я взял в отдел, было принято еще ДО технического интервью, просто поговорив о прошлых проектах, об интересах, о причинах смены места работы, о желаемых переспективах и направлении развития и т.п. E>>При этом, в ходе технической части собеседования, на ряд вопросов некоторые ответить не смогли. С тех пор они успешно работают и я ими очень доволен
M>Ну понятно, завалить можно кого угодно. Не бывает кандидата, который бы ответил на все вопросы. Но те о которых Вы говорите, они засыпались на вопрсах такого же порядка сложности?
Просто жизненную задачу давали, посложнее этих, конечно, и смотрели как человек над ней думает, какие вопросы задает, как быстро въезжает в требования. Кто-то решает, кто-то нет, кто-то предлагает стандартные ходы, кто-то нестандартные. Я же не об этом. Я о том, что техническое собеседование при определенном подходе можно вообще без технического собеседования обходиться. А если вы зададите свои три вопроса человеку, который уже поработал разработчкиком в какой-нибудь серьезной компании, сами подумайте, как это для него будет выглядеть. Ну если студентов молодых берете, еще куда ни шло.
Здравствуйте, Lloyd, Вы писали:
L>Не надо ничего подбирать. Береш круг и нарезаешь его на дольки. Эти дольки выстраиваешь в ряд. Получаешь ряд треугольников. Высота каждого — примерно равна радиусу круга r, сумма длин оснований — 2*П*r. Сумма площадей соответственно — r * (2*П*r) / 2. В итоге — П*r^2
осталось доказать, что неучтённая площадь пренебрежимо мала
Здравствуйте, SE, Вы писали:
SE>Здравствуйте, ihatelogins, Вы писали:
I>>Чем принципиально отличается знание для программиста площади круга от знания тезисов 20-го съезда КПСС?
SE>Чем принципиально отличается умение сосчитать до десяти от знания площади круга? SE>Есть общечеловеческий бекграунд. Нам его дают в младших и средних классах школы. SE>Площадь круга — это проверка не на профессионализм программиста, это проверка на то, что человек школу закончил.
Нуну. Вот альдегиды тоже в школе проходят, тоже в своем роде "общечеловеческий бэкграунд". Ну давай теперь распрашивать кандидатов про получение и применение альдегидов. А ведь еще и физика есть, и биология.
Мой вердикт: самоутверждение перед кандидатом — единственная причина подобных "вопросов".
топик почитал. жестко. в том смысле, что если вы хайрите в индии, то там вряд ли девелопер ответит на эти 3 вопроса.
а тот, кто ответит — к вам не заходит видимо, судя по вашим отзывам.
возможно мало предлагаете денег. приличный девелопер в бангалоре стоит не сильно меньше русской провинции.
так я о чем? вы там давно? в душе простого индо-девелопера уже разобрались?
эти "сеньеры с 15 лет" — не могут сами ничего родить. но могут копать "от забора до обеда" без перерыва на обед.
и еще. если вы выберете самых сообразительных из тех, кто к вам приходит, то или вы им зарплату быстро поднимите, или они от вас свалят "как только, так сразу".
все из собственного опыта.
для России — вроде нормальные вопросы для завязывания беседы. мне бы не влом было ответить.
...хотя когда я спрашивал про разницу между интерфейсом и абстрактным классом, обычно извинялся, что типа проверяю адекватность базовых знаний. во
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, BulatZiganshin, Вы писали:
BZ>>осталось доказать, что неучтённая площадь пренебрежимо мала
L>Это уже мелочи.
Нарисовать и показать что при увеличении количества долек в 2 раза оставшаяся площадь уменьшается более чем в 2 раза, и можно будет взять с полки пирожок.
-----
Любимая фраза физика-теоретика: "Вот видите, мы ошиблись всего лишь на порядок".
Здравствуйте, ihatelogins, Вы писали:
SE>>Площадь круга — это проверка не на профессионализм программиста, это проверка на то, что человек школу закончил.
I>Нуну. Вот альдегиды тоже в школе проходят, тоже в своем роде "общечеловеческий бэкграунд". Ну давай теперь распрашивать кандидатов про получение и применение альдегидов. А ведь еще и физика есть, и биология.
Какие же вы нудные, а. Один про сочинения вспомнил, второй про альдегиды.
Искал бы химика, спрашивал бы про альдегиды. Искал бы спичрайтера, попросил бы сочинение написать. Ищу программиста — проверяю его алгоритмический и математический бекграунд. Предваряя вопрос: искал бы математика, спросил бы что нибудь из теории множеств.
I>Мой вердикт: самоутверждение перед кандидатом — единственная причина подобных "вопросов".
Пожалуй соглашусь. Бывает правда, что самоутверждение получается случайно. Просто в силу низкого уровня кандидата.
Впрочем за последние пару лет проведения собеседований, я отсеял только двоих.
Джуниора, которые неадекватно общался, в стиле "На воле я в авторитете, всех знаю, все меня знают". И человека обвешанного сертификатами, но явно вообще без знаний, необходимых для получения этих самых сертификаты.