База вопросов с собеседований фронтенд-разработчика
Здесь весь список вопросов, по которым идёт тренировка: 668, и 536 из них собраны из записей реальных собеседований — у таких вопросов видно, из какого разбора он пришёл. Разбито по темам, уровни указаны честно: junior-пользователь видит только те вопросы, которые ему по силам.
Темы
Каждая тема — отдельная страница со всем списком вопросов, категорией, уровнем и тем, что именно вопрос проверяет.
Типы данных, замыкания, this, прототипы, промисы и event loop.
Типизация без any, дженерики, utility types, narrowing и типизация стороннего кода.
Рендеринг и реконсиляция, хуки, мемоизация, эффекты, управление состоянием и ключи в списках.
Семантика, блочная модель, Flexbox и Grid, специфичность, адаптивность и доступность.
HTTP, CORS, cookies, кэширование, DOM, критический путь рендеринга и WebSocket.
Метрики Core Web Vitals, оптимизация загрузки, ленивые компоненты, индексация и мета-теги.
SOLID, паттерны, слои и модули, Feature-Sliced Design, сборка и код-ревью.
Виды тестов, код-ревью, релизный цикл, инциденты в проде и работа с техдолгом.
Почему меняешь работу, чего ждёшь от новой роли, как рассказываешь о себе и своих проектах, как ведёшь себя, когда нагрузка выше сил.
Server Components, роутинг, Server Actions, серверный рендеринг и сравнение фреймворков между собой.
XSS, CSRF, CSP, OAuth и работа со сторонними зависимостями.
Архитектура фронтенд-приложения, управление состоянием, кэширование, балансировка и отказоустойчивость.
Задачи, которые пишут при интервьюере: строки, массивы, структуры данных и доменная логика.
Вопросы из последних разборов
Это вопросы, которые задавали настоящие интервьюеры — их слышно в записи собеседования.
- Что должна возвращать функция поиска таймаутнувшего RPC, если ни один RPC не превысил порог?junior и вышетеория
Что проверяет: Осознанность контракта функции и выбор null/undefined
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Что делать, если сумму невозможно выдать доступными номиналами (например, 349 рублей при минимальном номинале 50)?junior и вышелайв-кодинг
Что проверяет: Умение обрабатывать невозможность выдачи суммы
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Что выведет код с функцией, которая вложенным циклом сравнивает два массива объектов и собирает совпадения в новый массив?junior и вышелайв-кодинг
Что проверяет: Внимательность к типам элементов при чтении кода
Из записи реального собеседования: Frontend на 390к (13.02.2026)
- Реализуй функцию, которая принимает список категорий и возвращает дерево, сгруппировав категории по полю parent.junior и вышелайв-кодинг
Что проверяет: Умение построить дерево из плоского списка за один проход с использованием Map
Из записи реального собеседования: Frontend на 250к (19.04.2025)
- Реализуй функцию, которая принимает массив значений, асинхронный маппер и лимит параллельных потоков, применяет маппер к каждому элементу, выполняя не более limit операций одновременно, и сохраняет порядок результатов.seniorлайв-кодинг
Что проверяет: Умение реализовать пул задач с ограничением конкурентности и сохранением порядка результатов
Из записи реального собеседования: Frontend на 350к (30.01.2026)
- Реализуй функцию группировки сообщений по дню месяца текущего года: на вход подаётся timestamp, на выходе сообщения сгруппированы по дню.junior и вышелайв-кодинг
Что проверяет: Умение группировать данные по вычисляемому ключу
Из записи реального собеседования: Frontend с оффером на 270к (25.04.2026)
- Реализуй мини-приложение с поисковой строкой и выпадающим списком персонажей (автокомплит) с состояниями загрузки и ошибки.junior и вышелайв-кодинг
Что проверяет: Умение построить компонент с запросом по вводу и обработкой состояний loading/data/error
Из записи реального собеседования: React на 200к (11.10.2025)
- Реализуй класс EventEmitter с методами подписки, отписки и триггера события.junior и вышелайв-кодинг
Что проверяет: Умение реализовать паттерн «издатель-подписчик» и продумать контракт методов
Из записи реального собеседования: React на 200к (11.10.2025); Frontend на 250к (11.04.2026)
- Реализуй библиотеку-клиент для работы с localStorage: методы записи и чтения значения с ограниченным временем жизни (TTL).junior и вышелайв-кодинг
Что проверяет: Умение реализовать хранилище с TTL на localStorage
Из записи реального собеседования: Frontend на 250к (19.04.2025)
- Проведи код-ревью функции формирования отчёта по пользователям: найди проблемы и предложи, как переписать её проще и структурированнее.seniorлайв-кодинг
Что проверяет: Навык ревью кода: обработка ошибок, константы, структура функции
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Почему при обходе лимитов не обязательно перебирать все номиналы, как в базовой задаче?junior и вышелайв-кодинг
Что проверяет: Понимание структуры входных данных и умение опираться на неё вместо лишних переборов
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Почему для хранения посещённых пикселей выбран Set, а не массив координат?junior и вышелайв-кодинг
Что проверяет: Обоснование выбора структуры данных через сложность операций
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
Знать вопросы — половина дела
На собеседовании проваливаются не от незнания, а от неумения рассказать: мысль есть, а вслух она рассыпается. Поэтому тренажёр не даёт выбрать вариант из четырёх — он просит отвечать голосом и показывает разбор: что упустил, где потерял структуру, как ответил бы сильный кандидат. 15 ответов в месяц бесплатно, без карты.