- PVSM.RU - https://www.pvsm.ru -
На днях я прочитал прекрасный текст "Я видел халтуру в лицо" [1] про whiteboard interview (это когда перед кандидатом ставят доску или кладут листик бумаги и говорят: "напиши на доске вот такую программу"). В статье все по сути правильно, только немного в стиле плача царевны по утраченной молодости, ну, и главные дураки, конечно, – кандидаты. Но открою секрет: те, кто нанимают – тоже часто дураки, ведь кандидаты сами рано или поздно оказываются в позиции нанимающих, а дурость-то никуда не уходит.
На самом деле дурость, большинства кандидатов иллюзорна и происходит от того, что они не сильно понимают правила игры, да и с другой стороны играют не всегда честно. Разберемся, как оно в жизни-то и как с этим справляться.
Начнем с того, что у интервьюера, на самом деле, не обязательно стоит цель нанять. Иногда ему нужно ровно обратное, как бы странно это не звучало. Это может быть какая-то внутренняя политическая игра, или желание самоутвердиться: будем честны, мы, программисты, – ведь те еще снобы и зазнайки.
Даже если вас хотят взять, перед вами может быть упертый баран, который даже может и часто проводит интервью, и может даже делает это года три или пять лет, но за это время ни минуты времени не потратил на то, чтобы понять, а почему и зачем он задает эти вопросы? И, тут внимание! Почему он засчитывает только определенные варианты ответы: ни шагу в сторону и даже вверх (в стиле: вы слишком усложняете, я не о том вас спрашивал и проч).
До тех пор, пока я сам не стал проводить технические интервью, мне казалось, что на противоположной стороне стола сидят не люди, а боги. В реальности в большом проценте случаев, интервьюер разбирается в вопросе хуже вас – и это, кстати, совершенно нормально. В компании его держат по совокупности разных факторов, и его цель измерить вас, а не помериться знаниями или чем-то еще.
Т.е. приходя на интервью, помните, что если человек заинтересован вас нанять, то он не будет вас сознательно валить, он наоборот будет выяснять (методом научного тыка) глубину и ширину ваших знаний. Этот человек может чего-то не знать, в чем-то не разбираться и даже ошибаться – это тоже нормально. Важно, насколько вы сможете объяснить друг другу: он – цели и задачи, вы – свои способности и пожелания.
Это весьма важное соображение. Хорошей интервьюер пытается понять, как вы решаете задачу. А правильное решение он знает и без вас. Или не знает совсем, но тогда ему тем более важен путь, который вы прошли до решения.
Вот опять про баранов. Есть люди, которые ждут от вас правильных ответов. Ну, что тут поделать? Рассказать историю из жизни СПбГУ.
На Физическом Факультете СПбГУ самым сложным предметом была… военная кафедра. Там ничего нельзя было понять, а можно было только зазубрить: нельзя было менять обозначения переменных, все формулы были представлены в максимально сложном виде (и их нельзя было упрощать), про интегралы нужно было забыть, про гениальный курс по радио-физике, который вам только что прочитали, — тем более. Одним словом — беда, особенно для тех, кто в физике действительно разбирался.
Если вы попали к человеку, который хочет услышать от вас правильный ответ, то ничего вы с этим сделать не сможете. Биться и давить интеллектом — бесполезно. Но зато из такого интервью можно извлечь косвенную информацию о том, что там происходит внутри компании. Ничего хорошего: засуха и уныние.
Я как-то и сам был в такой ситуации. Мне постоянно тыкали майкрософтом, хотя мы говорили о совершенно абстрактных вещах. Потом оказалось, что у майкрософта есть какой-то то ли текст, то ли директива: “всем людям с интерпрайзом головного
Кстати, это самое больше разочарование и самая большая ошибка, которая отпугивает сильных кандидатов [3]: если человек чего-то не знает, но предлагает это вывести, придумать, поговорить об этом — это находка, но часто интервьюер говорит “стоп, мне не интересно”, и ставит себе в бумажку минус. А кандидату в этот момент скучно и уныло, потому что он понимает, что никакие его способности решать проблемы компании не нужны. И, поверьте, это просто не ощущение, скорее всего внутри компании действительно не нужно решать сложные технические проблемы.
Но все-таки, что делать кандидату во время white board interview, чтобы пройти его максимально хорошо? Тут я исхожу из предположения, что вы попали к вменяемому интервьюеру, который не хочет вас завалить (но это не значит, что он будет вас спасать).
Почему: Если вам дали задачу, которая требует озарения (т.е. максимально плохую из всех возможных задач [4] ), то, конечно, никакие рассуждения вам не помогут. Во всех остальных случаях интервьюеру интересно именно то, как вы идете к решению.
Если же вас все-таки завалили на интервью, то мой совет: напишите этим идиотам хлесткое письмо о том, что вы занимаетесь действительно сложными вещами, а раз вас пытались заставить написать на доске алгоритм, то они ищут кодера, а не такого серьезного человека как вы. После этого расслабьтесь и идите читать очередную мутную книгу про про то, как писать xml-конфиги.
И весь мой текст, конечно, не отменяет того, что вы знаете все про мясо и кости: структуры данных и алгоритмы. Но про это очень легко найти в интернете по запросу hacking code interview. Иначе, конечно, мой первый пункт (“Всегда говорите”) сделает вам только хуже. Всегда учитесь!
Автор: planerist
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/interv-yu/95834
Ссылки в тексте:
[1] "Я видел халтуру в лицо": http://feldgendler.livejournal.com/155234.html
[2] мозга: http://www.braintools.ru
[3] отпугивает сильных кандидатов: http://2diggers.ru/performance-based-hiring/top-performers
[4] т.е. максимально плохую из всех возможных задач: https://medium.com/@jakob/coding-interviews-bef842f8fb62
[5] Источник: http://megamozg.ru/post/18440/
Нажмите здесь для печати.