JavaScript: вопросы на собеседовании
Вопросы и ответы по JavaScript: подготовка, примеры и типичные ошибки.
Проверьте себя по JavaScript: 5 вопросов, ~10 минут
Вопросов: 42. Частые идут первыми, сложные возвращаются на повторение.
- Что такое async/await и как это связано с Promise под капотом?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Объясните понятие closure в JavaScript. Как closure может вызвать утечку памяти?Middle· спрашивают почти всегда
- Как работает event loop в JavaScript? Что такое call stack и task queue?Senior· спрашивают почти всегда
- Для каких задач JavaScript является сильным выбором, а где лучше честно выбрать другой язык?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Как защититься от XSS в браузерном приложении? Где помогают CSP, escaping и Trusted Types?Middle· спрашивают почти всегда
- Что такое Promise? Чем они отличаются от callback'ов?Middle· спрашивают почти всегда
- В чём разница между
var,letиconst? Как hoisting влияет на каждое из них?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost - Объясните систему модулей в JavaScript: CommonJS (
require) и ES Modules (import/export).Middle· полный разбор — Jobs/Boost - Чем
debounceотличается отthrottle? Как реализовать каждый из них?Middle· полный разбор — Jobs/Boost - В чём разница между
==и===?Junior· полный разбор — Jobs/Boost - Что такое event bubbling и event capturing? Что делает
stopPropagation()?Middle· полный разбор — Jobs/Boost - Как работает сборка мусора (garbage collection) в JavaScript? Что вызывает утечки памяти?Senior· полный разбор — Jobs/Boost
- Что такое функции высшего порядка (higher-order functions)? Приведите примеры:
map,filter,reduce.Junior - Объясните концепцию иммутабельности (immutability) в JavaScript.Middle· полный разбор — Jobs/Boost
- Как сравнить JavaScript с ближайшими альтернативами по производительности, поддерживаемости, найму и экосистеме?Middle· полный разбор — Jobs/Boost
- Как понять, что команда использует JavaScript идиоматично, а не переносит привычки из другого языка?Senior· полный разбор — Jobs/Boost
- Представьте, сервис на JavaScript стал медленнее или нестабильнее после релиза. Какие language/runtime-specific причины вы проверите?Senior
- Какие ошибки делают разработчики, переходящие на JavaScript с другого языка или стека?Middle
- Какие особенности runtime, type system или memory model JavaScript реально влияют на архитектуру приложения?Middle
- Какие production-риски чаще всего возникают в проектах на JavaScript: производительность, зависимости, конкурентность, деплой или observability?Senior· полный разбор — Jobs/Boost
- Что такое microtask и macrotask в event loop? Приведите примеры каждого.Senior· полный разбор — Jobs/Boost
- Объясните разницу между
nullиundefined.Junior - Объясните прототипное наследование в JavaScript. Как работает цепочка прототипов (prototype chain)?Middle· полный разбор — Jobs/Boost
- В чём разница между поверхностным (shallow copy) и глубоким (deep copy) копированием? Как выполнить каждое из них?Middle· полный разбор — Jobs/Boost
- Что такое spread-оператор и rest-параметры? Чем они отличаются?Junior· полный разбор — Jobs/Boost
- Что такое стрелочные функции и чем они отличаются от обычных функций (особенно в отношении
this)?Junior - В чём разница между
call(),apply()иbind()?Middle· полный разбор — Jobs/Boost - Что такое деструктуризация (destructuring assignment)? Приведите примеры с массивами и объектами.Junior
- Расскажите о случае, когда особенности JavaScript повлияли на архитектурное решение, производительность или сопровождение проекта.Middle· полный разбор — Jobs/Boost
- Как отменять
fetch/async-операции черезAbortController, и какие баги возникают без cancellation?Middle· полный разбор — Jobs/Boost - Какие версии, возможности или изменения экосистемы JavaScript важно учитывать на собеседованиях в 2026 году?Middle· полный разбор — Jobs/Boost
- Когда выносить тяжёлую работу в Web Worker? Как это связано с event loop и responsiveness?Middle· полный разбор — Jobs/Boost
- Что такое
Object.freeze()иObject.seal()? В чём их различие?Junior· полный разбор — Jobs/Boost - Чем
Promise.all()отличается отPromise.allSettled(),Promise.race()иPromise.any()?Middle· полный разбор — Jobs/Boost - Что такое чистая функция (pure function) и почему это важно?Middle
- В чём разница между синхронным и асинхронным JavaScript?Middle· полный разбор — Jobs/Boost
- Что такое Temporal Dead Zone (TDZ)?Middle
- Что такое WeakMap и WeakSet? Когда их стоит использовать?Senior· полный разбор — Jobs/Boost
- Что такое функция-генератор (generator function)? Как работает
yield?Middle· полный разбор — Jobs/Boost - Что такое объект Proxy и как его можно использовать?Senior· полный разбор — Jobs/Boost
- Объясните
Symbolв JavaScript и в каких случаях его применять.Middle - Что такое тегированные шаблонные литералы (tagged template literals) и для чего они используются?Middle· полный разбор — Jobs/Boost