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

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

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

Date: 2013-05-13 03:16 pm (UTC)
From: [identity profile] meshko.livejournal.com
А какие вопросы вам нравятся?
Мне вопрос кажется нормальным. Идея в том, чтобы посмотреть, как кадидат будет читать простой и короткий код и разбираться, как он работает. Зачем бояться сказать интевьюеру о том, что в коде ошибка? Если сказать об этом вежливо, то что страшного может произойти? Есть три вариаента реакции:
1) Да, отлично, это именно остаток и тут он дейсвтительно не проверяет параметры, молодец, следующий вопрос...
2) Упс, да, а я и не подумал, спасибо! Следующий вопрос...
3) Да вы что!! Какая ошибка? Да вы кто такая???

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

Date: 2013-05-13 07:29 pm (UTC)
From: [identity profile] polenova.livejournal.com
Ответ номер один, строго говоря, неверный. У функции различное поведение в зависимости от параметров, откуда я могу знать, какое поведение они имели в виду? (ну кроме двух нулей, там она просто циклится, вряд ли кто-то мог иметь в виду именно такое поведение). Догадываться по неверно написанному коду, что именно имел в виду программист, занятие довольно опасное в реальной жизни. По этому коду можно с уверенностью сказать только что для двух положительных параметров результатом будет остаток от деления, а что они на самом деле хотели написать - да бог их знает. Функция-то private, т.е предназначена для какого-то конкретного класса. При этом static - значит мемберами класса не пользуется. Представить себе дизайн, при котором необходимо имплементировать частный случай системной функции mod в таком виде мне затруднительно, на мой взгляд это хреновый дизайн. Вопрос при этом звучит - "как бы вы назвали эту функцию?". Ну я и назвала - Bullshit, а как еще называется такой венец програмистской мысли? Ответ номер 2 означает что меня интервьюирует человек, который совершает ошибки, непростительные школьнику. Ну номер 3 и обсуждать неинтересно. Если я не умираю с голоду, то я на этом интервью закончу, меня не устраивают все три ответа. Если я умираю с голоду и готова хвататься за любую работу - я пойду формы рисовать на Вижуал Бэйсике - платят столько же и дурацких вопросов не задают.
Хитропопые садисты мне тоже попадались, но с ними тоже вопрос ясен.

Date: 2013-05-13 08:02 pm (UTC)
From: [identity profile] meshko.livejournal.com

Догадываться по неверно написанному коду, что именно имел в виду программист, занятие довольно опасное в реальной жизни.


Вообще-то это то, чем программисты занимаются примерно 50% рабочего времени.

June 2025

S M T W T F S
123 4 5 6 7
8 910 11 12 13 14
15 16 17 1819 20 21
22 23 24 25 26 27 28
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 28th, 2025 06:21 pm
Powered by Dreamwidth Studios