Вопросы на собеседовании фронтендера: JS Core
Типы данных, замыкания, this, прототипы, промисы и event loop. С этой темы начинается почти любое фронтенд-собеседование, и на junior-позициях она же решает исход. Вопросы проверяют не заученные определения, а понимание: почему код ведёт себя именно так.
Уровень — минимальный, с которого вопрос уместен: junior — базовая тема, middle — нужен опыт промышленной разработки, senior — архитектура и компромиссы.
Вопросов в теме: 95. Эталонные ответы и разбор твоего ответа — внутри тренажёра.
Как отвечать на вопросы темы «JS Core»
Интервьюер ждёт не определение, а объяснение механизма: что происходит, в каком порядке и почему. Начни с сути в одном предложении, дальше раскрывай детали. Обязательно назови границы — где механизм ведёт себя иначе. Короткий пример из практики отличает того, кто работал, от того, кто выучил.
Это схема ответа, а не готовый ответ: формулировка вопроса ничего не стоит, если не можешь объяснить её вслух за две минуты.
Список вопросов темы «JS Core»
- В чём опасность использования setInterval и setTimeout и как избежать утечки памяти?junior и вышетеория
Что проверяет: Понимание необходимости очистки таймеров и роли cleanup-функции в useEffect
Из записи реального собеседования: Frontend на 250к (19.04.2025)
- В чём отличие между Map и Set в JavaScript?junior и вышетеория
Что проверяет: Знание коллекций Map и Set и их отличий
Из записи реального собеседования: Frontend Teamlead Оффер на 400k (07.06.2024); Frontend на 250к (11.04.2026); мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025); Frontend на 250к (19.04.2025); React на 200к (11.10.2025)
- В чём отличие stopPropagation от stopImmediatePropagation?junior и вышетеория
Что проверяет: Различие между остановкой распространения события и остановкой остальных слушателей на элементе
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- В чём разница между for...in и for...of?junior и вышетеория
Что проверяет: Понимание различий перебора ключей и значений и требований к итераторам
Из записи реального собеседования: Frontend Teamlead Оффер на 400k (07.06.2024)
- В чём разница между map и forEach?junior и вышетеория
Что проверяет: Понимание разницы между методами массива с возвратом и без
Из записи реального собеседования: Frontend на 390к (13.02.2026)
- В чём удобство async/await по сравнению с промисами?junior и вышетеория
Что проверяет: Понимание синтаксического сахара async/await и его преимуществ
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Для чего нужен оператор typeof и какие типы данных он возвращает?junior и вышетеория
Что проверяет: Знание оператора typeof и классификации типов данных в JavaScript
Из записи реального собеседования: Frontend React на 280к (27.08.2024)
- Для чего нужен файл package-lock.json и от чего он защищает?junior и вышетеория
Что проверяет: Понимание воспроизводимости сборки и целостности зависимостей
Из записи реального собеседования: Frontend с оффером на 300к (23.03.2026)
- Доводилось ли применять setTimeout с нулевой задержкой? Для каких целей?junior и вышетеория
Что проверяет: Понимание практического применения setTimeout с нулевой задержкой
Из записи реального собеседования: Frontend с оффером на 270к (25.04.2026)
- Что такое контекст (this)? Как его потерять и как привязать?junior и вышетеория
Что проверяет: понимание одной из самых «провальных» тем.
- Есть два setTimeout: первый на 10 секунд, второй на 5. Будет ли второй ждать завершения первого?junior и вышетеория
Что проверяет: Понимание параллельного отсчёта таймеров в Web API
Из записи реального собеседования: Frontend на 250к (11.04.2026)
- Как в JavaScript работают импорты? Что такое ES-модули и работают ли они в браузере напрямую?junior и вышетеория
Что проверяет: Понимание работы импортов и ES-модулей в браузере
Из записи реального собеседования: Frontend на 350к (30.01.2026)
- Как выполнить поверхностное и глубокое копирование объекта с большой вложенностью?junior и вышетеория
Что проверяет: Знание способов поверхностного и глубокого копирования объектов и их ограничений
Из записи реального собеседования: Frontend на 250к (26.04.2025); Frontend на 220к (01.05.2025)
- Как обрабатывать клики по динамически добавляемым элементам и обновлять значение в input?junior и вышетеория
Что проверяет: Работа с event.target и обновлением состояния
Из записи реального собеседования: Frontend с оффером на 4000$ (30.03.2026)
- Как обработать ошибку при асинхронном запросе за пользователями и что вернуть в случае ошибки?junior и вышетеория
Что проверяет: Умение обрабатывать ошибки async/await и возвращать безопасное значение
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Как оптимизировать последовательные асинхронные запросы, если они независимы друг от друга?junior и вышетеория
Что проверяет: Умение распознавать независимые запросы и распараллеливать их
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023)
- Как остановить выполнение forEach по большому массиву? Какие есть способы?junior и вышетеория
Что проверяет: Знание того, что forEach не прерывается, и альтернатив для раннего выхода
Из записи реального собеседования: Frontend на 250к (11.04.2026)
- Как передать контекст (this) в функцию, вызываемую через setTimeout, не создавая лишнюю константу?junior и вышетеория
Что проверяет: Знание bind и дополнительных аргументов setTimeout
Из записи реального собеседования: Frontend на 250к (30.10.2025)
- Как правильно обрабатывать ошибки при работе с промисами и async/await?junior и вышетеория
Что проверяет: Знание try/catch, .catch и finally
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023); React на 200к (11.10.2025)
- Как правильно реализовать подсчёт времени (секундомер), если таймеры неточные?junior и вышетеория
Что проверяет: Умение считать время от timestamp, а не инкрементом
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023)
- Как работает всплытие (hoisting) в JavaScript в контексте переменных и функций?junior и вышетеория
Что проверяет: Понимание hoisting для function declaration и var, а также области видимости
Из записи реального собеседования: Frontend на 250к (26.04.2025); Frontend c оффером 350к (13.02.2026)
- Как реализовать структуру данных стек в JavaScript?junior и вышетеория
Что проверяет: Понимание, что массив с push/pop покрывает операции стека.
Из записи реального собеседования: мок-собеседование по фронтенду, часть 1 (22.02.2025)
- Как сравнить два объекта в JavaScript?junior и вышетеория
Что проверяет: Понимание ссылочной природы объектов и способов их сравнения
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023); JavaScript на 250к (19.08.2025)
- Как удалить N-й элемент из массива по индексу? Какие быстрые способы есть?junior и вышетеория
Что проверяет: Знание методов работы с массивами и их различий
Из записи реального собеседования: Frontend Teamlead Оффер на 400k (07.06.2024)
- Какие методы для работы с промисами ты знаешь и что делают Promise.all и Promise.race?junior и вышетеория
Что проверяет: Знание методов Promise.all, race, allSettled, any и их отличий
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Какие основные способы работы с асинхронными запросами существуют в JavaScript?junior и вышетеория
Что проверяет: Знание промисов, async/await и генераторов
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023)
- Какие способы объявления функций существуют в JavaScript и чем они отличаются?junior и вышетеория
Что проверяет: Знание function declaration, function expression и стрелочных функций, различия в this
Из записи реального собеседования: Frontend React на 280к (27.08.2024)
- Какие циклы есть в JavaScript?junior и вышетеория
Что проверяет: Знание видов циклов
Из записи реального собеседования: Frontend Teamlead Оффер на 400k (07.06.2024)
- Каким одним прилагательным можно описать JavaScript, если учесть все поддерживаемые им парадигмы?junior и вышетеория
Что проверяет: Знание термина «мультипарадигменный» и поддерживаемых парадигм
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Какую проблему решают промисы и зачем они появились?junior и вышетеория
Что проверяет: Понимание причин появления промисов и их преимуществ
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Какую структуру данных выбрать для хранения упорядоченного списка уникальных строк?junior и вышетеория
Что проверяет: Выбор между массивом и Set с учётом порядка и уникальности
Из записи реального собеседования: Frontend React на 280к (27.08.2024)
- Код должен выводить Привет, меня зовут Алекс, но выводит undefined. Почему и как починить?junior и вышелайв-кодинг
Что проверяет: Понимание hoisting и разницы между function declaration и function expression
Из записи реального собеседования: Frontend на 250к (30.10.2025)
- Можно ли дважды вызвать bind?junior и вышетеория
Что проверяет: Понимание поведения bind при повторном вызове
Из записи реального собеседования: мок-собеседование по фронтенду, часть 2 (22.02.2025)
- Напиши функцию, которая удаляет дубликаты из массива с помощью Set.junior и вышелайв-кодинг
Что проверяет: Умение использовать Set для удаления дубликатов и преобразовывать его в массив
Из записи реального собеседования: JavaScript на 250к (19.08.2025)
- Нужно ли вручную очищать локальную Map после завершения функции и почему?junior и вышетеория
Что проверяет: Понимание сборки мусора и уместности WeakMap
Из записи реального собеседования: Frontend (TS) на 7100€ (14.08.2026)
- Почему нельзя использовать JSON.stringify и JSON.parse для клонирования или сравнения объектов?junior и вышетеория
Что проверяет: Понимание ограничений JSON-сериализации
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023)
- Почему у примитивов в JavaScript есть методы, например у строки метод toUpperCase? Как это работает?junior и вышетеория
Что проверяет: Понимание механизма боксинга
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025); Frontend на 250к (19.04.2025)
- Почему setTimeout с задержкой 5 секунд выполняется сразу, а не через 5 секунд?junior и вышелайв-кодинг
Что проверяет: Понимание разницы между передачей функции и её вызова в setTimeout
Из записи реального собеседования: Frontend на 250к (30.10.2025)
- Сколько примитивных типов в JavaScript и какой тип является ссылочным?junior и вышетеория
Что проверяет: Знание типов данных JavaScript
Из записи реального собеседования: Frontend на 390к (13.02.2026)
- Справится ли функция удаления дубликатов с массивом строк? А с массивом объектов? Почему?junior и вышетеория
Что проверяет: Понимание сравнения примитивов и объектов в Set
Из записи реального собеседования: JavaScript на 250к (19.08.2025)
- Считаешь ли ты JavaScript объектно-ориентированным языком и почему?junior и вышетеория
Что проверяет: Понимание принципов ООП и того, что они не сводятся к синтаксису class
Из записи реального собеседования: Frontend с оффером на 5000$ (06.04.2026)
- Чем отличается оператор spread от rest?junior и вышетеория
Что проверяет: Понимание разницы между spread и rest при одинаковом синтаксисе трёх точек
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Чем отличаются примитивные и непримитивные типы данных в JavaScript?junior и вышетеория
Что проверяет: Понимание сравнения по значению и по ссылке
Из записи реального собеседования: Frontend React на 280к (27.08.2024)
- Чем отличаются function declaration, function expression и стрелочная функция? Какие из них всплывают и чем удобна стрелочная функция?junior и вышетеория
Что проверяет: Сравнение видов функций по hoisting, синтаксису и поведению this
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Что вернёт typeof для new String('abc') и для литерала 'abc' и почему?junior и вышетеория
Что проверяет: Понимание объектов-обёрток и прототипного доступа к методам
Из записи реального собеседования: Frontend React на 280к (27.08.2024)
- Что выведет код с циклом for (let i = 1; i <= 5; i++) и setTimeout внутри, логирующим i?junior и вышелайв-кодинг
Что проверяет: Понимание event loop и области видимости let в цикле
Из записи реального собеседования: Frontend разработчика оффер на 250k (03.11.2024); Frontend c оффером 350к (13.02.2026)
- Что выведет код с bind и частичным применением аргументов? Объясни результат.junior и вышелайв-кодинг
Что проверяет: Понимание частичного применения аргументов через bind
Из записи реального собеседования: Frontend на 250к (30.10.2025)
- Что делает функция, которая принимает input и output?junior и вышетеория
Что проверяет: Понимание назначения функции по её сигнатуре
Из записи реального собеседования: JavaScript на 250к (19.08.2025)
- Что может произойти на клиенте при сложении дробных чисел и как обычно решают эту проблему?junior и вышетеория
Что проверяет: Понимание особенностей чисел с плавающей точкой и практик работы с денежными суммами
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Что означает запись react: ^18 в package.json и какая версия установится при npm install?junior и вышетеория
Что проверяет: Понимание семвер-диапазонов в package.json и того, как npm резолвит версии
Из записи реального собеседования: Frontend с оффером на 300к (23.03.2026)
- Что относится к микротаскам, а что к макротаскам?junior и вышетеория
Что проверяет: Знание примеров микро- и макротасок
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Что произойдёт, если написать 5.toString()? Что вызовется?junior и вышетеория
Что проверяет: Понимание автоупаковки примитивов в объекты-обёртки
Из записи реального собеседования: мок-собеседование по фронтенду, часть 2 (22.02.2025)
- Что произойдёт, если повторно вызвать then у промиса?junior и вышетеория
Что проверяет: Понимание, что then всегда возвращает новый промис
Из записи реального собеседования: Frontend на 250к (30.10.2025)
- Что такое динамический импорт и для чего он нужен?junior и вышетеория
Что проверяет: Понимание ленивой загрузки модулей и code splitting
Из записи реального собеседования: Frontend Teamlead Оффер на 400k (07.06.2024)
- Что такое замыкание и что такое лексическое окружение?junior и вышетеория
Что проверяет: Понимание замыкания и лексического окружения, их различия
Из записи реального собеседования: Frontend на 350к (30.01.2026)
- Что такое коллизия хеш-таблицы и что такое хеширование?junior и вышетеория
Что проверяет: Понимание хеширования и коллизий
Из записи реального собеседования: Frontend на 250к (11.04.2026)
- Что такое область видимости в JavaScript и какие виды области видимости существуют?junior и вышетеория
Что проверяет: Понимание областей видимости и различий var, let, const
Из записи реального собеседования: Frontend на 250к (19.04.2025); Frontend на 250к (26.04.2025)
- Что такое промис и какие у него основные состояния?junior и вышетеория
Что проверяет: Понимание промисов, их состояний и проблемы, которую они решают
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Что такое прототипное наследование и как создать объект с определённым прототипом?junior и вышетеория
Что проверяет: Понимание прототипного наследования и метода Object.create
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Что такое самовызывающиеся функции (IIFE), чем они удобны и что с их помощью можно реализовать?junior и вышетеория
Что проверяет: Понимание IIFE и создания изолированной области видимости
Из записи реального собеседования: Frontend на 250к (26.04.2025)
- Что такое структура данных и какие структуры данных ты знаешь?junior и вышетеория
Что проверяет: Понимание, что такое структура данных, и знание базовых структур
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Что такое хеш-таблица и как в ней происходят поиск, добавление и удаление элементов?junior и вышетеория
Что проверяет: Понимание устройства хеш-таблицы и причин её быстродействия
Из записи реального собеседования: Frontend на 250к (11.04.2026)
- Что такое debounce и как его применить при быстром изменении фильтров?junior и вышетеория
Что проверяет: Понимание debounce и его применения к запросам
Из записи реального собеседования: мок-собеседование по фронтенду, часть 1 (22.02.2025); React на 200к (11.10.2025)
- Что такое JavaScript как язык программирования?junior и вышетеория
Что проверяет: Общее понимание природы языка и его ключевых свойств
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Что такое WeakMap и WeakSet и для чего они используются?junior и вышетеория
Что проверяет: Понимание слабых коллекций и их роли в предотвращении утечек памяти
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025); Frontend на 250к (19.04.2025); Frontend на 250к (11.04.2026)
- Что ты можешь сказать про работу setInterval?junior и вышетеория
Что проверяет: Понимание неточности таймеров и их связи с setTimeout
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023)
- Является ли код внутри конструктора new Promise синхронным?junior и вышетеория
Что проверяет: Понимание синхронности executor промиса
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Event listener — это микротаска или макротаска?junior и вышетеория
Что проверяет: Понимание, что обработчик события не является задачей очереди event loop
Из записи реального собеседования: Frontend на 350к (30.01.2026)
- JavaScript однопоточный? Что можно сказать про синхронность?junior и вышетеория
Что проверяет: Понимание однопоточности языка и источника асинхронности
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Расскажи, как работают всплытие и погружение событий в браузере и как этим управлять?junior и вышетеория
- Как устроено наследование в JavaScript и чем оно отличается от других языков?junior и вышетеория
- Как выполнять фоновые операции в браузере? Что такое Service Worker?junior и вышетеория
- В чём разница между var, let и const?junior и вышетеория
Что проверяет: понимание области видимости, поднятия (hoisting) и временной мёртвой зоны — база, с которой начинается любой JS-собес.
- Что такое замыкание? Приведи пример, где оно реально нужно.junior и вышетеория
Что проверяет: понимание лексического окружения и умение показать пользу, а не только определение.
- Чем == отличается от ===? Назови случай, где == ведёт себя неожиданно.junior и вышетеория
Что проверяет: понимание приведения типов; умение объяснить правило, а не выучить список.
- Как определяется this в функции? Чем отличается стрелочная функция?junior и вышетеория
Что проверяет: понимание контекста вызова — частая тема отсева на junior/middle.
- Будет ли работать такой код: в файле 1 экспортируется ref, файлы 2 и 3 импортируют его и используют?middle и вышетеория
Что проверяет: Понимание работы с ref вне .vue-файлов и экспорта из модулей
Из записи реального собеседования: Frontend на 350к (30.01.2026)
- В какой момент колбэки .then попадают в очередь микротасок — при вызове resolve/reject или при регистрации обработчика?middle и вышетеория
Что проверяет: Понимание момента попадания колбэка .then в очередь микротасок
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Для чего нужен event loop? Типы операций и приоритет.middle и вышетеория
Что проверяет: фундамент асинхронности (классика собесов).
- В реализации EventEmitter вы подписываетесь на одно событие трижды с одинаковым handler. Сколько раз выполнится handler при клике и как это исправить?middle и вышетеория
Что проверяет: Понимание дублирования подписок и использования Set для уникальности
Из записи реального собеседования: React на 200к (11.10.2025)
- Если реализовать очередь на основе обычного динамического массива в JavaScript, будет ли операция удаления из начала оптимальной?middle и вышетеория
Что проверяет: Понимание сложности удаления из начала массива
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Есть базовый класс Фигура и класс Квадрат, наследующийся от него. В базовом классе есть метод, не реализованный в Квадрате. Мы создаём экземпляр Квадрата и вызываем этот метод. Что произойдёт?middle и вышетеория
Что проверяет: Понимание цепочки прототипов при наследовании классов
Из записи реального собеседования: мок-собеседование по фронтенду, часть 2 (22.02.2025)
- Как копировать объекты? Типы данных и нюансы.middle и вышетеория
Что проверяет: знание ссылочных типов и современных API.
- Как работает reject внутри промиса относительно синхронного кода? Выполняется ли синхронный код до конца при reject?middle и вышетеория
Что проверяет: Понимание отличия reject от throw
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Какова алгоритмическая сложность метода push у массива в JavaScript? Всегда ли она O(1)?middle и вышетеория
Что проверяет: Понимание амортизированной сложности и работы с памятью
Из записи реального собеседования: Frontend с оффером на 5000$ (06.04.2026)
- Какую структуру данных выбрать для списка валидных ролей, если он приходит извне — объект или массив?middle и вышетеория
Что проверяет: Выбор структуры данных с учётом возможного отсутствия значений
Из записи реального собеседования: мок-собеседование на Senior Frontend от менторов сообщества (07.03.2025)
- Приведи кейс, когда ключом Map нужно использовать значение типа, отличного от строки.middle и вышетеория
Что проверяет: Понимание отличий Map от объекта и практических сценариев нестроковых ключей
Из записи реального собеседования: Frontend на 250к (11.04.2026)
- Уходит ли код после await в микротаску, даже если ожидается синхронная функция или значение?middle и вышетеория
Что проверяет: Понимание того, что await всегда создаёт точку асинхронности
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Что выполнится первым: микротаска, порождённая внутри setTimeout, или оставшиеся макротаски?middle и вышетеория
Что проверяет: Понимание приоритета микротасок над макротасками в event loop
Из записи реального собеседования: мок-собеседование по фронтенду, часть 1 (22.02.2025)
- Что произойдёт при повторном вызове bind у функции?middle и вышетеория
Что проверяет: Понимание того, что bind фиксирует контекст навсегда и повторный bind его не меняет
Из записи реального собеседования: Frontend c оффером на 400к (13.04.2026)
- Какие бывают стратегии кэширования в Service Worker?middle и вышетеория
- Когда ты реально применял кэширование на практике?middle и вышетеория
- Как работает сборщик мусора (GC) в JavaScript?middle и вышетеория
- Если заспамить очередь микротасок и макротасок, будет ли разница в поведении браузера?seniorтеория
Что проверяет: Понимание влияния бесконечных очередей на рендеринг и event loop
Из записи реального собеседования: Топ-10 вопросов на Senior Frontend (React) (03.11.2023)
- Что такое объекты Proxy и Reflect и для чего они используются?seniorтеория
Что проверяет: Знание Proxy и Reflect и их применения
Из записи реального собеседования: Frontend на 250к (19.04.2025)
Проверить себя по этим вопросам
Список вопросов — это чек-лист подготовки, но на собеседовании проверяют другое: умеешь ли ты объяснить это вслух за две минуты. Тренажёр задаёт вопрос голосом, записывает ответ и разбирает его по четырём критериям найма. 15 ответов в месяц бесплатно, без карты.