adda_ wrote:Скажите пожалуйста, у вас программисты код на доске пишут? Я почему то думал что для этого есть компьютеры.
Код
на доске на интервью пишут во всех приличных компаниях в долине. Там где кода писать не просят часто оказывается много людей, которые умеют красиво рассказать о предыдущих проектах и умно порассуждать о технологиях, но на практике мало что способны сделать. Я лично при найме на работу не пойду работать в компанию, где меня во время интервью не попросят писать код на доске, а вместо этого будут задавать вопросы о "most challenging problem", которую я решил в предыдущем проекте и о том, что я буду делать когда я считаю, что мой менеджер не прав.
adda_ wrote:
Вы знаете, я довольно таки долго работал преподавтелем и могу вас сказать, что у доски можно завалить любого, не зависимо от уровня знаний и опыта. Причем все будет сделано объективно, не знает ХХ, УУ и так далее..
Я не ставлю себе цели завалить кандидата или самоутвердиться, мне тоже уже далеко не 20 и не 30, мне это не нужно. Я всего лишь пытаюсь выяснить достаточно ли у кандидата знаний, чтобы выполнять работу, на которую его нанимают.
adda_ wrote:
Я не могу и не собираюсь оспаривать ваши мудрые выводы по поводу данного кандидата, но мне просто интересно, как он умудрился работать программистом все эти годы?
А так и работал. Вы в своей жизни мало видели кривого кода, написанного людьми слабо понимающими, что они делают?
adda_ wrote:
Я поясню чтобы два раза не вставать.
Есть два подхода к интервью. Одни - выяснить что человек не знает. Второй - что он знает.
Есть два типа интервьюеров. Один - пытается показарть какой он крутой путем заваливания кандидата. Другой - пытается выяснить, что есть у кандидата хорошего и как его можно будет использовать лучшим образом в своем коллективе.
Я тоже патаюсь выяснить что он знает. Но если кадидат на principal позицию не способен отвечать на элементарные вопросы или путается в базовых понятиях, то я не считаю, что его можно будет "использовать лучшим образом в своем коллективе".
Отвечу заодно на другое сообщение.
Papa Hotel Whisky wrote:А я делаю еще проще. Никогда не спрашиваю на интервью то, что можно за две минуты найти в документации.
Мне не важно, знает ли человек, сколько параметров у той или иной функции и какого они типа. Потребуется - найдет.
Я тоже таких вопросов не задаю, это глупо, я тут согласен.
Papa Hotel Whisky wrote:Мне важно как он мыслит. Даю конкретную задачу (обычно из практики) и прошу на словах объяснить подход к решению. Потом лезем вглубь и разбираем отдельные нюансы, уже с использованием доски. Модель данных, необходимые процессы и преобразования, основные переменные и их передачу и т.п. Но писать на доске работающий код - верх идиотизма.
Я начинаю с вопросов по основам C++, потом даю простую задачку, которая решается в пару строк и таки ожидаю работающего кода. Также даю задачи, которые подразумевают не написание кода, а нахождение алгоритма решения, после чего обсуждаем эффективность этого решения, скорость работы предложенного алгоритма и т.п.
Для примера упомянутый мной кандидата с 20+ годами разнообразного опыта ответил на вопрос когда и зачем нужен виртуальный деструктор. Вопрос элементарный и задается наверное на 90% интервью, предполагающих знание С++. Чтобы убедиться, что он не просто дал мне заученный ответ (с чем я уже сталкивался), я попросил его написать те самые 3 строчки кода, в которых проявится проблема в случае невиртуального деструктора. После 2 попыток написать ничего внятного он не смог. Это был далеко не единственный прокол. Сможет ли он работать и писать код? - наверное да, ведь писал же как то на предыдущих работах. Хочу ли я, чтобы его код был в проекте, над которым я работаю - пожалуй нет.