Sunday, January 22, 2017

Challenge yourself

Несколько лет назад меня пригласили на интервью в Facebook. Собес был жесткий, приглашение на работу я не получил. Сделав необходимые выводы, я стал получать сильные офферы в других компаниях. Время идет, и через pipeline детища Цукерберга проходит один мой друг за другим. Ниже я поделюсь своим обобщенным опытом, который будет полезен для каждого кандидата. Несколько знакомых подтвердили, что та же структура собеседований применяется и у других крупных игроков – Google, Amazon, Twitter.

Итак, первым этапом будет скринниг-собеседование с рекрутером и online code challenge. О таком в интернатах написано уже немало, потому здесь упустим.

Следующий - «финальный» этап - предполагает личную встречу с интервьюерами в одном из офисов компании, или в отеле/конференц-центре, например. Собеседование делится на 4-5 частей, которые обычно включают в себя кодинг, архитектуру и вашу мотивацию. К чему же следует подготовиться?

1) Учитесь реально писать код НА ДОСКЕ. Не в IDE, не на листике в клеточку. А на большой доске, причем стоя. Совсем другие ощущения.

2) Сами задачи на кодинг – весьма стандартные. Их можно найти на сайтах типа HackerRank и Glassdoor. Глубокого знания всех-всех алгоритмов не требуется, скорее быстро придумывать решение, итеративно улучшать его и учитывать граничные случаи.

3) Вопросы по системному дизайну – показались мне сложными. В случае мобильной разработки здесь может быть задача полностью спроектировать часть приложения, включая api endpoints. Интервьюер не скажет, чего именно от вас ждет, вы должны сами развить тему.

4) Будет вопрос о мотивации – кто вы, и почему вам нужно попасть в компанию. Советую хорошо подумать и ответить на эти вопросы, по крайней мере, для себя.

5) Кандидатов всегда много, потому есть вероятность, что собеседования будут идти в две смены. Очень рекомендую собеседоваться в первой половине дня. Голова будет свежее не только у вас, но и самих интервьюеров.

6) Книга "Cracking the coding interview" стала классикой жанра. Удивительно, но она продолжает оставаться актуальной, и сами рекрутеры могут посоветовать вам её прочесть.

7) Золотое правило рекрутинга во всех крупных корпорациях : лучше не нанять хорошего сотрудника, чем нанять плохого сотрудника. Будьте готовы к высоким требованиям и внимательны к мелочам.