Вопросы на собеседовании фронтендера: Лайв-кодинг
Задачи, которые пишут при интервьюере: строки, массивы, структуры данных и доменная логика. Ценится не столько работающий код, сколько ход мысли и умение обсуждать решение вслух.
Уровень — минимальный, с которого вопрос уместен: junior — базовая тема, middle — нужен опыт промышленной разработки, senior — архитектура и компромиссы.
Вопросов в теме: 45. Эталонные ответы и разбор твоего ответа — внутри тренажёра.
Как отвечать на вопросы темы «Лайв-кодинг»
Проговаривай решение до того, как писать код: что на входе, что на выходе, какие крайние случаи. Начни с простого работающего варианта, назови его сложность и только потом предлагай улучшения. Молча писать код — худший сценарий: интервьюеру не видно, что ты думаешь.
Это схема ответа, а не готовый ответ: формулировка вопроса ничего не стоит, если не можешь объяснить её вслух за две минуты.
Список вопросов темы «Лайв-кодинг»
- В приложении не работает кнопка Скрыть/Показать список. В чём может быть причина?junior и вышелайв-кодинг
Что проверяет: Умение находить ошибку в переключении булева состояния
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Как добавить в парсер выражений поддержку новых операций, например деления и вычитания?junior и вышелайв-кодинг
Что проверяет: Расширяемость архитектуры парсера
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как обрабатывать нецелые результаты при делении в парсере выражений?junior и вышелайв-кодинг
Что проверяет: Работа с числами с плавающей точкой при парсинге
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как обрабатывать номинал, для которого лимит не передан (undefined)?junior и вышелайв-кодинг
Что проверяет: Умение определить контракт для отсутствующих входных данных и обработать undefined
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Как определить, является ли пиксель сушей или водой, и как проверить, что координаты не выходят за границы изображения?junior и вышелайв-кодинг
Что проверяет: Вынесение проверки границ и типа клетки в отдельную функцию
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как упаковать две координаты в одно число и как потом восстановить их обратно?junior и вышелайв-кодинг
Что проверяет: Упаковка координат в индекс и обратное восстановление
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Кнопка Стоп не останавливает таймер генерации чисел. Почему так происходит и как исправить?junior и вышелайв-кодинг
Что проверяет: Понимание сброса локальных переменных при рендере и необходимости useRef для идентификатора таймера
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Напиши полифил для метода map массива (customMap), который принимает колбэк с аргументами: элемент, индекс, сам массив.junior и вышелайв-кодинг
Что проверяет: Умение реализовать полифил map с правильной сигнатурой колбэка
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Напиши функцию высшего порядка promisify, которая принимает функцию с callback-сигнатурой и возвращает функцию, возвращающую Promise. Как отличить успех от ошибки по аргументам callback?junior и вышелайв-кодинг
Что проверяет: Понимание error-first конвенции и оборачивания callback-функций в промисы
Из записи реального собеседования: React на 200к (11.10.2025)
- Напиши функцию для проверки актуальности данных в localStorage: если срок хранения истёк — удалить запись, иначе вернуть значение.junior и вышелайв-кодинг
Что проверяет: Умение реализовать проверку TTL для данных в localStorage
Из записи реального собеседования: Frontend на 250к (19.04.2025)
- Напиши функцию, которая разбивает сумму на купюры по доступным номиналам, отдавая приоритет крупным купюрам, и возвращает объект с количеством каждой купюры.junior и вышелайв-кодинг
Что проверяет: Умение реализовать жадный алгоритм размена суммы на купюры
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Напиши функцию, которая разворачивает массив с неограниченной вложенностью в одномерный.junior и вышелайв-кодинг
Что проверяет: Рекурсия и обработка пограничных случаев при работе с массивами
Из записи реального собеседования: Frontend с оффером на 270к (25.04.2026)
- Напиши функцию, которая считает количество будних и выходных дней между двумя датами.junior и вышелайв-кодинг
Что проверяет: Умение работать с датами и простыми алгоритмами
Из записи реального собеседования: Frontend Teamlead Оффер на 400k (07.06.2024)
- Напиши setTimeout с console.log внутри и объясни пошагово, что куда попадает при выполнении.junior и вышелайв-кодинг
Что проверяет: Понимание планирования таймера, макротасок и работы event loop
Из записи реального собеседования: Frontend на 350к (30.01.2026)
- Опиши обход в глубину (DFS) для поиска связной области на матрице: как работает стек и как помечать посещённые клетки?junior и вышелайв-кодинг
Что проверяет: Реализация итеративного DFS со стеком и множеством посещённых
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Почему для хранения посещённых пикселей выбран Set, а не массив координат?junior и вышелайв-кодинг
Что проверяет: Обоснование выбора структуры данных через сложность операций
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Почему при обходе лимитов не обязательно перебирать все номиналы, как в базовой задаче?junior и вышелайв-кодинг
Что проверяет: Понимание структуры входных данных и умение опираться на неё вместо лишних переборов
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Реализуй библиотеку-клиент для работы с localStorage: методы записи и чтения значения с ограниченным временем жизни (TTL).junior и вышелайв-кодинг
Что проверяет: Умение реализовать хранилище с TTL на localStorage
Из записи реального собеседования: Frontend на 250к (19.04.2025)
- Реализуй класс EventEmitter с методами подписки, отписки и триггера события.junior и вышелайв-кодинг
Что проверяет: Умение реализовать паттерн «издатель-подписчик» и продумать контракт методов
Из записи реального собеседования: React на 200к (11.10.2025); Frontend на 250к (11.04.2026)
- Реализуй мини-приложение с поисковой строкой и выпадающим списком персонажей (автокомплит) с состояниями загрузки и ошибки.junior и вышелайв-кодинг
Что проверяет: Умение построить компонент с запросом по вводу и обработкой состояний loading/data/error
Из записи реального собеседования: React на 200к (11.10.2025)
- Реализуй функцию группировки сообщений по дню месяца текущего года: на вход подаётся timestamp, на выходе сообщения сгруппированы по дню.junior и вышелайв-кодинг
Что проверяет: Умение группировать данные по вычисляемому ключу
Из записи реального собеседования: Frontend с оффером на 270к (25.04.2026)
- Реализуй функцию, которая принимает список категорий и возвращает дерево, сгруппировав категории по полю parent.junior и вышелайв-кодинг
Что проверяет: Умение построить дерево из плоского списка за один проход с использованием Map
Из записи реального собеседования: Frontend на 250к (19.04.2025)
- Что выведет код с функцией, которая вложенным циклом сравнивает два массива объектов и собирает совпадения в новый массив?junior и вышелайв-кодинг
Что проверяет: Внимательность к типам элементов при чтении кода
Из записи реального собеседования: Frontend на 390к (13.02.2026)
- Что делать, если сумму невозможно выдать доступными номиналами (например, 349 рублей при минимальном номинале 50)?junior и вышелайв-кодинг
Что проверяет: Умение обрабатывать невозможность выдачи суммы
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Что должна возвращать функция поиска таймаутнувшего RPC, если ни один RPC не превысил порог?junior и вышетеория
Что проверяет: Осознанность контракта функции и выбор null/undefined
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Напиши функцию, проверяющую корректность строки со скобками: каждая открывающая скобка закрывается парной, вложенность не нарушена.junior и вышелайв-кодинг
- Напиши функцию, которая рекурсивно суммирует все числовые значения в объекте бесконечной вложенности (значения — числа или вложенные объекты).junior и вышелайв-кодинг
- Event loop: в каком порядке выведутся значения? (синхронный код + промисы с .then + setTimeout)middle и вышелайв-кодинг
Что проверяет: ту же теорию (Q12), но в форме задачи — умение рассуждать вслух.
- В задаче выдачи купюр банкоматом: что делать, если запрошенную сумму невозможно выдать доступными номиналами?middle и вышелайв-кодинг
Что проверяет: Умение обрабатывать частичную выдачу с невыдаваемым остатком
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Дан лог RPC-вызовов. Напиши функцию, которая находит первый RPC, завершившийся по таймауту.middle и вышелайв-кодинг
Что проверяет: Умение работать с логом событий и находить аномалии
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как в задаче выдачи суммы купюрами учесть лимиты на количество купюр каждого номинала?middle и вышелайв-кодинг
Что проверяет: Умение расширить жадный алгоритм выдачи суммы с учётом ограничений на доступное количество купюр
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Как оптимизировать поиск пересечения двух массивов, избавившись от вложенного цикла?middle и вышелайв-кодинг
Что проверяет: Умение заменить O(n²) на хеш-таблицу и объяснить компромисс
Из записи реального собеседования: Frontend на 390к (13.02.2026)
- Какова временная и пространственная сложность рекурсивного парсера строки?middle и вышетеория
Что проверяет: Умение оценивать сложность рекурсивного алгоритма
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Напиши алгоритм, который максимально эффективно распределит вес по машинам грузоподъёмностью 1000, 500, 100 и 10 кг, чтобы не гнать много маленьких машин вместо одной большой.middle и вышелайв-кодинг
Что проверяет: Жадный алгоритм и аккуратная работа с остатком
Из записи реального собеседования: Frontend на 250к (11.04.2026)
- Напиши калькулятор: на вход подаётся строка с вложенными функциями add, multiply и pow, нужно вернуть целое число.middle и вышелайв-кодинг
Что проверяет: Рекурсивный разбор вложенных выражений
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Напиши функцию на TypeScript, которая по логу RPC-вызовов находит первый RPC, завершившийся с таймаутом больше заданного порога.middle и вышелайв-кодинг
Что проверяет: Типизация, Map для хранения стартов и обработка неполного лога
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Реализуй самописные Promise.all и Promise.allSettled и объясни, чем отличаются методы для параллельных запросов (all / allSettled / race / any).middle и вышелайв-кодинг
- Дан двумерный массив из символов суши и воды. Пользователь кликает по пикселю суши. Реализуй метод countLakes(image, coordinates), возвращающий количество озёр на острове, которому принадлежит пиксель.seniorлайв-кодинг
Что проверяет: Декомпозиция задачи на две фазы: обход острова и поиск замкнутых водоёмов
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как изменить парсер, чтобы функции могли принимать больше или меньше двух аргументов?seniorлайв-кодинг
Что проверяет: Обобщение решения на переменное число аргументов
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как найти острова и озёра в двумерной матрице из земли и воды и как учитывать диагональные связи земли и воды?seniorлайв-кодинг
Что проверяет: Выбор связности для земли и воды и построение алгоритма поиска островов и озёр
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как организовать обход строки и рекурсию при парсинге вложенных математических выражений?seniorлайв-кодинг
Что проверяет: Владение позиционным парсингом и рекурсией
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Как отличить озеро от океана при обходе матрицы?seniorлайв-кодинг
Что проверяет: Проверка выхода воды за границы bounding box острова
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Какие ограничения у решения задачи на основе bounding box и в каком случае оно даёт неверный результат?seniorтеория
Что проверяет: Понимание краевых случаев и границ применимости алгоритма на основе bounding box
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Проведи код-ревью функции формирования отчёта по пользователям: найди проблемы и предложи, как переписать её проще и структурированнее.seniorлайв-кодинг
Что проверяет: Навык ревью кода: обработка ошибок, константы, структура функции
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Реализуй функцию, которая принимает массив значений, асинхронный маппер и лимит параллельных потоков, применяет маппер к каждому элементу, выполняя не более limit операций одновременно, и сохраняет порядок результатов.seniorлайв-кодинг
Что проверяет: Умение реализовать пул задач с ограничением конкурентности и сохранением порядка результатов
Из записи реального собеседования: Frontend на 350к (30.01.2026)
Проверить себя по этим вопросам
Список вопросов — это чек-лист подготовки, но на собеседовании проверяют другое: умеешь ли ты объяснить это вслух за две минуты. Тренажёр задаёт вопрос голосом, записывает ответ и разбирает его по четырём критериям найма. 15 ответов в месяц бесплатно, без карты.