В прошлой статье я рассказал о подготовке к очному интервью в Facebook. Сегодня я начну рассказывать о том, как оно проходило, и начну с первой из четырёх секций — поведенческом интервью.
Disclaimer. ❗️ Это статья из цикла рассказов о том, как я проходил собеседования в различные IT-компании. В этих статьях я из этических соображений не раскрываю задачи, которые мне давали. Цель этих статей — сформировать картину того, какие знания и навыки требуют от кандидатов на позицию разработчика современные IT-компании.
Правда сперва я расскажу, что делал в день интервью непосредственно перед тем, как на него пойти. Facebook поселил меня в отеле буквально в пяти минутах ходьбы от их офиса. Моё очное собеседование начиналось в 12:00, а выселиться надо было в 11:00. Моей главной целью в то утро было «размять мозги», чтобы прийти на собеседование уже в тонусе. Поэтому я распланировал своё утро так, чтобы уделить минимум 1 час решению алгоритмических задач.
Сразу после завтрака я открыл мой любимый leetcode.com и приступил к решению задач. Быстренько сдал первую попавшуюся easy-задачку и взял задачу уровня medium. Вообще я собирался за час решить 2-3 medium задачи, но что-то пошло не так. Я застрял на первой же medium-задаче — решение придумалось быстро, но вот сдать код в систему никак не получалось. Я и тесты придумывал, и по шагам отлаживал, и в каждую строчку вчитывался, но всё безрезультатно — leetcode не принимал решение. В итоге к концу часа, отведённого на решение задач, я всё-таки обнаружил у себя оплошность, на которую вообще не обращал внимания, и сдал задачу в систему.
Я это рассказываю так подробно, чтобы показать, что несмотря на мой опыт программирования, решения алгоритмических задач и прохождения собеседований, в день интервью ко мне все равно пришёл он — стресс. Именно поэтому очень важно было как следует подготовить голову к дальнейшей работе. Благодаря разминочному часу я проделал все шаги, с которыми кандидат сталкивается на реальном собеседовании:
➡️придумывание алгоритма
➡️его реализация на языке программирования
➡️тестирование и отладка программы
➡️исправление ошибки
К тому же я зарядился позитивом от того, что всё-таки сдал задачу в отведённое время. Несмотря на возникшие трудности, я с ними справился, и это придало уверенности в себе.
Наконец, перед выходом из отеля я сделал ещё одну, весьма необычную вещь. Когда готовишься к интервью, ты всегда собираешься сделать для подготовки больше, чем тебе удаётся на самом деле. Так как в день интервью возникает волнение и стресс, в голову начинают лезть мысли:
— Та-ак, а вот те задачки-то ты не прорешал... 😈
— А помнишь статью про Facebook TAO? Ты же прочитал из неё только половину!
— А за последнюю неделю ты ни разу не писал код на доске. Ты уверен, что ты не растерял этот навык?
Если дать этим мыслям разгуляться, можно прийти к выводу, что ты вообще плохо подготовился, и у тебя ничего не получится. Чтобы этого избежать, я вслух проговорил всё, что я сделал для подготовки: сколько задач я прорешал, какие статьи прочитал, какие видео посмотрел и т.д. Я проговаривал эти вещи до тех пор, пока внутри не возникла уверенность, что я готов. И после этого вышел из отеля и отправился в офис Facebook.
Хм, в начале статьи я сказал, что расскажу про поведенческую секцию, но пока о ней даже не обмолвился. На самом деле, про неё мне особо нечего рассказать, потому что это просто беседа, во время которой ты не понимаешь, что именно в тебе оценивают и какие сигналы ищут. У меня она проходила так.
1️⃣ Сначала интервьюер попросил рассказать о себе, а затем спросил, какие достижения на текущем месте работы я считаю ключевыми и почему. В процессе моего рассказа у меня возникало ощущение, что в какой-то момент мой ответ уже перестал быть интересен интервьюеру, и он просто ждёт когда я закончу.
Post #52
815