Собеседование в корпорацию: чего ждать и к чему готовиться на интервью в ЯFAANG
В прошлой статье нашей серии «Карьера в IT» рассказывали, как попасть в небольшой стартап и зачем вообще это нужно. Теперь пришло время замахнуться на рыбку покрупнее и поговорить о собеседованиях в корпорации и компании уровня FAANG, в том числе российские. Расскажем, какие у таких компаний есть особенности, какие приятные плюсы есть у подобных собеседований, чего в общих чертах ждать на интервью и как разобраться в вилках зарплат. Как всегда, с примерами из практики.
Какие компании относятся к ЯFAANG и в чем их особенности
ЯFAANG — это Яндекс, Facebook, Apple, Amazon, Netflix, Google. Еще к этой категории можно отнести Microsoft, VK, Uber и некоторые другие компании. У нас в боте таких вакансий немало.
У подобных компаний есть несколько ключевых особенностей.
Масштабы найма. Входящий поток намного больше, чем количество людей, которых привлекают рекрутеры. Многие приходят сюда просто так, даже без открытых вакансий, в надежде попасть в крупную компанию. Рекрутеры из-за этого более расслабленные и не так доброжелательны к каждому кандидату. Здесь действительно «за забором еще 100 человек ждут».
Сотни отделов и команд. Если в одной команде вам не понравилась культура или атмосфера, не обязательно все бросать. Можно легко курсировать между отделами и заниматься разными вещами.
Разнообразие технологий. Людей здесь берут не для того, чтобы они знали какой-то конкретный фреймворк, а чтобы они могли быстро разбираться в существующих внутренних решениях и разрабатывали новые. Поэтому при собеседовании делают акцент не на технологию, а на общее понимание внутреннего устройства систем.
Комплекс «лучших умов». Кажется, что в корпорациях работают какие-то гении. На самом деле там те же люди — есть суперкрутые, а есть и вполне обычные. Такие же, как все вокруг, и точно такие же, как вы (крутые гении) . Это важно держать в голове, когда проходишь собеседование.
Какие плюсы есть у собеседований в корпорации
Можно собеседоваться много раз. Провалить собеседование в Google и услышать от рекрутера «приезжай через месяц». Иногда интервал бывает полгода-год, но в целом после провала точно можно попробовать еще раз. Конечно, если вы будете нарушать этические нормы, снова вас не позовут. Но если просто не покажете достаточную глубину и подготовку в своих ответах, то вас еще пригласят на собеседование.
Не нужно досконально знать какой-нибудь фреймворк или технологию. Не обязательно разбираться в Android или. Net — важно понимать общие принципы программирования. Стоит отметить, что чем выше уровень, на который вы собеседуетесь, тем больше ожиданий по опыту работы в той или иной специфичной технологии и области (например, в масштабировании графовых баз данных).
Собеседования в десятках городов мира. Если вы устраиваетесь, например, в США, и интервью очное — не обязательно лететь в США. Вполне возможно, что собеседование получится пройти в другой стране, где у вас уже есть виза, или просто в более близкой и удобно расположенной (как минимум так было до пандемии 2020-го года) .
Структура интервью и общая подготовка
Сначала будет 5 минут рассказа о себе. Отработайте так, чтобы это у вас от зубов отскакивало, причем и на английском тоже. Со всеми взлетами, падениями и опытом. А потом начнутся тесты. Если вы думаете, что это легко, прямо сейчас запишите на диктофон с таймером пять предложений о своих навыках и покажите это вашему другу.
Вопросы по платформе
Обычно это задача по той технологии, с которой вы работаете. Могут попросить поискать баги, добавить функционал в существующий код или быстро накидать какой-то модуль. Иногда вместо практики может попасться опрос теории. На самом деле, чем крупнее компания, тем реже такой блок вообще попадается в собеседовании, но к нему все-таки стоит быть готовым.
Задачи
Помните, что главное — не решать быстро задачи и показывать себя супермозгом, а быть рассудительным, приятным и дружелюбным человеком. Только так вы успешно пройдете интервью.
А что же делать с самой задачей? Алгоритм прост:
- Рассуждайте вслух, высказывайте все мысли, даже глупые и безумные. Не надо молча смотреть в условия, в крайнем случае скажите «Мне надо подумать минуты три».
- Задавайте вопросы во время всего решения. «Мы сейчас покроем тестами, или вы хотите, чтобы мы потом это сделали?». Уточняйте любые моменты, это сыграет вам только на руку.
- Первым делом предлагайте в лоб самое медленное, неэффективное и простое решение. Озвучьте его и начните улучшать.
- Озвучьте, что неплохо будет написать тесты. Если они простые, можно даже сразу их написать: проверить крайние случаи, на отрицательные значения, на пустую строку и т. д.
- Озвучьте асимптотическую возможность каждого решения.
- Постоянно говорите о недостатках и возможных улучшениях. Что-то в духе «Тут у нас необработанный крайний случай, сейчас нет времени им заняться, но это можно исправить».
Разберем алгоритм на простом примере. Есть такая задачка:
Решение можно сразу посмотреть на leetcode. Теперь пройдемся по алгоритму решения:
- Предлагаем в лоб вариант с перебором — просто брутфорс всех пар чисел.
- Проверяем кейсы работы с нейронами и отрицательными числами.
- Говорим о недостатках — метод, очевидно, очень сложный, и решить можно лучше.
Пока вы будете все это проговаривать, у вас в голове сформируется следующее решение, и вы сможете его предложить. Например, вариант с hashmap, когда вы в качестве ключа используете разницу между целевым значением и одним из элементов. Тогда вы можете решить эту задачу либо в 2 прохода, засунув все эти числа сначала в map, либо вообще в 1 проход.
Помните, что здесь не ЕГЭ, где от вас на выходе нужен правильный момент. На интервью оценивают вашу речь, ход мыслей, рассуждения, подходы к решению сложных задач. Никому не нужно наблюдать, как вы час молча тупите в задачу, даже если под конец все-таки ее решите.
Вайтбординг
Казалось бы — какая доска, сейчас же все пишут в компьютерах? Но в крупных компаниях есть миллионы досок, на которых удобно демонстрировать свои заметки. Если в комнате с интервью есть доска — обязательно ей воспользуйтесь: пишите там код, рисуйте схемы, отражайте ход своих мыслей. Можно прямо на доске набросать псевдокод и сказать: «По алгоритму уже все понятно, сейчас на компьютере допишем и явно будет работать».
Есть миф, что в крупных компаниях только доску и дают, а на компьютере код вы вообще писать не будете. На самом деле это не так, обычно дают все вместе. Без ноутбука вас не оставят и в голове все компилировать не заставят.
С ростом популярности удаленных собеседований вайтбординг никуда не пропал. Наоборот, навыки быстрого рисования схемок и документирования в Google Draw, Jamboard и других paint-образных инструментах стали более критичны.
Обед
Обеденный перерыв — тоже вполне часть собеседования. Обедать вы будете вместе с интервьюером, и это хороший момент побеседовать, задать какие-то вопросы, что-то обсудить. Тут главное слишком не расслабляться: отвечайте на вопросы аккуратно, ведите себя вежливо и культурно. Особенно осторожны будьте в другой стране — у них свой культурный код, важно под него подстроиться.
Интервьюеры обычно сами ведут обед и ждут, что кандидат будет за ними следовать. Если присутствуют другие люди, особенно известные, важно вести себя тактично — больше спрашивать и слушать, чем говорить о себе. Людям это всегда нравится.
Проектирование систем
Самое неожиданное, что здесь может быть — вопрос по проектированию всей системы, от БД на сервере до кнопок на сайте. К такому важно подготовиться и продемонстрировать, что вы хотя бы в общих чертах понимаете, как работает все вокруг вашей основной специализации.
Здесь советы следующие:
- Обязательно задавайте много уточняющих вопросов.
- Начните с того, что вам ближе — клиентской или серверной стороны.
- Думайте в первую очередь не о крутости технологии, а о пользе для пользователей и бизнеса.
- Проговаривайте все альтернативы и причины выбора. «Я знаю, что есть такие варианты, но я лично знаком с таким решением, и оно поможет в будущем сделать то-то и то-то».
- Озвучьте недостатки своего решения и скажите, как их можно было бы исправить.
- Обязательно визуализируйте все на доске: пишите рассуждения, рисуйте схемы.
- Обозначьте систему мониторинга, аналитики и логирования.
- Не удивляйтесь, что вам придется рассчитать нагрузку на сеть, кэш и хранилище, примерно оценить производительность системы.
Ваши вопросы компании
Дальше настает ваш через задавать вопросы.
Не стоит спрашивать:
- Ну че, как вам тут работается?
- Еда и правда бесплатная?
- А на самоездящих машинах дают покататься?
- А у вашего конкурента уже есть дроны?
- Отпуски и правда безлимитные?
Что стоит спрашивать:
- Самый большой вызов для вашей команды?
- Какие сейчас приоритеты у команды?
- Как устроено взаимодействие внутри команды/между командами?
- На каких языках/фреймворках идет разработка?
- Как построен процесс разработки?
- Как построено общение между менеджментом и инженерами?
Как разобраться в уровнях разработчиков
И последний момент, важный для трудоустройства в корпорацию, особенно в зарубежную. В России и в стартапах принято обозначать специалистов просто джунами, мидлами и сеньорами. А вот в корпорациях появляются какие-то L, с которыми все не совсем понятно.
Общая схема уровней в FAANG примерно такая:
На базе уровней Google посмотрим, что это примерно значит:
- L1 — почти не существует, в крайнем случае это стажер.
- L2 — это интерн, который еще учится в своем институте или проходит практику после выпуска и не имеет никакого продакшн-опыта.
- L3 — джун, который только-только выпустился, совершенно несамостоятельный, не готов заниматься решением проблем без надзора и фичи никакие сам не реализует.
- L4 — мидл, делает мелкие фичи сам, больше работает под руководством, но уже способен показывать самоотдачу и требует гораздо меньше надзора.
- L5 — сеньор, который делает все сам на всю команду. Занимается развитием уровней пониже.
- L6 — стафф-инженер, который руководит командами и внедрением фич на уровне отделов.
- Дальше все уже шире и зависит от компании и ситуации.
В основном релокейт происходит на позиции от L4 до L6 в лучшем случае. Даже если вы десятки лет были тимлидом в России, выше, чем на L6, переехать удастся вряд ли (рады будем опровержению в комментариях, если вам удалось) .
Подробнее про грейды в FAANG мы уже разбирали в одной статье. Там прописаны примерные соответствия уровней и ожидаемые требования.
Лучшие вакансии — в нашем телеграм-боте!
Не обязательно откликаться на вакансии, не обязательно искать себе работу — можно использовать бот как инструмент, чтобы следить за рынком: насколько ваша вакансия соответствует рынку. Вот здесь разработчик узнал, например, что его питерская зарплата была на 60% (!) меньше, чем он мог бы зарабатывать.
"Я" в списке? Какой там вайтбординг, там на бумажке кодить просят, и не псевдокодом.
На самом деле заметил тенденцию , что крупные РФ компании начали собседовать на уровне FAANG. С одоной стороны здорово, что могут наладить такой процесс, с дрогой стороны, зачем мне у них работать если я с таким же успехом могу пойти в условный гугл
И унижают алгоритмами, а потом платят ниже рынка (:
Почему у Netflix нет уровней? Там все синьоры помидоры?
Нетфликс не хайрит никого ниже, все верно
В России нет компаний уровня FAANG. И от того, что вы приставите туда яндекс - не появится.
/thread
По поводу грейдов и уровней - почитайте посты Валеры Бабушкина («Время Валеры» в тг), он много об этом писал.