Pull to refresh

Comments 27

Случай с Microsoft какой-то печальный. Не знал, что в ЕС стрессовые интервью все еще в ходу. А за слабое знание языка отчитывание и вовсе выглядит как дискриминация. Должно было оставаться тайной вплоть до решения и обратной связи, имхо.

Очень полезная статья, спасибо.

Как правильно заметили - если хотите выше должность, то обращайте особое внимание на scope & complexity ваших примеров поведенческого этапа. Это ключевой дифференциатор зачастую, почему кандидаты получают downgrade по результатам собеса.

По дизайну этот курс вы имели ввиду: https://www.educative.io/courses/grokking-the-system-design-interview ?

Спасибо за оценку и дополнение про downgrade.

Да, этот курс. Полезен для знакомства с форматом и популярными задачами.

Тоже неделю как работаю в Амазоне. Купил на educative подписку и прошел grokking problems и grokking system design interview. Хватило чтоб получить оффер. Leetcode не решал

А какой аналог FAANG у нас?
Первое что приходит в голову — ЯСМ (Яндекс, Сбер, Мэйл)

По уровню и сложности интервью только Яндекс может тягаться. Про уровень зарплат - ну тут только грустно промолчать можно.

Про уровень зарплат - ну тут только грустно промолчать можно.

Поправку на географию не забудьте. Не думаю, что в Польском, например, Амазоне высокие зарплаты.

Про польский не скажу, но друг работает в голландском, зарплата выше местного рынка от 1.5-2 раз и более

После учёта налогов и стоимости проживания - картина меняется.

А как сейчас с кандидатами из России? Релоцирует ли фаанг в тот же Лондон, помогает как то?

И собеседует и релоцирует, если конкретная позиция предполагает international external candidate. Не для всех позиций это так.

UFO just landed and posted this here

А что с языком программирования? У каждой компании может быть свой язык(и) бэкенда и когда есть цель трудоустроиться в FAANG, то что с ними? На каком языке решаются задачи? Язык не важен и предполагается, что пройдя все этапы ты сможешь писать код на любом языке? Или должен быть опыт каждого языков, которые используются в компаниях с которыми идут собесы?

С точки зрения собеседований в любом FAANG предложат минимум Python, Java, C++. Точные возможности надо обсуждать с рекрутером. Маловероятно, что согласятся собеседовать на непопулярных языках. Я готовился и проходил собеседования на Python.

В работе язык может быть другой. Время изучить и освоиться дадут.

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

Спасибо за статью

“В оценке сложности учесть все входные данные и их соотношение“

Можете подсказать что означает соотношение входных данных?

Я

Объясню на примере.

Задача на поиск дубликатов в двух отсортированных массивах. N – первый массив, M – второй.

Рассмотрим два решения. В оценке памяти не буду учитывать хранение результата:

  1. Через хеш-таблицу. Сложность O(N + M) по времени и O(min(N, M)) по дополнительной памяти.

  2. Через бинарный поиск. Сложность O(min(N, M) * lg(max(N, M))) по времени и O(1) по дополнительной памяти.

По оценке сложности первое решение быстрее.

Допустим, вы задали интервьюеру вопрос про соотношение размеров N и M. Он ответил, что M >> N, то есть N пренебрежимо мало относительно M. Тогда N из оценки можно убрать. Получим O(M) по времени и O(1) по памяти для первого решения и O(lgM) по времени и O(1) по памяти для второго. Оценка сложности для второго решения стала лучше при этом условии.

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

Дико извиняюсь, но для данной задачи не надо ни хеш-таблиц, ни бинарного поиска.

Так как массивы упорядочены, достаточно проходить одновременно по двум массивам, сравнивая их элементы, продвигаясь в том массиве, в котором текущий элемент меньше, чем в другом массиве (если упорядочение по возрастанию). Если равны - печатаем дубль и продвигаемся в обоих массивах. Время O(max(M, N)), память О(1).

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

Комментарий не про разбор всех возможных решений конкретной задачи, а про влияние соотношения входных данных на рассуждения. Рассуждения при M >> N справедливы и для этого решения.

Пример двух входных массивов M >> N:
M: 1, 2, 3, 4, ... , 999 999 999 999, 1 000 000 000 000
N: 1, 1 000 000 000 000

Merge будет работать за O(M), бинарный поиск за O(lgM).

У меня есть такой вопрос немного нестандартный — есть ли проблемы с трудоустройством скажем в фейсбук не имея собственно фейсбук аккаунта и с позицией "не собираюсь его заводить"? Помню одно время работал в копании специализирующейся на конструкторах сайтов с последующей публикацией в соцсетях, там это было довольно большой проблемой. Не является ли это идеологическим "No hire"?


Leetcode: 21 задача уровня Easy, 77 Medium, 9 Hard.
Курс по алгоритмам в ШАД Яндекс. Часть 1.
Английский с репетитором 6+ месяцев (3+ месяцев посвятили разбору поведенческих вопросов, написанию электронных писем, резюме)
Моки pramp.com: 18 Algo, 6 System Design, 3 Behave.
Видео по System Design: youtube
Курс Grokking the System Design Interview.
Около 30 итоговых собеседований с учетом Phone Screen.


А почему решили идти именно в FAANG? Не пробовали собеседоваться в небольшие компании/команды? Обычно там разговора за жизнь и прошлые проекты хватает. Да и потом с повышениями/поднятие зп и бюрократией проще.
Sign up to leave a comment.

Articles