avva: (moose)
avva ([personal profile] avva) wrote2013-05-13 01:17 am

альтернатива физзбаззу

Цитирую из подзамочной записи с разрешения автора, который работает в американской компании и интервьюирует программистов:
Интесная закономерность выявляется. Мы начинаем интервью с того, что просим кандидата прочитать вот такой код, и сказать, что он делает. Как бы он назвал эту функцию?

private static int ok(int a, int b) {
   while (a >= b) a -= b;
   return a;
}

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

[identity profile] recontemplator.livejournal.com 2013-05-13 10:51 pm (UTC)(link)
Бывает, что кандидат, и прямо на интервью, вместо ответа на вопрос, высказывает суждение о качестве вопроса. Иногда, идет дальше и высказывает (зачастую парадоксальные) предположения о мотивах задающего вопрос, и о том, как именно (по мнению кандидата) спрашивающий намерен интерпретировать ответ (повторюсь, это всё делается ВМЕСТО ответа).
Все такие кандидаты (из числа тех, кого мы всё же решались попробовать) оказались не очень эффективны в роли профессиональных разработчиков ПО (по крайней мере, говнокомпания в которой я работаю, ни одного из таких "творчески мыслящих" "адаптировать" не смогла). Возможно как авторы своих хобби-проектов, они просто боги программирования.

Это я про тех, кто достаточно отважен, чтобы высказать свою позицию прямо на интервью. Тех, кто потом сублимирует свое негодование в комментариях в интернете, и рассказах друзьям и знакомым, о том как сложно быть непонятым и непризнанным - предположительно, гораздо больше. Но тут, у меня свидетельства скорее косвенные, поэтому от дальнейших спекуляций на эту тему - воздержусь.

no offence, просто решил подыграть Вашему троллингу. Если Вы это всерьёз, тем более: no offence.

Кстати, конкретно ЭТА задача, равно как и FizzBuzz мне лично не очень нравятся. Я стараюсь, чтобы у каждого пришедшего на собеседование, остался "привкус лесных ягод", а даже по количеству батхерта в комментариях тут, как бы намекает, насколько сложно будет достичь этой цели, если не побрезговать подобными задачками.

[identity profile] raydac.livejournal.com 2013-05-14 05:37 am (UTC)(link)
я поработал в более чем десятке контор и в своей собственной и побывал на десятках собеседований и проводил немеряно собеседований тоже, так что могу с уверенностью сказать - такие задачи это отстой не показывающий ничего

[identity profile] recontemplator.livejournal.com 2013-05-14 12:11 pm (UTC)(link)
Противоречия между тем что я написал, и тем что Вы поработали в 10+ конторах нет.

[identity profile] raydac.livejournal.com 2013-05-14 12:19 pm (UTC)(link)
ну Вы меня обвинили в троллинге, я объяснил, что тут нет троллинга и я просто высказал свое мнение

[identity profile] beldmit.livejournal.com 2013-05-20 06:21 pm (UTC)(link)
Такая задача мне нравится, она вполне вменяемая. А вот "что выдаст p+++++p" - нет, вариацию на эту тему по топику "идиотские вопросы на собеседованиях" вполне регулярно находятся.

Про приведенный [livejournal.com profile] avva код я готов на собеседовании говорить, и такое (или его аналоги из других областей) в реаллайфе встречаются. p+++++p - если встречаются, то туда, где такой код требуется понимать в степени большей, чем ключевые слова "неопределенное поведение, переписать", соваться не надо.

[identity profile] avva.livejournal.com 2013-05-20 06:31 pm (UTC)(link)
С этим я согласен, терпеть не могу вопросы типа p+++++p и никогда их не задаю.

Кроме того, я обычно игнорирую в коде кандидата синтаксические ошибки, неправильные имена или аргументы стандартных функций, ипроч. ипроч. Меня это все практически не интересует. Если кандидат пишет на C++ и не помнит (даже после предупреждения, что я прошу не псевдокод, а настоящий код), что надо переменные объявлять - это определенный повод для беспокойства. А если он, скажем, когда пишет код от руки, не в том месте ставит тильду в определении деструктора или не помнит порядок аргументов в вызове memmove, я не придаю этому никакого значения.