Был ли опыт лайкодинга
Что проверяют
Обычно вопрос про формат следующего этапа: интервьюер хочет понять, как вы поведёте себя, когда пишете код при нём, в реальном времени. Иногда имеют в виду лайвкодинг в работе: парное программирование, демо, разбор кода вслух на встрече. Следом часто просят рассказать про конкретную задачу и о том, где вы застряли.
Как отвечать
Лайвкодинг это не решение задач на LeetCode в одиночку, путать эти вещи не стоит. Ответ стройте из трёх частей:
- формат: где и как проходили. Во фронтенде это обычно небольшая задача на JavaScript или TypeScript в онлайн-редакторе (CodeSandbox, CoderPad, общий документ): написать
debounce, свойPromise.all, развернуть вложенный массив, собрать компонент на React с загрузкой данных и состояниями загрузки и ошибки, найти баг в готовом коде; - как вы работаете: уточняете условие и граничные случаи, проговариваете идею до кода, сначала пишете простое рабочее решение, потом улучшаете, прогоняете пару примеров руками. Рассуждение вслух интервьюеру важнее идеального кода;
- вывод: что получалось хорошо и что подтягивали. Например, после неудачи на задаче с асинхронностью разобрали event loop и порядок микрозадач.
Нужны свои примеры: какая была задача, сколько времени дали, чем закончилось. Выдуманная история про «прошёл все собеседования» разваливается на первом уточнении.
Если опыта не было, так и скажите, и сразу покажите подготовку: решали задачи вслух с таймером, практиковались в парном программировании с коллегой, знаете типичные задачи фронтенд-собеседований. Честное «не проходил, но вот как готовлюсь» звучит лучше, чем попытка выдать домашние задания за лайвкодинг.
Где спотыкаются
Молча пишут код. Интервьюер не видит хода мысли и не может подсказать, а при ошибке оценить уже нечего.
Сразу бросаются в оптимальное решение и не доводят до конца ничего. Рабочий перебор лучше незаконченного изящного алгоритма.
Отвечают на вопрос про опыт одним «да» или «нет». Это приглашение рассказать, как вы работаете под наблюдением, и короткий ответ эту возможность теряет.