Лайвкодинг: как пройти секцию, если задача не решается сразу
На этой секции проверяют не столько знание алгоритмов, сколько то, как вы думаете вслух. Разбираем, как этим воспользоваться.
Лайвкодинг ломает людей, которые в обычной работе пишут хороший код. Причина в том, что секция проверяет не то, что кажется: не умение решать задачи, а умение решать их вслух и под наблюдением.
Что оценивает интервьюер
Работающее решение — только один пункт из четырёх, и не самый весомый.
- Как вы разбираетесь в условии. Задачу обычно формулируют неполно нарочно. Уточняющие вопросы — часть проверки, а не признак непонимания.
- Слышно ли ваши рассуждения. Молчаливый кандидат, написавший верный код, часто проигрывает тому, кто вслух пришёл к решению попроще.
- Что происходит, когда вы застряли. Это моделирует реальную работу лучше, чем сама задача.
- Проверяете ли вы себя. Крайние случаи, тесты, оценка сложности.
Как распределить время
Типичная секция — 45 минут. Большинство начинает писать код на второй минуте и упирается на двадцатой.
Первые пять минут: уточнить
Не приступайте к коду, пока не проговорили условие своими словами. Спросите про размер входа, про допустимые значения, про то, что считать корректным ответом в вырожденных случаях.
«Массив может быть пустым? Числа только целые и положительные? Дубликаты возможны? Насколько большой вход — миллион элементов влезет в память?»
Эти вопросы часто и есть скрытая часть задачи: ответ на них меняет решение.
Следующие семь: проговорить подход
Скажите, как собираетесь решать и почему, до того как начнёте писать. Начните с наивного решения — это нормально и даже полезно.
«Самое простое — два вложенных цикла, это квадрат. Для миллиона элементов не подойдёт. Можно за один проход со словарём: храним, что уже видели, — получится линейное время и линейная память. Пишу этот вариант, если не возражаете.»
Здесь вы уже показали, что видите несколько решений и понимаете их цену. Даже если дальше код не дойдёт до конца, эта часть засчитывается.
Двадцать три минуты: писать код
Комментируйте по ходу, но коротко. Не нужно проговаривать каждую строчку — достаточно объявлять блоки: «сейчас обработаю случай пустого входа», «здесь основной цикл».
Последние десять: проверить
Прогоните код на примере из условия вручную, вслух. Потом на крайних случаях: пустой вход, один элемент, все одинаковые, отрицательные значения.
Найденный вами баг — плюс, а не минус. Найденный интервьюером — наоборот.
Если решение не приходит
Это главный сценарий, к которому стоит готовиться отдельно: он случается часто, и именно в нём люди сдаются раньше времени.
Скажите вслух, где вы застряли. Не «я не знаю», а конкретно: «вижу, как найти пары за квадрат, не соображу, как ускорить». Интервьюер почти всегда даст подсказку — он заинтересован в вашем прохождении.
Напишите наивное решение. Работающий перебор лучше пустого экрана. От него можно оттолкнуться: «работает, но квадрат — давайте подумаю, что тут лишнее».
Разберите пример руками. Возьмите маленький вход и решите его на бумаге, проговаривая шаги. Решение часто проступает именно здесь, а интервьюер видит ход мысли.
Спросите про направление. «Я думаю в сторону хеш-таблицы. Это разумно или смотрю не туда?» Это не поражение — так работают на реальных задачах.
Провальный вариант один: молча смотреть в экран. Пять минут тишины интервьюер трактует как «не знает», даже если вы в этот момент напряжённо думаете.
Технические мелочи, которые портят впечатление
- Незнакомый редактор. Если секция в CoderPad или Google Docs — откройте их заранее и напишите пару строк. Борьба с отступами на глазах у интервьюера отнимает время и внимание.
- Неудобный экран. При демонстрации экрана увеличьте шрифт: интервьюер смотрит на ваш код через сжатое видео.
- Уведомления. Отключите до начала. Всплывшее личное сообщение в середине решения — не то, что нужно.
- Названия переменных.
a,b,tmpв спокойной обстановке простительны, на секции читаются как небрежность.
Как готовиться
Решать задачи молча — плохая подготовка к лайвкодингу: вы тренируете не тот навык. Проговаривайте решение вслух, даже наедине с собой. Первые разы будет неловко, и это ровно та неловкость, которую лучше пережить дома.
Полезно записать себя на 15 минут и послушать. Обычно выясняется, что пауз намного больше, чем казалось изнутри.
Коротко
- Оценивают ход мысли, а не только итоговый код.
- Пять минут на уточнения, семь на проговаривание подхода — не пропускайте их.
- Наивное решение вслух лучше молчаливого поиска идеального.
- Застряли — скажите об этом словами и попросите направление.
- Оставьте время на крайние случаи: свой найденный баг лучше чужого.
Шпора — ИИ-помощник, который слышит вопрос интервьюера и за секунду выводит опору для ответа. Работает на вашем компьютере с любой видеосвязью.
Попробовать бесплатно