Как пройти собеседование в FAANG: статистика
Нас нередко спрашивают (в статьях о Facebook, Spotify, софт скиллах), как понять, что ты можешь успешно пройти собеседование в Facebook/Amazon/Apple/Netflix/Google. Сейчас это особенно актуально, потому что многие IT-гиганты в США начинают нанимать на удалёнку. Так какие факторы позволяют предсказать успех? А кому на собеседования лучше не ходить, чтобы не тратить время?
Interviewing.io недавно опубликовали результаты исследования о том, какой процент людей проходит каждый этап интервью, и что определяет успешность кандидата.
Компания узнала у пользователей, как далеко они продвинулись в воронке найма трех популярных IT-гигантов: Amazon, Facebook и Google. Про каждую компанию ответили как минимум по 150 человек. Этапы, которые они проходили:
Подача заявки
Скрининг-звонок с рекрутером
Техническое интервью по телефону
Тестовое задание
Онсайт-интервью
Получение оффера
Принятие предложения о работе
Чтобы определить, что влияет на удачное прохождение этапов собеседования, в опросе учитывались:
Пол
Наличие образования по специальности
Сколько собеседований человек посетил до этого (не мок-интервью)
Как кандидат учился кодить
Как давно он в последний раз искал работу.
Главный вывод такой:
Большой опыт в реальных технических собеседованиях — основной фактор, определяющий будущий успех.
Для всех трех компаний результаты скрининга были сильно выше у тех, кто до этого прошёл 5 и более технических интервью — по сравнению с людьми, кто собеседовался в первый или во второй раз.
В Amazon пройти отбор было проще, но тенденция сохранялась:
Других серьезных статистических отклонений исследователи не выявили. Пол, возраст, образование, личная оценка своих знаний — большого значения не имели. Выборка не очень большая (158–171 человек), и разница — всего несколько процентов, поэтому однозначно сказать о существовании зависимости там нельзя.
Судя по этим данным, единственный показатель, по которому можно понять, что вы готовы успешно пройти собеседование в FAANG — это количество предыдущих технических собеседований, в которых вы участвовали.
Конечно, это не магия, после пятого собеседования люди не становятся внезапно умнее. Но они точнее понимают, что от них хотят, и достигают требуемого технического уровня. А неудача после общения с реальными людьми мотивирует на прогресс лучше, чем просто свои эфемерные представления о том, что они чего-то не знают.
Многие кандидаты рассказали, что плохое выступление на собеседовании выявило области знаний, где они недостаточно компетентны по мнению компаний.
Одна соискательница использовала неудачу на собеседовании в Google, и не только устранила пробелы в знаниях, но и в целом настроилась на углубленное изучение технических вопросов. Это пригодилось на следующем собеседовании в Facebook:
Моим слабым местом было устаревшее понимание алгоритмов и структур данных. Поэтому я изучила ключевые структуры данных в CLRS, в том числе двоичные/биномиальные кучи и красно-черные деревья. Это оказалось актуальным при попытке пройти в Facebook.
Успешные респонденты упражнялись на LeetCode и подобных площадках, читали Cracking the Coding Interview (на русском — «Карьера программиста»). Автор книги как раз и рассказывает, на что смотрят рекрутеры крупнейших американских компаний, а также разбирает настоящие вопросы и тестовые задания из своей практики.
Фактором также становится то, что на технических собеседованиях требуется другой формат общения — не тот, к которому люди привыкли в вузе или на работе. Некоторые кандидаты отмечают, что для них непривычным было то, что недостаточно правильно решить проблему. Ожидается, что вы также будете детально объяснять своей мыслительный процесс по мере её решения. А это многим дается только с практикой.
Оцениваются не только навыки решения проблем: важно, насколько просто с вами общаться, как вы работаете в команде, будете ли сотрудничать с коллегами и так далее. Они ищут человека, который хорошо впишется в существующую среду. Если при решении задачи вы объясните, что делаете и почему — это уже большой плюс. Я прошел много собеседований (и провел ещё больше сеансов парного программирования), поэтому для меня это было естественно.
А один из кандидатов пошел еще дальше и заново выучил язык программирования, чтобы яснее выражаться на собеседованиях:
Мне кажется, Python гораздо лаконичнее и выразительнее Java, C# или C ++, которые я использовал раньше. Не нужно писать все эти скобки и точки с запятой, поэтому мозг и руки освобождаются, чтобы глубже погрузиться в проблему и лучше взаимодействовать ссобеседниками. Я не продвинулся по иерархии силы аргументов Пола Грэма, но на собеседовании общение — самая важная вещь, и Python позволяет мне общаться с интервьюером лучше, чем C ++.
Идея, что Python может быть лучшим языком для прохождения собеседований в FAANG — не такая безумная. Пробные мок-интервью, проведенные на Python, занимают второе место по успешности (т.е. по количеству тестовых «приглашений на работу»).
Самый высокий процент успеха, впрочем, у C ++. Так что, если верить статистике, кандидатам стоило бы придерживаться C ++. Правда, велика вероятность, что эти данные страдают от систематической ошибки отбора. Люди, знающие C ++, могут значительно отличаться от людей, которые выбрали для себя Python. Так что лучше, пожалуй, использовать то, в чем вы уверены, и что работает для вас. Для последнего кандидата Python, пусть даже выученный заново, сработал лучше, чем C ++.
P. S. Хотите пройти собеседование в компанию своей мечты? Подключайте телеграм-бота @g_jobbot. Тысячи компаний, в том числе на удалёнку. И только интересующий вас уровень по зарплате.
Например, в боте можно вызвать себе в помощь IT-рекрутера командой /human. Он поможет упаковать опыт, прокачаться в нужном направлении и ворваться в компанию уровня FAANG на коне.