TGViewer
Coder Doesn’t Know Coder Doesn’t Know @coderdoesntknow · 1.1K subscribers
Post #307 1.24K
Как нужно себя вести на алгоритмическом собеседовании

Пошаговый план, чтобы решить любую задачу и получить заветный "Hire" 👍.

Здесь мы не будем обсуждать подготовку и предположим, что к алгоритмам ты уже готов(а). Если нет, то вот тебе ссылка на подробный план, как подготовиться.

Итак, как же действовать на собеседовании:

1️⃣ Нужно понять, в чём заключается проблема

• Прочитай вопрос (дважды! Да-да, потрать несколько дополнительных минут, но пойми задачу правильно).
• Возьми 1-2 примера и на них вслух воспроизведи проблему, а также то, что должно быть получено на выходе.
• Не стесняйся задавать уточняющие вопросы:
• Разбери возможные edge cases (крайние случаи).
• Разбери входные и выходные данные, их тип, что они могут в себе содержать, а также ограничения размеров (скорее всего, интервьюер скажет, что размер либо очень большой, либо небольшой, и тебе не стоит переживать на этот счёт. Уточнить всё равно стоит).

2️⃣ Как только мы разобрали, в чём собственно проблема, самое время предложить решение

• Начни с метода грубой силы (он же brute force или naive approach). Это когда ты предлагаешь самый простой вариант решения — обычно самый неоптимальный, но зато очевидный. Это необходимо: если ты не найдёшь решения лучше, у тебя уже будет хоть какой-то рабочий вариант. Помни, что написать плохое, но рабочее решение лучше, чем вообще ничего. Всё равно есть шанс получить хотя бы “weak hire” даже с самым naive решением.
• Оцени сложность по времени и памяти. На собеседованиях мы работаем с worst-case scenario (худшим сценарием).
• Ищи зацепки в описании задачи. Например, если массив отсортирован, нужно найти кратчайший путь, топ-К элементов и тому подобное. Это поможет понять, в каком направлении копать.
• Если же ты никак не можешь понять, как решить задачу, то примени бустеры - BHDCA (Boosters Help Developers Crack Algorithms):
• Brute force optimizations - посмотри на своё наивное решение. Если там есть зацепки вроде вложенных циклов или повторяющихся действий, то это потенциальное место для оптимизации.
• Hunt for properties - ищи математические или логические свойства. Ты как бы прищуриваешься и спрашиваешь себя: «А какое скрытое правило или закономерность здесь работают? Могу ли я сжульничать (в хорошем смысле) благодаря математике или логике?»
• Decrease the difficulty - упрости задачу. Например: если нужно идти в 4 направлениях, упрости и сначала реши так, будто направление всего одно.
• Cycle through the Catalog - мысленно пробегись по тому, какие структуры данных и алгоритмы ты учил(а).
• Articulate your blocker - скажи интервьюеру, что ты застрял(а), объясняя, что именно не можешь найти. Рассуждай вслух. Это даст твоему интервьюеру возможность помочь.

3️⃣ Объясни интервьюеру решение полностью.

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

4️⃣ ОЧЕНЬ ВАЖНО: Когда решение презентовано, получи «зелёный свет» от интервьюера.

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

5️⃣ Пишем код

• Сначала пишем основную логику.
• После - helper functions.
• Если застрял(а), то остановись, возьми какой-нибудь пример и пройдись шаг за шагом по коду.

6️⃣ Проверяем решение

Как только код полностью написан, нам обязательно нужно его проверить:
• Идём сверху вниз, будто мы отладчик (debugger).
• Все каверзные куски кода проверяем особенно тщательно.
• Сначала проверяем на простых примерах, после чего усложняем.
• Проверяем edge cases, которые обсудили в самом начале.
• Чекпоинтимся с интервьюером, что его всё устраивает.

Вот и всё! Работа мечты почти в кармане 😉. Не забывай, что интервьюер на собеседовании для того, чтобы найти хорошего кандидата, а не завалить тебя. Если в компании токсичное интервью, ты уверен(а), что тебе будет комфортно там работать?
Telegram Coder Doesn’t Know Как подготовиться к алгоритмам, если у вас есть только пара месяцев, а не год. 1️⃣ Старт для новичков Во-первых, если с алгоритмами ты никогда дел не имел(а), то стоит начать с easy задачек. Но каких? Я бы выбрал список под тип этого и просто шел бы задача…
  • ❤ 12
  • 🔥 8
  • 👎 2
  • 🫡 1
More from @coderdoesntknow
  1. Sep 25, 2026Java умерла, учим Go? Довольно часто натыкаюсь на мнение, что сейчас надо срочно учить Go…
  2. Sep 20, 2026Post #352
  3. Sep 18, 2026Теперь о серьёзном. Никто не желает в зопе поработать?
  4. Sep 13, 2026Чем отличается Middle, Senior и Staff на примере Google? Если максимально упростить, разни…
  5. Sep 9, 2026Уже видели новый складной айфон? 😍
  6. Sep 8, 2026Твоё интервью может пойти не по плану 🤔 Как-то раз мне попался интервьюер, который смог с…
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 →