Привет, на связи таинственный Software Engineer из FAANG компании, пишущий только о собеседованиях. Ранее мы уже сравнивали Тинькофф с FAANG’oм и отказывались от миллионов RSU в Озон, а теперь поговорим о собеседованиях в BigTech: в знаковые для индустрии зарубежные компании, оффер которых — это билет в будущее. Опытный специалист трижды подумает, прежде чем вложиться в подготовку к многоэтапному интервью. А без них никак: так делает не только весь российский бигтех, но и большинство западных компаний: от стартапов до динозавров. Но мы не будем рыдать от несовершенства корпоративной вселенной — мы эти многоэтапные собеседования сейчас возьмём — да и пройдём.  Несколько лет назад мечта попасть в бигтех казалась недостижимой — такое впечатление складывалось от окутывающих его мифов. Мне повезло встретить людей, которые собственным примером и ЦУ их развеяли. Теперь и я хочу вселить эту уверенность в читателей статьи и — как знать — послужить для кого-то тем самым «пинком» для начала активных действий. Прямо скажу: собеседования в бигтехе — непопулярная тема в русскоговорящем инфополе, её избегают не только на митапах, но даже в курилках и кофетолках. А если она и мелькнёт в разговоре, то обычно в виде грустной истории о бывшем коллеге математике-алгоритмисте, потратившем годы на подготовку. Неудивительно, что инженеры под влиянием таких мифов сдаются раньше, чем попытаются пройти собеседование. Давайте разберёмся, что это за мифы, на каких этапах подготовки они могут помешать и как их «взломать», чтобы приблизиться к заветному оферу в знаковой компании. Когда задумываешься, а не пойти ли мне в BigTech, кажется, что выбор невелик — всего 5 компаний FAANG (Facebook, который ныне Meta, Amazon, Apple, Netflix, Google). Даже 4: Netflix почти отсутствует в европейской зоне. Что ж, когда-то это могло быть правдой — в те времена, когда многие компании нынешнего бигтеха ещё не основали или они были неизвестны нашим программистам. Но сейчас бигтех куда шире, и понять, какие компании станут знаковыми в резюме, можно уже по тем сервисам, которыми мы сами пользуемся каждый день: финансовые сервисы — Square, Plaid, Klarna музыка — Spotify видеостриминг — Roku, Disney, Hulu  агрегаторы — Booking, Airbnb ride-sharing — Uber, Lyft  базы данных — Snowflake, Databricks используемые на работе сервисы — Workday, Notion, Okta, GitLab, Slack, Mattermost и т. д.  Наконец, можно просто загуглить. А для любителей инвестиций есть даже отдельный лайфхак: поскольку часть годового дохода в BigTech — это RSU/stocks, то можно просто зайти в приложение своего любимого брокера и изучить техсектор. По карьерным сайтам этих компаний видно, что бОльшая доля вакансий приходится на американский рынок. Но реально найти вакансии и в регионах поближе»: Западная Европа, Великобритания, Ирландия, даже в некоторых странах Восточной Европы (например, Google и Snowflake в Польше, Microsoft и Bloomberg в Чехии).  Хороший индикатор BigTech-компании — размер финальной годовой компенсации, включающей RSU/stocks и годовой бонус, а также соцпакет (такая информация доступна на glassdoor, levels.fyi, blind, leetcode). Если вам важнее всего именно компенсация, смотрите на финтех, особенно хедж-фонды в Великобритании — они, кстати, весьма охотно предоставляют программы стажировок.  Да, многие из BigTech-компаний сейчас находятся в режиме hiring freeze, но даже у таких порой открываются вакансии на стратегические направления (например, в Amazon, Meta, а ML-инженерам и вовсе все двери открыты). А Uber, Booking, Snowflake и некоторые другие компании наём и вовсе не останавливали. BigTech — далеко не только FAANG. К числу таких компаний можно отнести как перспективные стартапы, так и мастодонтов рынка, а также компании, работающие в узконаправленной области. Впрочем, с годами статус и ранг компании могут меняться, поэтому стоит проверять актуальную информацию о потенциальном работодателе для оценки «престижности» такой строки в резюме. Есть мнение, что известные bigtech-компании рассматривают кандидатов только с опытом работы на топ-позициях в топ-компаниях. Или людей с большими заслугами в tech-комьюнити — контрибьюторов в известные open-source-проекты, авторов книг, спикеров на известных конференциях и т. д. Конечно, если такие заслуги есть, в CV лишними не будут, но они всё же необязательны для попадания в бигтех. Почему же инженеры верят в этот миф? Возможно, потому, что у многих был опыт, когда их отклики на вакансии не получали ответа. Хотя причина может быть в другом: соискатели отправляли в качестве CV профиль из hh или похожего портала, где на 5–10 страницах перечислены обязанности, а не достижения. Рекрутеры же, по моему опыту, тратят на отклик несколько секунд, и в этом случае имеет смысл сосредоточиться в резюме на главном опыте и сократить его до одной страницы. Такое резюме скорее просмотрят, а значит, кандидат уже этим выделится на фоне прочих. Кстати, хороший конструктор резюме можно найти на https://www.open-resume.com. Ранее многие русские продуктовые компании требовали от инженеров активного аккаунта на гитхабе, но сейчас и это — не must-have-критерий. Не все разработчики бигтеха имеют возможность что-то контрибьютить. Куда важнее — самопрезентация/самоподача. Не поддавайтесь синдрому самозванца: может казаться, что ваша экспертиза и заслуги не впечатляют, но с технической точки зрения они всего лишь затрагивали меньший масштаб, чем в бигтехе. Да, и при описании своих заслуг учитывайте ещё, что многие крупные компании из России почти или совсем неизвестны за её пределами. Попросить рекомендацию от одного из сотрудников компании — и правда самый простой способ найти с ней контакт. Минимум 30% сотрудников известных компаний так и нашли работу. Но есть и другие пути: Откликнуться через раздел «Карьера» на сайте компании. Это самый очевидный способ, но необязательно эффективный: отклик могут просмотреть в течение пары месяцев или оставить без ответа. Но упорство может дать свои плоды.  Актуальный профиль в LinkedIn. В моём случае он работал пассивно: изредка мне писали представители подходящих компаний — Tiktok, Bloomberg, AWS, Square, Meta.  Попросить знакомых перенаправлять к вам пишущих им рекрутеров из интересующих вас компаний. Также можно поискать и попросить о рекомендации сотрудников нужных вам компаний, с которыми вы пересекались лишь косвенно (ко мне, бывало, тоже обращались). Найти специализированные телеграм-чаты со списками людей, готовых порекомендовать на ту или иную позицию при выполнении нескольких условий (например, наличия 100 решённых задач на Leetcode и т. п.). Ищите их по слову faang. Этот миф встречается среди заядлых аутсорсеров и начинающих программистов. Просто помните, что уровни английского говорят о всеобъемлющем знании языка из многих областей, а темы собеседования — узкоспециализированные и не требуют фантастической лексики и произношения. Если опираться на известные мне случаи, то минимальный уровень английского для соискателя был А2. Но каким бы ни был ваш уровень знания языка, лучше заранее подготовьте рассказ о себе — он пригодится для знакомства с интервьюером на каждом этапе собеседования. На технических частях собеседования — таких как кодинг и system design — больше придётся оперировать знакомой технической лексикой. К частям, где традиционно приходится много рассказывать (behavioural, cultural fit и т. д.), тоже можно подготовиться и написать рассказы-ответы на типичные для этих секций вопросы в духе «Самое большое достижение», «Конфликт с коллегой/менеджером» и прочие. Кстати, составить их поможет и ChatGPT. Подробнее о подготовке к таким сессиям можно узнать на бесплатном курсе от Leetcode.  И помните: в IT можно столкнуться с разными языковыми акцентами, просто примите, что понимать не всё и переспрашивать — нормально. Главное, не теряться и коммуницировать.    Это предубеждение, вероятно, сформировалось из-за привычных нам собеседований с упором на особенности ЯП или технологии. А ещё — из-за компаний-подражателей, которые вроде бы перенимают FAANG-style, но всё равно совмещают его с секцией классического собеседования на знание ЯП.  Так вот: бигтех-компании обычно проводят интервью без привязки к ЯП. Правда, если уровень кандидата достаточно высок (выше Senior — IC5/L5), то наверняка потребуется экспертиза в определённой доменной области — её вы обсудите или на доп. раундах, или на system design. Но в остальном больше смотрят на способность кандидата решать задачи. Так сложилось, потому что бигтех-компании часто используют собственный тулинг, а то и свои ЯП или ядрёные смеси из нескольких ЯП в рамках одного проекта. На этапе подготовки выберите ЯП, на котором вам будет удобно решать алгоритмические задачи. Не всегда для этого подходит primary-язык — например, из-за отсутствия удобного инструментария. Так, владеющие Objective-C часто выбирают для собеседований C++.  Если вы интерн/новичок, посоветую выбирать Python. Его преимущества — не только лаконичный синтаксис, наличие структур данных и т. д., но и высокая вероятность, что ваш интервьюер поймёт написанный код (в различных бигтех-проектах часто используют Python).  От разработчиков вне бигтеха можно узнать много нового о формате проведения интервью. Например, что на каждом этапе ждут элементы стресс-интервью, что заставят решать интегралы и олимпиадные задачи по программированию на алгоритмической секции. Или что кандидатов будут сравнивать друг с другом и выбирать, если позиция достаточно высокая. Далеко даже ходить не нужно — вот вам ближайший пример из комментариев к моей статье о собеседовании в Тинькофф:    «Человек, который за 5 условных минут не может освоить элементарные операции в среде, наверное, вызывает сомнения уже поэтому. Тем более что остальные кандидаты как-то с этим справляются. Я понимаю, если бы вы были лежебокой, работающим в советской обшарпанной конторе за копейки, без желания что-то менять. Вы поставили себе цель FAANG, то есть вступили в конкуренцию с огромным количеством разработчиков мира. С такой чувствительностью к стрессу сложно представить, как бы вы прошли очное интервью в FAANG с 4–5 частями в один день, в незнакомой стране, где и на доске рисовать, и интервьюеры в разном настроении, и какие-то накладки бывают, плюс джетлаг и пр.». Расскажу, что происходит на самом деле. Формат интервью предполагает screening-часть и onsite panel interview. Screening всегда проводили и проводят удалённо, onsite panel interview в доковидные времена устраивали в офисе, но и сейчас все компании делают это удалённо. Логично, что в доковидное время onsite panel interview желательно было уложить в один день (хотя даже тогда можно было договориться на чуть более длинный срок), а ныне onsite panel interview можно разбить на сколько угодно частей и это никак не повлияет на результат. Исключение — специальные hiring days, которые проводят в компаниях.  Люди, которые вас интервьюируют, проходят специальный корпоративный тренинг — на нём обозначены все правила поведения и оценки, чтобы снизить субъективность. И даже если перед собеседованием или в его начале с вами что-то произошло, не стесняйтесь, скажите об этом интервьюеру — и выход будет найден. В конце концов, в результате собеседования заинтересованы обе стороны. И в целом это нормально, если вы будете выстраивать график интервью так, чтобы вам было комфортнее (в пределах разумного). Что дальше? После каждого этапа интервьюер заполняет общую для всех форму фидбэка. Собрав все такие формы, рекрутер формирует «пакет» кандидата, и затем уже специальный hiring-комитет, в который не входят проводившие интервью люди, на его основе выносит решение. Они учитывают, как то или иное требование компании согласуется с фидбэком. Но кандидатов никто не сравнивает.  В зарубежном инфополе bigtech давно топовая тема. Вокруг неё уже вырос отдельный слой бизнеса по подготовке к интервью: есть огромное количество материалов, статей, телеграм- и ютуб-каналов, менторов. И этот платный контент действительно может содержать полезную информацию. Но помните: серебряной пули не существует, так что подходите к покупке курсов или «коуч»-сессий здраво. Ведь все нюансы и регламенты интервью давно известны, и вы знаете, что вам понадобится. Итак, подготовиться к интервью без существенных вложений реально. Но количество времени и материалов/практик зависит от желаемого уровня в офере. Coding-секций в рамках цикла интервью не избежать любому инженеру, тем более интернам — для них это база. Поэтому сделайте Leetcode своей рутиной. А если вы совсем новичок в мире алгоритмов, советую начать с базового списка тем Blind75 (там есть бесплатный study plan, основанный на этом списке). Но скажу, что по premium-подписке доступно гораздо больше курсов и задач, в том числе списки задач, «засветившиеся» на интервью в тех или иных компаниях (их можно составлять самостоятельно, читая ревью на glassdoor и обсуждения на Leetcode). На мой взгляд, это как раз одна из вещей, в которые стоит вложиться (тем более что можно дождаться чёрной пятницы, когда действует 30%-я скидка, или купить месяц премиума за 5К литкоинов). Полезные материалы для подготовки к system design я уже рекомендовал в одной из прошлых статей: 1. Базовая рекомендация абсолютно всех подборок  материалов для подготовки к СД — https://habr.com/ru/companies/piter/articles/309106/.  2. «Золотой сборник» с разбором наиболее популярных систем — System Design Interview An Insider’s Guide by Alex Xu. Если основная цель подготовка к СД, можно рассмотреть этот материал как отправную точку.   3. https://github.com/weeeBox/mobile-system-design. Упор сделан на мобильные платформы, однако, очень много ценных мыслей для любого направления.     Про подготовку к behavioural секции см. выше, в разборе мифа об уровнях английского языка.   Кроме предподготовки на таких собеседованиях важен «боевой опыт». Кто-то для этого покупает интервью-сессии с экспертами в нужной области, которые дадут подробный фидбэк и разберут ошибки, кто-то предпочитает тренироваться «на кошках» в не совсем целевых компаниях — тут тоже можно получить фидбэк, проанализировать его и сделать выводы. И «бесплатно» подготовиться тоже вполне возможно.   И в завершение миф, противоположный предыдущим: что любой классный профессиональный инженер легко пройдёт цикл интервью.  Бывает в жизни везение, и оферы без подготовки случаются, но всё же собеседование — это обычно смесь удачи и подготовки. Так что инженеры любого уровня готовятся к интервью и освежают в памяти основные моменты. Для получения хороших предложений по работе недостаточно просто пролистать фундаментальный сборник алгоритмов — важно не забывать и о литкоде. Потому что мало знать теорию фундаментальных алгоритмов, нужно ещё уметь реализовать их за ограниченное время на реальном интервью. Надеюсь, мне удалось развеять многие предубеждения о бигтехе. Если вы задумывались о нём, помните: всё не так страшно, как принято считать. Нужно лишь пробовать и не переживать из-за провалов: они могут случаться не только по вашей вине. Да, бигтех, нанимает не так активно, как в ковидные времена, однако вакансии периодически открываются, а в случае ML позиции открыты практически в любой компании. И ни одна компания не приостанавливала программы стажировок.