Как пройти собеседование в Facebook: личный опыт и советы

Опубликовано От Sergey

Крити Джоши два года работала программистом в Samsung Electronics и планировала сменить работу. Она отправляла резюме в самые популярные технологические компании, а когда набралась уверенности, связалась с Facebook. Вот ее рассказ о том, как ей удалось попасть на собеседование и получить работу.

Как пройти собеседование в Facebook: личный опыт и советы

Елена Лиханова

Поиск вслепую

По дороге на работу или отдыхая от подготовки к интервью, я начала налаживать контакты в LinkedIn. Вскоре это превратилось в навязчивую идею. Я искала рекрутеров компаний, в которые хотела бы обратиться, и отправляла им email (если адрес был упомянут в разделе с контактной информацией на LinkedIn) или личное сообщение. Я не ожидала каких-либо серьезных результатов, но это внушило мне оптимизм, которыу помог на подготовительном этапе.

  • Совет: LinkedIn — отличная платформа для связи с рекрутерами, но для этого требуется настойчивость. Не стесняйтесь обращаться к незнакомым людям. Я получила ответ от таких компаний, как Amazon, Microsoft, Snapchat, Bloomberg и Apple, просто отправив сообщение.

К счастью, после того, как в августе я отправила email в Facebook, их представитель мне перезвонил.

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

Первая надежда

Я пришла на собеседование, ожидая самого лучшего и готовясь к худшему. Я общалась с представителем подразделения AR/VR.

  • Информация: Facebook состоит из нескольких подразделений, в которых процесс подбора персонала происходит независимо: Facebook Engineering, Facebook АР/ВР и Facebook AI.

Она задавала мне вопросы о моей нынешней должности и опыте работы. Большую часть своей карьеры я была разработчиком C/C++ с нулевым опытом работы в XR. Оказалось, я не подходила на ту должность, собеседование на которую я проходила. Мне сказали, что мою кандидатуру рассмотрят только в том случае, если я очень хорошо проявлю себя на собеседовании по телефону, потому что мой набор навыков не совсем соответствует требованиям.

  • Инсайт: тогда у Facebook Engineering было ограничение: они рассматривали только кандидатов с опытом работы более семи лет. Вероятно, август — это конец цикла подбора персонала в компании, когда большинство вакансий закрыты. Я чувствовала, что было бы легче подать заявление после октября, в начале нового цикла набора.

Через две недели состоялась проверка моих технических знаний. Собеседование длилось 45 минут, в течение которых нужно было ответить на два вопроса. Они были базовыми, с простым кодом (проблема массива и строки). Однако во время собеседования у вас нет возможности скомпилировать код и выполнить его, поэтому для проверки рекрутер должен провести испытание и посмотреть, как код будет работать. Для этого нужен тестовый запуск.

  • Совет: тестовый запуск — это хороший способ отладить код во время собеседования. Обязательно включите тестовые запуски в свою подготовку к собеседованию.

Для второго вопроса я придумала два решения и объяснила оба. Затем меня попросили сравнить их и проанализировать преимущества одного перед другим. В конце собеседования было отведено пять минут, чтобы задать вопросы представителю компании. Я не думаю, что эти пять минут способствуют оценке эффективности кандидата, так что беспокоиться не о чем.

  • Совет: Leetcode считается хорошим сайтом для подготовки к интервью. Его раздел Leetcode discussion чуть менее популярен. Там пользователи делятся своим опытом собеседований (в том числе и вопросами, которые им задавали), и можно заметить, что они действительно повторяются.

Фото: Brunopui / Shutterstock

Очное собеседование

Процесс отбора в Facebook проходит довольно быстро. Я получила ответ от рекрутера в течение двух дней и полетела в Лондон, чтобы пройти очный этап. Всего было запланировано четыре собеседования.

Программирование на интервью (x 2)

Соискателям задают два вопроса, которые необходимо решить в течение 45-50 минут. Были затронуты такие темы, как бинарные деревья, строка, стек и список. Сначала обсудите решение с интервьюером, а затем напишите свой код на доске.

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

Подразделение Facebook AR/VR. В Лондоне есть еще два офиса компании 

Собеседование по проектированию системы

Это интересный этап, который недавно стали проводить для разработчиков начального уровня. Цель состоит в том, чтобы спроектировать систему с нуля. Постановка задачи обычно выглядит так: «Создайте существующий продукт, например, WhatsApp, Facebook, Google search и так далее. Разработайте конкретную функцию одного из этих приложений; скажем, внедрите временную шкалу в приложение Facebook. Предложите полностью гипотетический сценарий; например, создайте систему для хранения журналов трех серверов, расположенных далеко друг от друга».

К этому интервью, безусловно, нужно особым образом подготовиться, и самый известный ресурс, который может помочь — это Grokking System Design Interview. Хорошая новость: правильных ответов нет. Вы должны быть в состоянии обосновать свое решение и видеть его слабые стороны.

Поведенческое собеседование

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

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

Первое разочарование

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

Системное проектирование — решающий этап. Очень важно представить свои идеи структурированным образом и не упускать из виду такие детали, как схема базы данных, определение протокола и так далее (см. Grokking the System Design Interview). Проявите инициативу и ведите дискуссию логически, от сбора требований к высокоуровневому дизайну до обсуждения плюсов и минусов.

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

Фото: fizkes / Shutterstock

Второй шанс

Я поговорила со рекрутером и выразила свое замешательство. Я была почти уверена, что получу предложение, но результат был неожиданным. Я никогда не думала, что системное проектирование будет настолько важно. К счастью, меня ждало еще одно системное проектирование и одно кодирование. Я снова полетела в Лондон, чтобы пройти собеседование уже в другую компанию, а также на очередной этап в Facebook. Честно говоря, я была совершенно измотана, потому что прошла так много собеседований за последние пять месяцев и уже получила некоторые отрицательные результаты.

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

  • Совет: самые важные разделы этапа системного проектирования — сбор требований, определение протокола, высокоуровневое проектирование, схема базы данных, оценка размера данных, проектирование компонентов и его слабые стороны.

Обратная связь

Я получила обратную связь через две недели, и на этот раз она была положительной. Мне предложили должность E4 в Facebook Engineering. Вакансия в команде Facebook AR / VR уже была занята. Я думаю, что причина, по которой проектированию систем придавалось такое большое значение, заключалась в том, что инженеры E4 должны разбираться не только в программировании, но и в проектировании.

Вывод

Я никогда не думала, что поменять работу может быть трудно. Можно понять, как тяжело тем, кто еще находится в процессе поиска. Дела не всегда идут так, как планировалось, и в собеседовании всегда важную роль играет случай или удача. В такие времена мне помогает цитата из Бхагавад-гиты: «Ты имеешь право только на труд, но никогда — на его плоды. Не позволяйте плодам действия быть вашим мотивом и не позволяйте себе привязываться к бездействию».

Источник.

Фото на обложке: Dominic Lipinski / Getty Images

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

Источник: https://rb.ru/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *