TGViewer
Илья Шишков: код, собесы, IT Илья Шишков: код, собесы, IT @imhired · 5.34K subscribers
Post #46 816
Всем привет! Я давно обещал рассказать о своём собеседовании в Facebook. Всё никак этого не делал, но лучше поздно, чем никогда. Сегодня я хочу рассказать о первом этапе — Skype-собеседовании.

Disclaimer. ❗️ Это статья из цикла рассказов о том, как я проходил собеседования в различные IT-компании. В этих статьях я из этических соображений не раскрываю задачи, которые мне давали. Цель этих статей — сформировать картину того, какие знания и навыки требуют от кандидатов на позицию разработчика современные IT-компании.

Процесс собеседования в Facebook в моём случае начинался так
1️⃣ Мне пришло письмо от их рекрутера примерно с таким текстом: «Привет, Илья! Ты проходил у нас собеседование 2,5 года назад. Ты показал себя очень круто, давай попробуем ещё раз»
2️⃣ После моего согласия мы с рекрутером созвонились, и он рассказал, как замечательно работать в Facebook London и как много у них разных увлекательных проектов. Вот я не понимаю эту особенность рекрутеров что в Facebook, что в Google — им обязательно надо позвонить тебе по телефону. Ни Skype, ни Whatsapp им не подходят. Только телефон, только хардкор. Из-за этого половина разговора состоит из фразы: «Sorry, I didn't get your question. Can you repeat it?»
3️⃣ Когда рекрутер убедился, что я живой человек, у которого есть телефон, он передал меня другому человеку (он называется Recruiting Coordinator), который через e-mail согласовал со мной дату Skype-собеседования.
4️⃣ Где-то в процессе этого согласования мне объяснили, что дадут задачу на написание кода, который надо будет писать в онлайн-редакторе, а также прислали материалы для подготовки, в которых объясняется, как всё будет проходить и чего от меня ждут.

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

Интересным выдался день самого Skype-интервью. Так вышло, что я очень плохо спал предыдущей ночью, поэтому в день собеседования я поступил так. За два часа до собеседования поспал часок, а затем в течение часа непосредственно перед собеседованием порешал задачи на leetcode, чтобы «включить мозги».

Итак, началось собеседование. Оно развивалось по стандартной схеме: интервьюер представился, рассказал в двух словах, чем занимается в компании, и дал алгоритмическую задачку. В ней фигурировало два параметра: N и M. Я начал с того, что быстренько описал тривиальное решение за O(N log N). Интервьюер сказал, что это ок, но стоит поискать что-то побыстрее. Я стал рассуждать и достаточно быстро придумал решение за O(NM). Оно было неплохим, потому что по условию задачи M очень маленькое.

И вот тут произошло странное 🤔 Я спрашиваю интервьюера, стоит ли мне поискать асимптотически более быстрое решение или можно переходить к реализации того, что есть? А он отвечает: «Как хочешь». Честно говоря, я впал в ступор, потому что когда я сам собеседую людей, я не даю им писать код, пока они не придумают алгоритм с подходящей асимптотикой. При этом совсем не понятно, как интерпретировать вот это «как хочешь». Это значит «меня эта асимптотика устраивает, давай посмотрим, как ты пишешь код» или «делай что хочешь, а я потом напишу, что ты не придумал оптимальный алгоритм, поэтому собеседование провалено»? При этом моя интуиция говорила, что у задачи должно быть асимптотически более быстрое решение, поэтому я стал его искать.

К счастью, я нашёл его довольно быстро — с асимптотикой O(N log M). Интервьюера это удовлетворило, и я перешёл к реализации.

Я думаю, я не раскрою великую тайну, если скажу, что частью решения была реализация алгоритма многопутевого слияния (M-way merge, как сортировка слияниями, только сливаем не два отрезка, а M). Прямо скажем, не самая простая штука для написания в онлайн-редакторе без возможности запуска и отладки 😄 У меня получилось 32 строчки кода.
More from @imhired
  1. Sep 23, 2026Как пользоваться AI и не отупеть Продолжаю отвечать на ваши вопросы. В прошлый раз разбира…
  2. Sep 20, 2026😢 Просто соринка в глаз попала В этот день 10 лет тому назад мы начали работать над «Белы…
  3. Sep 18, 2026Код стал дешёвым. Что осталось программисту? Продолжаю отвечать на ваши вопросы. Сегодня р…
  4. Sep 14, 2026Senior — это не набор технологий Продолжаю цикл постов с ответами на вопросы подписчиков.…
  5. Sep 10, 2026Как я потратил 3 часа на анимации, которые пришлось выкинуть Привет! Я обещал ответить на…
  6. Sep 4, 2026Post #588
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →