Лайвкодинг на собеседовании: что смотрит интервьюер
Задачу дают почти всегда, но оценивают в ней не то, что принято думать. Разбираем фазы секции, что интервьюер отслеживает по ходу решения и чего он не оценивает вовсе.
Задачу на живое кодирование дают почти на каждом собеседовании, но оценивают в ней не то, что принято думать. Компании, публично описавшие свою методику, называют одно и то же: смотрят на подход к решению и на то, как человек работает с препятствием, а не на скорость набора и не на совпадение с эталонным ответом. Ниже — как устроена секция, что отслеживают по ходу и чего не оценивают вовсе.
Как устроена секция
Само кодирование — не вся секция, а её третья часть. В методике, которую компания описала публично, фаз четыре: знакомство, объяснение правил и ограничений, задача, закрытие с обратной связью.
Знать это полезно по двум причинам. Первая: время на задачу меньше, чем длится встреча, и рассчитывать надо на него. Вторая — фаза правил существует не для формальности. Там называют ограничения: чем можно пользоваться, нужно ли рабочее решение или достаточно подхода, что считается готовым. Это единственный момент, когда всё это можно спросить не в ущерб себе, и им стоит воспользоваться.
Отдельно стоит знать, что «задача» — не всегда абстрактная задача. Секция по языку у части компаний описана в карьерных материалах подробно, и состав там другой: ревью готового фрагмента с доработкой под бизнес-требование, смоделированная проблема с вопросом, как вы стали бы её решать, задание на асинхронную работу и применение примитивов языка к практическому случаю. Ни одного пункта про обход дерева. Это ближе к рабочей ситуации, чем к олимпиаде, и готовиться к такому надо иначе.
Разница между двумя форматами существенна, а узнать заранее, какой у вас, обычно можно: состав секций рекрутёр называет на первом звонке. Где какая секция бывает и сколько их — в разборе этапов собеседования.
Четвёртая фаза — закрытие с обратной связью — существует в описанной методике наравне с остальными. Практический смысл для вас в том, что вопросы в конце предусмотрены сценарием: можно спросить, чего не хватило в решении и какой подход интервьюер считал ожидаемым. Это не выпрашивание оценки, а штатная часть встречи, и она обычно даёт больше, чем разбор по памяти неделей позже.
Что отслеживают
Опубликованная методика называет четыре вещи: технический уровень, подход к решению, то, как человек справляется с препятствиями, и способность объяснить ход рассуждения. Инженер, прошедший такие секции с обеих сторон, формулирует почти тот же набор — решение проблем, логическое мышление, коммуникация и собственно знание языка.
Обратите внимание, что три пункта из четырёх не про код. Это и объясняет исходы, которые кажутся несправедливыми: дописанное рабочее решение без объяснений может проиграть недописанному, но разобранному вслух.
Признаки, которые методика называет хорошими, тоже не про скорость:
- уточняющие вопросы к условию до начала решения;
- проговаривание препятствий вслух, когда что-то не сходится;
- продвижение по нескольким задачам в течение секции;
- рост при усложнении — когда условие ужесточают, а человек подхватывает.
Последний пункт стоит прочитать внимательно. Усложнение задачи по ходу — не признак того, что вы плохо справились. Чаще наоборот: базовый вариант закрыт, и интервьюер ищет верхнюю границу.
Чего не оценивают
Список того, что на оценку не влияет, короткий — и он снимает большую часть напряжения. Та же методика называет прямо:
- стилистика и форматирование — если расхождение только в ней;
- имена переменных, когда их легко поправить;
- точное совпадение с эталонным решением интервьюера.
Последнее важнее первых двух. Ваше решение не обязано быть тем, которое интервьюер держит в голове. Другой рабочий подход — это другой рабочий подход, а не ошибка, и обосновать его уместнее, чем угадывать ожидаемый.
Оговорка, без которой список опасен: он описывает методику конкретной компании, которая её опубликовала. Считать его отраслевой гарантией нельзя — но как ориентир он полезен, потому что показывает порядок величин. Внимание, потраченное на подбор красивого имени переменной посреди секции, почти наверняка потрачено зря.
Почему надо говорить вслух
Роль интервьюера в этой секции описана как «резиновая уточка»: он слушает рассуждение, а не диктует решение. Отсюда следует неочевидное — молчание не нейтрально. Если ход мысли не озвучен, три критерия из четырёх остаются без предмета оценки, и оценивать интервьюеру будет нечего, кроме итогового кода.
То же касается затыка. Методика описывает поведение интервьюера прямо: попросить рассказать, что смущает, и обсудить подходы — а не выдать ответ. То есть затык переводит секцию в режим совместной работы, и это штатный сценарий, а не провал.
Практически это значит вот что:
- назвать, где встали. «Здесь я не вижу, как обойти повторный проход» — это вклад в разговор, а не признание поражения;
- проговаривать варианты, включая отброшенные. Почему вы не взяли очевидный путь — часть ответа;
- не молчать дольше нескольких секунд. Пауза, о которой предупредили, читается иначе, чем тишина.
Самый дешёвый способ выполнить всё это сразу — озвучить план до того, как написана первая строка. Двадцать секунд на «я собираюсь сделать так, сначала вот это, потом вот это, узкое место вижу здесь» дают интервьюеру предмет оценки авансом. Дальше, даже если код не дописан, ваш подход уже озвучен и зафиксирован. Побочный эффект приятный: план проще держать в голове, чем удерживать структуру решения в потоке набора, — и ошибок в самом коде становится меньше.
Про то, как устроен сильный ответ вообще — не только у доски, — есть отдельный разбор.
Как готовиться пропорционально
Готовиться к живому кодированию стоит пропорционально тому, сколько эта секция реально занимает, — и пропорция многих удивляет. Задачи с кодом — заметно меньше трёх процентов всех вопросов на собеседовании, порядка полутора штук на встречу. Секция почти всегда есть, но по объёму разговора она невелика. Подготовка, где марафон задач занимает всё время, распределена не по важности.
Что описывают как работающее люди, прошедшие эти секции:
Планировать до кода. Сначала набросать логику — на бумаге или в комментариях, — потом писать. Это заодно решает задачу проговаривания: план легко озвучить, а поток набора — нет.
Работать под наблюдением. Парное программирование или разбор задачи с коллегой воспроизводит главную сложность секции — необходимость объяснять действия по ходу. Одиночное решение задач эту мышцу не тренирует вовсе.
Проверить свою оценку сил на таймере. Инженер, описывавший свою подготовку, отмечает разрыв честно: в голове закрывался целый проект, на деле за отрезок успевалось покрасить кнопку. Такая калибровка полезнее ещё десяти решённых задач, потому что на секции время ограничено жёстко.
Показательно, что интенсивную практику на алгоритмических тренажёрах тот же человек осознанно не ведёт. Это не аргумент против задач — это аргумент против того, чтобы задачи были единственной подготовкой.
Если приводить это к плану, порядок получается такой. Сначала выяснить формат: абстрактная задача или ревью с доработкой — от этого зависит всё остальное. Потом отработать проговаривание, потому что оно закрывает три критерия из четырёх и не тренируется в одиночку. И только третьим пунктом — задачи, в объёме, соразмерном полутора штукам на встречу. Обратный порядок — самая частая и самая дорогая ошибка подготовки: он даёт человека, который умеет решать, но не умеет показывать, как он решает.
Готовьтесь не вслепую
Возьмите маршрут по своей роли и отрабатывайте ответы на вопросы с AI-разбором.