Беларус собесился в несколько компаний FAANG (и не только) и получил три оффера. Рассказывает о впечатлениях
Наш читатель (он пожелал остаться анонимным) в 2024 не терял времени даром — активно собесился в компании FAANG. И получил не один оффер! Как это было — он рассказал devby.
В какие компании собеседовался:
- Amazon
- Meta
- Databricks
- Waymo
- Несколько HFT-компаний (High Frequency Trading) .
Одно время я игнорил приглашения на собесы, а потом начал ходить сразу на все.
Собеситься в одну компанию мне показалось глупо: можно не получить оффер и расстроиться. Или получить и потерять 10-15% из-за того, что нет контроффера.
В результате я прошёл 25-30 собесов в разные компании (разговоры с рекрутерами не в счёт). Офферов было три, так что советы по успешному прохождению собесов лучше спрашивать у кого-то другого. Я расскажу просто о своих впечатлениях.
Техническая часть
В крупных ИТ-компаниях LeetCode-собеседования плюс-минус одинаковые: где-то предлагают запустить код, где-то нужно записать его в блокноте и убедить интервьюера, что он работает. Как правило, просят dry-run кода (и это идёт в оценку), то есть выполнить его построчно. И тут можно потерять много времени, если не потренироваться заранее.
Мне кажется, алгоритмической подготовки студента 1-2 курса достаточно для прохождения этого этапа: каких-то сложных алгоритмов не спрашивают, темы заранее известны, их можно потренить на LeetCode. В случае глобального затупа интервьюер подскажет, и это не будет означать провал собеса. Я нарешал чуть больше 50 задач на LeetCode, и, оглядываясь назад, понимаю, что стоило бы решить ещё столько же, чтобы уменьшить дисперсию.
Главная сложность в том, что на собесе ты ограничен во времени. Meta, например, ожидает, что ты потратишь всего 15-20 минут на одну задачу вместе с прогоном кода. Google адекватнее: дают 40 минут на задачу аналогичной сложности. Если решить быстрее, интервьюер скорее всего предложит дополнительный вопрос или задачу за дополнительные баллы, которые могут компенсировать затуп на предыдущем собесе.
Я на работе пишу на C++, на нём же проходил собесы. Оказалось, это очень плохая идея: времени на написание кода требуется много, когнитивная нагрузка очень велика. Особенно больно было тогда, когда код требовалось ещё и запускать (убедить интервьюеров в том, что плюсовый код работает, проще, чем написать его действительно рабочим).
Поэтому я посоветовал бы разработчикам, которые пишут на С++ (и ещё, может быть, джавистам) перейти во время интервью на Python. Конечно, если такая опция вообще есть. Так, у меня были собесы в компаниях вне FAANG, где настаивали только на C++.
System design и Behavioral
Про System design ничего умного сказать не могу: в Google L3/L4 и в Waymo на L4 этого вида интервью нет, в Meta я до него не дошёл, а в Amazon он довольно формальный, минут на 20. Я что-то задизайнил, и всё.
К Behavioral-секции обычно рекомендуют подготовить истории в формате STAR, но мои интервьюеры сами задавали вопросы. Когда я рассказывал какую-то историю, то просто смотрел на реакцию и фидбек интервьюеров и старался корректировать подачу. То есть этакое A/B тестирование.
Как я понял, на Behavioral проверяют не столько софтскиллы кандидата (достаточно не быть маньяком), а скоуп, который у него был на работе. Условно: рассказываешь истории про покраску одной кнопки — оценят на джуна, отвечаешь за крупный проект под ключ — скорее на сеньора. Самый большой фокус на Behavioral как будто в Amazon. На каждом собесе 20 минут отведено на поведенческие вопросы.
Из неочевидного в составлении резюме: внешний хедхантер посоветовал мне добавлять в каждый буллет-пойнт технологию/язык, на которой/м реализован проект. Я прислушался и буквально в каждую строчку на странице дописал С++, и это реально сработало: рекрутеры стали говорить «you have a lot of C++», и откликов стало больше
В какие компании собесился, что там заметил и какой итог
В Meta я подавался через рекомендацию. Список задач там известен (порядка 100), но требуется идеальное их решение за 15-20 минут. То есть проверяют скорее способность сидеть и монотонно решать для подготовки. Но при этом самые предсказуемые собесы — задачи известны и можно решить все заранее.
Я затупил на собесе + не получилось наладить коммуникацию с интервьюером (он из Индии и мне тяжело было понять акцент), в итоге не прошёл скрининг. Вернее мне предложили продолжить собеседование на уровень ниже (E5->E4), но я отказался. Это не лишало меня возможности снова попробоваться на E5 через полгода.
У Google я был в базе с 4-го курса (просто отправил туда резюме), и меня стали периодически приглашать на собесы. Компания как будто больше проверяет способность думать (моё впечатление). Задачи более рандомные (интервьюеры могут спрашивать, что угодно в рамках алгоритмов и структур данных из списка), слитые задачи быстро удаляют.
Принял приглашение на единственный раз и получил оффер.
В Amazon на меня вышел нанимающий менеджер — созвонились, он рассказал про команду, мне в целом понравилось, поэтому назначили собес. Кажется, в этой компании всё зависит от команды. У меня было довольно лайтово, по сложности из всех собесов они как будто внизу. Получил оффер. У моего знакомого в C3, наоборот, было очень сложно — так что тоже рандом.
В Databricks на меня вышел менеджер одного из их офисов. А я его подвёл в итоге. Это был самый сложный в плане оценки собес (должно было быть восемь этапов).
Сама задача несложная, но код должен обязательно выполняться и нужно придумать тесты. Я быстро запрогал, а потом минут 10-15 ловил различные сегфолты в коде, пока не закончилось время. На решение интервьюеры (их было двое и они как будто оба участвовали) сказали «looks good to me», а потом я получил отказ с фидбеком, что код не запускается, это автоматически означает «no hire». В общем они ожидают идеального решения.
В Waymo собес похож на гугловский, но код нужно запускать (задачи были больше на реализацию, чем алгоритмы). Задачи чуть интереснее давали (более open-ended. Получил оффер.
В Netflix я не пробовал: в Европе вроде нет вакансий.
Microsoft не рассматривал.
В Apple я получил отказ на этапе резюме.
Кризис подпортил офферы FAANG?
Кризис проявляется в том, что вакансии размещают в странах с низкими зарплатами. Наём переносят в Сербию, Польшу, Румынию, Индию и т. п. Раньше это могли быть Германия, Швейцария, Великобритания, Ирландию, Нидерланды. Там намного выше зп, а кроме того оттуда было бы проще перевестись в США через год работы.
С ходу в американский офис устроиться сложно, но через год работы можно попробовать перевестись по визе L1.
Кем надо быть, чтобы получить оффер от FAANG в кризис
Собеседование — это рандом: варьируется как сложность задач, так и стиль поведения интервьюеров. Есть такие, которым интересен твой ход мысли, тогда собес больше похож на диалог, в ходе которого вы вместе решаете сложную задачку. А бывает, интервьюер просто даёт задачу и смотрит, решишь или нет. Один мне так и сказал: «Не говори, а решай». Я решил — он мне поставил «hire».
Думаю, если бы сейчас мне дали ещё раз их все перепройти, то скорее всего какие-то офферы я бы не получил, но вместо них получил бы другие. Увеличить шансы помогает практика решения задач (десятков аналогичных) и практика самих собеседований.
Думаю, что после прохождения фильтра резюме и практики LeetCode любому среднему разработчику реально получить оффер в Amazon, Meta или Google — гением для этого быть не нужно. Достаточно студентом/начинающим разработчиком. Да, LeetCode требует времени и мотивации, но тут у джунов есть преимущество. Когда натренируетесь, хорошо бы пройти стажировку в любой крупной продуктовой компании в Беларуси + GitHub с реальными проектами (это почему-то помогает пройти фильтр рекрутеров, хотя они все равно не могут оценить содержание). После этого можно претендовать на джуновские вакансии — L3 в Google и L4 в Amazon в Польше. После 2-3 лет хорошего опыта можно претендовать в FAANG на мидла.
Вы помните, как беларусское ИТ превратилось в феномен? Мы учились друг у друга, делились первыми успехами, вместе радовались, когда наши компании, продукты и команды получали мировое признание. Сегодня многие из нас — в разных странах, поэтому еще важнее сохранять связи и продолжить развитие. 16 лет dev.by — «дефолтный» источник информации о беларусском ИТ, площадка для общения и обмена опытом. Вместе мы преодолеваем кризисы, держим удары, радуемся успехам, надеемся.
Сейчас вы можете помочь dev.by. Когда все способы монетизации беларусских медиа почти исчезли, регулярные донаты позволяют платить зарплату редакторам и авторам, готовить важные материалы.
Если у вас есть возможность и вы считаете нашу работу важной, поддержите dev.by.
Читать на dev.by