Узнайте, каково это — проходить собеседование в Facebook в 2023 году в качестве инженера-программиста.

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

Давайте поднимем ваше интервью на новый уровень!

Структура заработной платы Facebook в США

Вот средние зарплаты инженеров-программистов в Facebook в США:

  • SDE (E3): 186K
  • SDE (E4): 267 КБ
  • Старший SDE (E5): 385K

Процесс собеседования в фейсбуке

Вот чего ожидать от интервью на Facebook для инженера-программиста:

◈ Предварительный просмотр рекрутера (20–30 минут)

Первичный отбор по резюме. Вопросы, связанные с вашим профессиональным опытом, важными проектами и достижениями. Нет кодирования.

◈ Техническое телефонное интервью (45–60 мин.)

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

◈ Консультация на месте (4–5 собеседований)

Кодирование, дизайн и поведенческие вопросы.

  • Ниндзя (программирование, 2 интервью): 1–2 вопроса по кодированию, решенные на доске за 45 минут.
  • Пират (дизайн, 2 интервью): совместное обсуждение с интервьюером. Рисование на доске для решения вопроса о проектировании системы. Младшие инженеры не проходят собеседования по дизайну.
  • Джедай (поведенческий): вопросы о вашей мотивации, взаимодействии с людьми, проблемах и рабочей этике.

◈ Обед

Это не интервью. Интервьюер покажет вам окрестности и пообедает с вами.

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

  1. Структуры данных. Отработайте такие структуры данных, как Heaps, HashTable, Tree, LinkedList, Stack, Queue и Graph.
  2. Алгоритм: рекурсия, сортировка слиянием, быстрая сортировка, поиск в ширину, поиск в глубину, разделяй и властвуй и динамическое программирование.
  3. Объясните свой мыслительный процесс — чрезвычайно важно. Потренируйтесь четко и лаконично описывать свое решение и дизайнерские решения.
  4. Сотрудничество. Не забывайте обсуждать, предлагать несколько решений и прислушиваться к советам интервьюера.

Лучшие шаблоны кодирования для Facebook

  1. Две кучи
  2. "Раздвижное окно"
  3. Объединить интервалы
  4. Поиск в ширину дерева
  5. К-вэй слияние

Самые популярные последние вопросы о кодировании с тегами Facebook на LeetCode

Вот самые популярные вопросы по кодированию:

1. Правильное представление бинарного дерева (легко)

Грокпинг интервью по кодированию

Утверждение: для заданного двоичного дерева вернуть массив, содержащий узлы в его правом представлении. Правый вид бинарного дерева — это набор узлов, видимых, если смотреть на дерево справа.

2. Объединить отсортированные списки «К» (средний уровень)

Грокпинг интервью по кодированию

Утверждение. Имея массив связанных списков, отсортированных по K, объедините их в один отсортированный список.

3. Итератор двоичного дерева поиска (средний)

Грокпинг интервью по кодированию

Утверждение. Реализуйте итератор для упорядоченного обхода двоичного дерева поиска (BST). То есть, учитывая BST, нам нужно реализовать две функции:

  • bool haNext(): возвращает значение true, если хотя бы один элемент остается при упорядоченном обходе BST.
  • int next(): возвращает следующий элемент при обходе BST по порядку.

4. Сумма номеров путей (средняя)

Грокпинг интервью по кодированию

Утверждение. В двоичном дереве, где каждый узел может иметь только цифровое значение (0–9), каждый путь от корня к листу будет представлять число. Найдите общую сумму всех чисел, представленных всеми путями.

5. Интервалы слияния (средние)

Грокпинг интервью по кодированию

Утверждение. Имея список интервалов, объедините все перекрывающиеся интервалы, чтобы получить список, содержащий только взаимоисключающие интервалы.

6. Диаметр бинарного дерева (легко)

Грокпинг интервью по кодированию

Утверждение: для заданного бинарного дерева найдите длину его диаметра. Диаметр дерева — это количество узлов на самом длинном пути между любыми двумя листовыми узлами. Диаметр дерева может проходить через корень, а может и не проходить.

7. Медиана скользящего окна (жесткая)

Грокпинг интервью по кодированию

Утверждение. Учитывая массив чисел и число «k», найдите медиану всех подмассивов (или окон) размера «k» массива.

8. K-е наименьшее число в отсортированной матрице (сложно)

Грокпинг интервью по кодированию

Утверждение: дана матрица NN, в которой каждая строка и столбец отсортированы в порядке возрастания, найдите K-й наименьший элемент в матрице.

9. Раздел равной суммы подмножеств (средний)

Грокпинг интервью по кодированию

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

10. Инопланетный словарь (сложный)

Грокпинг интервью по кодированию

Утверждение: существует словарь, содержащий слова из инопланетного языка, для которых мы не знаем порядок букв. Напишите метод определения правильного порядка букв в инопланетном языке. Дано, что ввод является допустимым словарем и существует порядок среди его букв.

Главные вопросы по дизайну системы FB

Вот основные вопросы по проектированию системы:

  1. Дизайн новостной ленты Facebook
  2. Дизайн Facebook Messenger
  3. Дизайн Инстаграм
  4. Дизайн поиска статуса Facebook
  5. Дизайн рядом с друзьями

Главные вопросы о поведенческом интервью в Фейсбуке

Вот 7 лучших поведенческих вопросов, на которые вы должны подготовить хороший ответ/рассказ:

  1. Расскажите мне о том, что вы сделали, чем гордитесь.
  2. Расскажите мне о недавнем/интересном проекте, над которым вы работали.
  3. Как вы демонстрировали лидерство, когда не были менеджером?
  4. Какой ваш любимый продукт Facebook и как бы вы его улучшили?
  5. Как вам нравится давать и получать отзывы?
  6. Расскажите мне о случае, когда вы взяли на себя руководство в задаче, от которой не ожидали.
  7. Какие отличные совместные работы у вас были?

Удачного собеседования 🚀

Ссылка