Top.Mail.Ru
Истории

Как за 5 дней я получил 5 предложений о работе в топовых технологических компаниях

Истории
Анна Самойдюк
Анна Самойдюк

Ex-редактор направления «Истории».

Анна Самойдюк

За пять дней программист Цзэн Сяаохань прошел собеседования в LinkedIn, Salesforce Einstein, Google, Airbnb и Facebook и получил  пять предложений о работе. Он поделился своими впечатлениями в блоге на Medium.

Как за 5 дней я получил 5 предложений о работе в топовых технологических компаниях

С чего все началось

Я работал в Groupon на протяжении трех лет. Это моя первая работа, и мне посчастливилось быть в одной команде с талантливыми людьми и заниматься интересными проектами. Мы разрабатывали классные вещи. Но позже мне начало казаться, что я научился там всему, чему мог, и пора было двигаться дальше. Я был разработчиком и жил в Чикаго. На тот момент меня привлекали технические компании, расположенные в Кремниевой долине.

Фото: Medium

Жизнь коротка, а профессиональная жизнь еще короче. Я поговорил с женой и, убедившись в ее поддержке, решил сменить работу.

Подготовка

Меня интересовали позиции, связанные с машинным обучением. В каждой компании они называются по разному, следовательно, отличается и сам процесс собеседования. На тот момент мне подходили три разных вакансии – разработчик машинного обучения (LinkedIn, Google, Facebook), дата-инженер (Salesforce) и разработчик в целом (Airbnb). Соответственно, мне нужно было готовиться по трем различным направлениям: кодинг, машинное обучение и проектирование системы.

Так как я все еще работал в Groupon, на подготовку у меня ушло два-три месяца. Вот как я готовился:

Кодинг

Я считаю, очень сложно оценить навыки программиста, просто посмотрев, как он пишет код. И все же пока не придумали способа лучше, поэтому это просто надо пережить, чтобы получить работу.

В основном для занятий я использовал Leetcode и Geeksforgeeks, но думаю, что вам так же отлично подойдут Hackerrank и Lintcode. Я потратил несколько недель на повторение алгоритмов и структур данных, затем я сфокусировался на том, чего не знал. Каждый день я решал примерно по две проблемы.

Фото: Unsplash

Мои советы:

  1. Занимайтесь. Занимайтесь как можно чаще и усерднее.
  2. Не решайте все 600 проблем на Leetcode. Лучше попробуйте понять каждую проблему. В целом я решил 70 задач, и этого было достаточно. Если вам не помогут 70 задач, тогда, вероятно, вы делаете что-то не так.
  3. Решайте самые сложные проблемы. Потом все будет проще.
  4. Если вы застряли на какой-то задаче и не знаете, что делать дальше, посмотрите решения. Не тратьте время зря.
  5. Справившись с задачей, сверьтесь с решениями. Иногда я был просто поражен, как красиво и легко представлены некоторые решения, особенно если они были написаны на Python.
  6. Пишите на языке, который лучше всего знаете.

Проектирование системы

Эта область уже более тесно связана с опытом работы. Во время собеседований вас могут спрашивать об архитектуре системы, объектно-ориентированном проектировании, проектировании схем баз данных, масштабируемости и так далее.

Есть огромное количество онлайн-ресурсов, которые помогут вам подготовиться. Вот некоторые из них. Мне они показались очень полезными:

Несмотря на то, что на таких собеседованиях задают абсолютно разные вопросы, есть общие рекомендации, как подойти к решению проблемы:

  1. Для начала поймите требования, затем опишите проект и плавно перейдите к деталям реализации. Не перескакивайте сразу к деталям, не прочитав внимательно требования.
  2. Не существует идеального проектирования системы. Просто поймите, что от вас требуется, и сделайте это.

Как лучше всего подготовиться к такому собеседованию? Сесть и начать проектировать систему. Вместо того чтобы выполнять минимальную работу, углубитесь в инструменты, фреймворки и библиотеки, которые вы используете.

Блоги, кстати, также являются прекрасными источниками знаний. Я очень рекомендую Hacker Noon.

Дайте свободу своему любопытству. Обучайтесь постоянно. Будьте губкой, которая впитывает всю информацию.

Машинное обучение

Такие собеседования следует разделить на две части: теория и разработка продукта.

Если у вас нет опыта работы в машинном обучении, я бы посоветовал прочитать некоторые учебники. Есть классические сборники на английском – например, «Elements of Statistical Learning», «Pattern Recognition» и «Machine Learning».

Фото: Unsplash

Вы должны понимать базовые концепции, такие как дилемма смещения и дисперсии, переобучение, градиентный спуск, L1 и L2-регуляризация, Теорема Байеса, коллаборативная фильтрация и так далее. Повторите общие формулы. Попробуйте внедрить простые модели, например, дерево принятия решений и метод k-средних. Если вы укажете какие-то из моделей в своем резюме, убедитесь в том, что вы действительно понимаете их и сможете рассказать об их преимуществах и недостатках на собеседовании.

Вот что я вам посоветую для разработки продукта на основе машинного обучения:

  1. Выясните цель.
  2. Выберите правильный алгоритм. Будьте готовы обосновать свой выбор.
  3. Подберите или спроектируйте подходящие функции, основываясь на имеющейся информации.
  4. Выберите метрики производительности вашей модели.
  5. Дополнительно расскажите, как можно оптимизировать модель для прозводства.  

Процесс собеседования

Сначала я просто отвечал на сообщения HR-менеджеров на LinkedIn. В итоге меня пригласили на пять собеседований, и я отправился в Сан-Франциско. Я прилетел в воскресенье, пообщался с 30 интервьюерами в лучших технических компаниях мира и, к моему удивлению, получил все пять предложений о работе.

Фото: Medium

Собеседования по телефону

Обычно все телефонные собеседования проходят одинаково. Единственное отличие – их длительность: LinkedIn, например, общались со мной час, Airbnb и Facebook – 45 минут.

Самое главное – профессионализм, ведь у вас есть всего лишь один шанс, и время очень ограничено. Вам необходимо быстро распознать тип проблемы и выдать правильное и качественное решение. Озвучивайте интервьюеру ход своих мыслей. В начале это может немного вас замедлить, но общение здесь важнее всего.

Для экономии времени я решил пройти все телефонные собеседования за один вечер. С одной стороны, это довольно удобно, с другой стороны, если первое собеседование пойдет не по плану, ваше плохое настроение может повлиять на ход последующих. Поэтому не всем такой подход может прийтись по душе.

В офисе

LinkedIn

Это было мое первое собеседование в Калифорнии. Мне очень понравился офис. Все выглядело очень стильно, и люди оказались большими профессионалами.

Фото: HGA

Каждая сессия длилась один час. Вопросы по кодингу были абсолютно стандартными, а вот с машинным обучением было сложнее. Мне повезло, потому что HR-менеджер заранее отправила мне письмо с материалами для подготовки. Это очень помогло. В конечном итоге, не было никаких сюрпризов.

Видимо, тот факт, что компанию приобрела Microsoft, пошел LinkedIn на пользу. Они теперь свободны и могут делать по-настоящему интересные вещи. LinkedIn уделяет первоочередное внимание росту и развитию своих сотрудников.

Salesforce Einstein

Крутой проект крутой команды. Когда я пришел в Salesforce Einstein, у меня сложилось ощущение, что я собираюсь устроиться в стартап. Я проходил собеседование в офисе в Пало-Альто. Здесь работает очень сплоченная команда, кроме того, компания соблюдает баланс между работой и личной жизнью. Собеседование делилось на четыре сессии, и они были короче по сравнению с другими компаниями. На самом деле, я бы с радостью посидел там еще дольше.

Google

Абсолютный лидер индустрии, тут нечего добавить. Офис просто гигантский. Нет, вы не представляете, насколько он гигантский. И очереди за едой могут быть очень длинными – что совсем неудивительно. Это отличное место для разработчиков.

Фото: Shutterstock

Я проходил собеседование в офисе в кампусе Маунтин-Вью, и до сих пор не помню, в каком именно. Интервьюеры показались мне очень умными, в чем я убедился, когда они начали говорить. Было бы здорово поработать с такими людьми.

Мне понравилось, что в Google особое внимание уделяют анализу сложности алгоритма. Повторите на всякий случай концепцию «О» большого и «о» маленького!

Airbnb

Растущая быстрыми темпами компания-единорог с уникальной культурой и самым красивым офисом в Кремниевой долине. Отличный выбор, если вы склонны к риску и хотите развиваться.

Собеседование в Airbnb было уникальным, особенно когда мне нужно было писать код. Вам придется писать код в IDE, поэтому нужно, чтобы он скомпилировался и дал правильный ответ. Некоторые проблемы оказались очень сложными

Кроме того, Airbnb проводит межфункциональные собеседования. Компания очень серьезно относится к своей культуре, и даже если вы будете лучшим профессионалом по технической части, не факт, что вы получите работу. Первые два собеседования мне очень понравились. Мы общались на разные темы, и в конце концов я остался доволен.

Фото: Dezeen

Тем не менее, в Airbnb мне было сложнее всего – собеседования были дольше, проблемы – сложнее. Очень важно понимать культуру и ценности этой компании.

Facebook

Еще один гигант, который продолжает развиваться быстрыми темпами, – Facebook. Их продукт доминирует на рынке социальных сетей, и они продолжают инвестировать в искусственный интеллект и виртуальную реальность. Это отличное место для работы, если вас интересует машинное обучение.

Я не уверен, были ли какие-то инструкции у интервьюеров, но я не получил никакого фидбека касательно моих решений. Я, конечно, считаю, что они были правильными, но все же не уверен, согласны ли были со мной интервьюеры.  

Собеседования длились четыре дня, и к концу моя усталость давала о себе знать. Мне казалось, что я справился плохо. Все же я удивился, когда получил предложение и от них.

Люди там верят в будущее компании и гордятся тем, чем они занимаются. Facebook – отличное место для карьерного роста.

    Заключение

    В итоге я принял предложение от Airbnb. Их подход для меня оказался ближе всего.

    Вот какие выводы из своего опыта я могу сделать:

    1. Жизнь коротка. Профессиональная жизнь еще короче. Сделайте правильный шаг в правильный момент.
    2. Собеседование – отличная возможность обзавестись контактами и друзьями.
    3. Продолжайте постоянно обучаться.
    4. Помните, что нет предела совершенству. Не прекращайте развиваться.  

    Я очень долго готовился к собеседованиям, потому что продолжал работать в Groupon. Несколько недель я засиживался допоздна за учебниками и просыпался рано утром.

    Проходить собеседования в пяти компаниях пять дней подряд – тоже непростое дело. Я бы не советовал вам повторять это. Если вы хотите, чтобы у вас все получилось, не забывайте о необходимости постоянного обучения и усердной подготовки.

    Источник.


    Материалы по теме:

    Я бросил работу в Google, чтобы основать компанию. Вот как мне это удалось

    9 секретов успеха от Уоррена Баффета

    Как попасть в Microsoft, Amazon и Twitter без престижного образования

    Как не сгореть на работе: почему неэффективны сотрудники, работающие на износ

    Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

    Материалы по теме

    1. 1 Самые свежие лайфхаки LinkedIn — 2023. Что еще нужно знать?
    2. 2 Как найти кофаундера — список площадок
    3. 3 Ищите общих знакомых, пишите кратко и рассылайте апдейты: как пропитчить инвестора в LinkedIn
    4. 4 5 незаменимых сервисов для SMM-специалиста
    5. 5 7 стартапов, которые принесли больше всего денег инвесторам