Слогер Создать блог
Карьера

Как думать вслух на техническом собеседовании: скрипт из трёх проходов

Решение задачи — половина дела. Вторая половина — показать интервьюеру, как вы к нему пришли.

Бывает так: задачу вы решили, код рабочий. А интервьюер вежливо улыбается и говорит: «Не совсем понятно, как вы к этому пришли». В этот момент разговор, по сути, закончен.

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

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

Что на самом деле оценивают

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

Отсюда простой вывод: половину оценки вы получаете или теряете ещё до того, как напишете первую строку.

Скрипт из трёх проходов

Метод, который у меня в итоге сложился, звучит почти по-детски. Перед кодом вы проговариваете вслух три вещи, всегда в одном порядке.

  1. Пересказ задачи и ограничений. Своими словами. Это проверка, что вы услышали именно то, что спросили, а не то, что вам показалось. Заодно интервьюер видит: границы задачи вы держите в голове.
  2. Подход на верхнем уровне. Называете алгоритм или структуру и объясняете, почему именно они. Скажем, словарь для хранения уже встреченных чисел — потому что проверка существования занимает O(1), а два вложенных цикла дали бы O(n²).
  3. Код с проговариванием каждого шага. Каждая строка — с коротким «зачем». Вы поддерживаете инвариант вслух: «в seen лежат только числа, которые я уже прошёл».

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

«Сначала перескажу задачу, чтобы убедиться, что понял правильно: нужно…»

«План такой: делаю… потому что…»

«Начинаю писать. Держу словарь, в котором храню… по ходу перебора, чтобы проверять нужное значение за O(1)».

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

Молча и вслух: одна и та же задача

Вернёмся к задаче про два числа. Молчаливое решение: пустой словарь, цикл по массиву, на каждом шаге считаем complement = target минус текущий элемент, проверяем, есть ли он в словаре, если есть — возвращаем пару индексов, если нет — кладём текущее число в словарь. Всё верно, работает за один проход.

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

Теперь то же решение, но с голосом. «Перескажу задачу: нужны два разных индекса, сумма элементов по которым равна target, и хочется уложиться в линейное время. План — один проход и словарь уже встреченных пар значение-индекс, чтобы искать дополнение за константу. Завожу пустой словарь seen. Иду по списку через enumerate — мне нужны и значение, и его позиция. Для каждого числа считаю complement. Если он уже в seen — пара найдена, возвращаю два индекса. Иначе кладу текущее число в seen. Инвариант: в seen лежат только элементы, которые я уже просмотрел. Если цикл закончился без пары — по договорённости верну пустой список или брошу исключение».

Код тот же. Меняется другое: теперь видна логика, и интервьюер может поймать ошибку в момент, когда она появляется, а не после.

Ошибки, которые стоят оффера

ОшибкаЧто происходитКак исправить
Сразу лезть в кодИнтервьюер угадывает ваши намерения и может упустить недопониманиеВсегда начинать с пересказа задачи
Объяснять очевидноеТеряете время и звучите заученноОдна фраза на шаг, акцент на «почему», а не на синтаксисе
Молча дебажитьНепонятно, как вы ищете причину сбояПроговаривать: «вижу X, это намекает на Y, проверю Z»
Слова-заполнителиСбивают ритм и выдают неуверенностьЗаменять «эээ» на короткую паузу

Вторая строка таблицы — та, на которую наступают чаще всего. Нас учили показывать работу, а не объяснять её, поэтому тянет комментировать, что делает каждая скобка. Интервьюеру это не нужно. Ему нужно знать, почему выбран словарь и почему цикл один.

Когда проговаривать не надо

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

Как натренировать

Возьмите случайную задачу среднего уровня, поставьте таймер на пятнадцать минут и решите её вслух — с другом, с диктофоном, с плюшевой игрушкой, кому что ближе. Потом послушайте запись и проверьте две вещи.

  • Прозвучал ли пересказ задачи, прежде чем вы начали писать?
  • Было ли обоснование подхода до первой строки?

И отдельно — получила ли каждая строка кода своё короткое «зачем». Где провал, правьте скрипт и повторяйте. Проговаривание вслух ощущается неуклюже ровно до того момента, пока не станет привычкой; дальше вы просто говорите то, что и так думаете, только вслух.

Отдача, к слову, шире интервью. Умение объяснять ход решения пригодится в ревью, в разборе чужого баг-репорта и в разговоре с коллегой, который пришёл за советом. Интервьюер тут просто первый, кто это оценил.

👍1

По материалам: career. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (1)

Войдите, чтобы комментировать.

Aleksandr Zhuravlev 01.10.2026 04:11 ▲ 0
Спасибо, что поделился! Обязательно попробую потренироваться на какой-нибудь задаче вслух — хоть перед котом, хоть на диктофон. Думаю, это реально прокачает не только собеседования, но и обычные обсуждения с коллегами.
Деньги

Как выбрать автокредит в Австралии: сначала назначение машины, потом продукт

Потребительский автокредит и коммерческое финансирование — это две разные кредитные коробки для одной и той же машины. Разбираем, как определить своё и что требовать у кредитора письменно.

Слогер 01.10.2026 ▲ 0
Разработка

Заменит ли ИИ фронтенд-разработчика: разбор на живых примерах

Агент за один заход собирает рабочий плеер в стиле Winamp с эквалайзером и плейлистом — и это меняет расклад. Разбираем, что именно уходит из работы фронтендера, а что становится дороже.

Слогер 01.10.2026 ▲ 0
Личный опыт

Как написать неудобное сообщение и решиться на отложенный звонок: разбор с готовыми фразами

Звонок висит в списке третью неделю, хотя сам разговор занимает четыре минуты. Дело не в лени — дело в отсутствии готовых слов. Вот три правила и конкретные формулировки для опозданий, сорванных сроков и неприятных звонков.

Слогер 30.09.2026 ▲ 0
Разработка

Почему ревью кода не отменят: как проверять диффы от ИИ-агентов

Агенты пишут быстрее, чем люди читают, и из этого делают вывод, что человеческое ревью пора выкинуть. На деле меняется не сама проверка, а её форма: из чтения романа построчно она превращается в брифинг.

Слогер 30.09.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Карьера

Стоит ли уходить в кибербезопасность из-за ИИ: разбор на примере одной ошибки в коде

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

Слогер 30.09.2026 ▲ 0
Маркетинг

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

Один ретейнер на $450 в месяц за восемь выпусков в год показал: услуга по написанию email-рассылок держится не на платных сервисах, а на голосе бренда и редакторской дисциплине. Разбираю стек, процесс, цены и типичные провалы.

Слогер 29.09.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Карьера

Разбор: как устроен рынок Gmail-аккаунтов на продажу и почему покупка почти всегда убыточна

Свежие, PVA и aged-аккаунты продают за 1–5 долларов, обещая мгновенный старт и полную конфиденциальность. Разбираем, что скрывается за этими объявлениями, где тут риск и какие есть легальные способы получить нужное количество ящиков.

Слогер 29.09.2026 ▲ 1
Разработка

Почему «сколько кода я написал» — плохая метрика: как оценивать себя как программиста

Считать строки и гордиться тем, что всё написано из памяти, — привычка, которая мешает доводить проекты до конца. Разбираю, какие вопросы о своём коде стоит задавать вместо этого.

Слогер 29.09.2026 ▲ 0
Разработка

Как получать деньги через GitHub Sponsors: выплаты, налоги и частые ошибки

Sponsors не превратился в новую платёжную систему — изменилась обвязка вокруг выплат: налоги, фискальные хосты и биллинг. Разбираем, что нужно настроить до того, как профиль станет публичным.

Слогер 29.09.2026 ▲ 0
Разработка

Электронный документооборот в Fluxs: как договор перестаёт теряться между кабинетами

Во вторник договор ушёл юристу. В четверг клиент спрашивает, когда подпишем. Юрист говорит, что давно отдал в бухгалтерию. Бухгалтерия ничего не получала. В пятницу вечером договор находится — в почте у финансового директора, который в отпуске. Никто не ленился. Просто у документа не было маршрута. Мы сделали в Fluxs модуль «Документооборот». Коротко, что в нём есть: — маршрут согласования рисуется схемой: параллельные ветки, условие «если сумма больше миллиона — к финдиректору»; — сроки в рабочих часах, напоминания, передача руководителю при просрочке; — подпись кодом из письма или КЭП через КриптоПро прямо в браузере; — клиент согласует договор по ссылке, без регистрации; — ознакомление с приказами без листа с подписями. И отдельно про безопасность: если кто-то поправит решение или подпись прямо в базе, это будет видно в карточке документа. Модуль бесплатный с тарифа «Бизнес». Как

Слогер 28.09.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Карьера

Как зарабатывать на переводе и локализации без диплома: разбор воркфлоу на бесплатных инструментах

Процесс, который позволяет брать $340 за один заказ и превращать разовые сделки в ежемесячные ретейнеры — без дорогого софта и профильного образования.

Слогер 28.09.2026 ▲ 0