Самые частые вопросы про JavaScript на собеседованиях: Promise, EventLoop, Microtasks, Macrotasks, Массивы, Объекты.
Что такое рекурсия в JavaScript?
Какой принцип лежит в основе рекурсии в JavaScript, и как функции могут вызывать сами себя? Опишите, как рекурсия используется для решения задач, и укажите, какие условия должны быть выполнены, чтобы рекурсия завершилась корректно.Junior, Trainee
Какие есть механизмы обработки ошибок в JavaScript?
Опишите, какие механизмы существуют в JavaScript для обработки ошибок. Как можно обрабатывать ошибки синхронного и асинхронного кода, и какие конструкции и методы помогают управлять исключениями?Junior, Trainee
Какие есть типы данных в JavaScript?
Перечислите все типы в JavaScript'е, которые вы знаете.Junior, Trainee
Что такое display: grid и как его использовать?
Расскажите, что представляет собой CSS-свойство display: grid, как оно помогает создавать сложные макеты и какие ключевые концепции необходимо понимать для его использования.Junior, Trainee
Что такое статические поля или методы у класса в JavaScript?
Объясните, что такое статические поля и методы в JavaScript. В каких случаях стоит использовать статические члены класса и чем они отличаются от обычных полей и методов, принадлежащих экземплярам класса?Junior, Trainee
Для чего нужен оператор расширения (spread) в JavaScript?
Объясните, что такое оператор расширения (spread) в JavaScript, как он работает и в каких ситуациях используется. Приведите примеры его применения для работы с массивами и объектами.Junior, Trainee
Как проверить, что объект является массивом в JavaScript?
С помощью какого метода в JavaScript можно сделать проверку на то, что значения является массивом?Junior, Trainee
Как можно получить все поля объекта в виде массива в JavaScript?
Объясните, как в JavaScript можно получить все ключи или значения объекта в виде массива. Какие встроенные методы позволяют преобразовать объект в массив и как это может использоваться в различных задачах?Junior, Trainee
Что такое деструктуризация объекта в JavaScript?
Как в JavaScript можно извлечь данные из объекта и присвоить их переменным в более удобном формате? Объясните, каким образом деструктуризация позволяет извлекать значения из объекта и какие преимущества она предоставляет при работе с объектами и массивами.Junior, Trainee
Какие методы перебора массивов в JavaScript вы знаете, и в чем их отличие?
Какие способы перебора элементов массива в JavaScript существуют, и как они отличаются друг от друга? Опишите, как работают методы `forEach`, `for...of`, и `for...in`, их особенности и случаи использования. Уточните, какой из них лучше подходит для работы с массивами и почему.Junior, Trainee
Для чего нужно ключевое слово static в JavaScript?
Рассмотрите, как и в каких ситуациях используется ключевое слово static в JavaScript. Как оно применяется в контексте классов и какие ограничения или особенности имеет?Junior, Trainee
Как отцентрировать блок с помощью CSS?
Расскажите, какие существуют методы центрирования блоков в CSS, как они работают и в каких ситуациях применяются. Укажите, как можно выровнять блок по горизонтали и вертикали.Junior, Trainee
Для чего нужен оператор остаточности (rest) в JavaScript?
Объясните, как работает оператор остаточности (rest) в JavaScript и в каких случаях он используется. Как его можно применять для сбора остаточных параметров функции или для работы с массивами и объектами?Junior, Trainee
Что такое DOM?
Опишите, что представляет собой объектная модель документа (DOM) и как она используется при работе с веб-страницами.Junior, Trainee
Что такое замыкание в JavaScript?
Объясните, что такое замыкание в JavaScript и как оно работает. В каких ситуациях оно возникает и как используется для сохранения состояния или работы с приватными данными?Junior, Trainee
Как можно проверить тип переменной в JavaScript?
Опишите, какие существуют способы проверки типа переменной в JavaScript. Как с помощью различных операторов и функций можно определить, к какому типу данных относится значение?Junior, Trainee
Что такое LocalStorage и SessionStorage?
Объясните, что такое LocalStorage и SessionStorage в JavaScript, как они используются для хранения данных и в чем различия между ними.Junior, Trainee
Назовите методы массивов, которые вы знаете в JavaScript. Для чего они нужны?
Какие методы массивов существуют в JavaScript и какие функции они выполняют? Приведите примеры наиболее часто используемых методов, таких как `push`, `pop`, `shift`, `unshift`, `map`, `filter` и другие, и объясните их применение.Junior, Trainee
Какие способы центрирования элементов по горизонтали и вертикали знаете?
Опишите различные методы центрирования элементов в CSS по горизонтали и вертикали, как они работают и в каких случаях их лучше использовать.Junior, Trainee
Как проверить, что переменная равна NaN в JavaScript?
Как в JavaScript можно определить, является ли переменная значением NaN (Not-a-Number)? Какие методы и функции можно использовать для проверки этого, и почему NaN требует особого подхода при проверке?Junior, Trainee
Как можно проверить, что объект является экземпляром класса в JavaScript?
Объясните, как в JavaScript можно проверить, что объект является экземпляром определенного класса. Какие существуют операторы и методы для такой проверки и как они работают?Junior, Trainee
Что такое display: flex и как его использовать?
Объясните, что представляет собой CSS-свойство display: flex, для чего оно используется и как оно помогает управлять расположением элементов внутри контейнера.Junior, Trainee
Как строку (string) превратить в число (number) в JavaScript?
Опишите, какие существуют способы в JavaScript для преобразования строки (string) в число (number). В каких случаях применять разные подходы и какие особенности нужно учитывать при конвертации данных?Junior, Trainee
Что такое явное и неявное приведение типов в JavaScript?
Опишите, что такое явное и неявное приведение типов в JavaScript и как они работают. Приведите примеры ситуаций, когда происходят такие преобразования, и какие могут быть последствия.Junior, Trainee
Как можно пройтись по всем полям объекта в JavaScript?
Опишите, какие существуют способы перебора всех полей объекта в JavaScript. Как с помощью циклов и встроенных методов можно получить доступ к каждому ключу и значению объекта?Junior, Trainee
Что такое Promise в JavaScript?
Что представляет собой объект Promise в JavaScript и как он используется для обработки асинхронных операций? Опишите основные методы объекта Promise и как они помогают управлять результатами асинхронных задач.Junior, Trainee
Что такое директива use strict и что она делает в JavaScript?
Объясните, что такое директива use strict в JavaScript, как она включается и как влияет на выполнение кода. В чем преимущества ее использования и как она помогает избегать ошибок?Junior, Trainee
Что такое webpack и для чего он нужен?
Объясните, что такое webpack, как он используется в проектах на JavaScript и для чего необходим этот инструмент.Junior, Trainee
Что такое медиазапросы в CSS?
Опишите, что такое медиазапросы в CSS, как они работают и как их можно использовать для создания адаптивных веб-страниц.Junior, Trainee
Как остановить дефолтную (встроенную) обработку события в JavaScript?
Объясните, как можно предотвратить выполнение стандартного действия, которое связано с определенным событием в браузере, например, отправку формы при нажатии на кнопку.Junior, Trainee
Для чего нужен оператор instanceof в JavaScript?
Объясните, как работает оператор instanceof в JavaScript, в каких случаях он используется и как позволяет проверить принадлежность объекта к определенному классу или типу. Какие ограничения существуют при его использовании?Junior, Trainee
Для чего нужны сборщики и бандлеры в JavaScript?
Опишите, зачем нужны сборщики и бандлеры в проектах на JavaScript, какие задачи они решают и как помогают в разработке.Junior, Trainee
В чем отличие между var, let и const при определении переменной?
Каковы ключевые различия между `var`, `let` и `const` при объявлении переменных в JavaScript? Опишите особенности области видимости, всплытия и возможности переопределения для каждого из этих ключевых слов.Junior
Что такое блочная модель CSS?
Опишите, что такое блочная модель в CSS и как она влияет на отображение элементов на веб-странице. Укажите, какие части составляют блочную модель и как они взаимодействуют между собой.Junior
Что такое анонимная функция в JavaScript?
Что представляет собой анонимная функция в JavaScript и как она используется? Опишите, что отличает анонимные функции от именованных, и приведите примеры их применения в коде.Junior
Что такое CSS-препроцессоры и зачем они нужны?
Объясните, что такое CSS-препроцессоры, как они работают и в чем их преимущества при разработке стилей для веб-страниц.Junior
Что означает ключевое слово this в JavaScript?
Каково назначение ключевого слова `this` в JavaScript и как оно определяется в различных контекстах? Объясните, как значение `this` меняется в зависимости от места вызова функции и от того, как функция была вызвана.Junior
Что такое область видимости в JavaScript?
Что такое область видимости (scope) в JavaScript и как она влияет на доступность переменных в различных частях кода? Объясните различия между глобальной и локальной областью видимости, а также блочной видимостью.Junior
Что такое стрелочная функция в JavaScript?
Какой синтаксис используется для определения стрелочных функций в JavaScript, и как они отличаются от обычных функций? Объясните, какие особенности стрелочных функций делают их удобными для использования в некоторых сценариях.Junior
Как проверить, является ли число конечным?
Каким образом в JavaScript можно определить, является ли значение числа конечным числом, а не бесконечным или NaN? Укажите методы и функции, которые позволяют проверить, что число не является ни бесконечностью, ни неопределенным числом.Junior
Какая разница между свойствами HTML-элементов innerHTML и innerText в JavaScript?
Объясните, в чем разница между свойствами innerHTML и innerText в JavaScript и как они используются для работы с содержимым HTML-элементов.Junior
Для чего предназначены методы setTimeout и setInterval?
Каким образом в JavaScript можно планировать выполнение функций через определенные промежутки времени? Объясните назначение методов `setTimeout` и `setInterval`, как они работают и в каких случаях их лучше использовать.Junior
Как дождаться выполнения всех промисов в JavaScript?
Объясните, как в JavaScript можно дождаться завершения всех промисов, переданных в коллекцию. Укажите, какие методы и подходы можно использовать для работы с массивом промисов и получения результата после их выполнения.Junior
Как остановить всплытие (bubbling) события в JavaScript?
Опишите, как можно предотвратить всплытие события в JavaScript, чтобы оно не поднималось по дереву DOM к родительским элементам.Junior
Что такое мемоизация в JavaScript и как ее можно реализовать?
Объясните, что такое мемоизация и как она помогает оптимизировать работу JavaScript приложений. Приведите пример, как можно реализовать мемоизацию в коде и где она может применяться.Junior
Как можно скопировать объект в JavaScript?
Каким образом можно создать копию объекта в JavaScript? Объясните различные методы и подходы для поверхностного и глубокого копирования объектов, а также их плюсы и минусы.Junior
Какие есть способы хранения данных в браузере?
Перечислите и опишите основные способы хранения данных на стороне клиента в веб-браузере. Укажите, какие технологии используются, какие у них особенности и как они применяются в различных сценариях.Junior
Какой порядок выполнения тасок в EventLoop в JavaScript?
Объясните, как в JavaScript осуществляется порядок выполнения задач в EventLoop. Как задачи сортируются по приоритету и в каком порядке они выполняются в цикле событий?Middle, Junior
Что такое веб-воркеры (WebWorkers) в JavaScript?
Опишите, что представляют собой веб-воркеры (WebWorkers) в JavaScript и как они работают. Укажите, для чего они используются, какие задачи решают и в каких случаях их стоит применять.Middle, Junior
Как можно упростить написание кросс-браузерных стилей?
Расскажите, какие подходы и инструменты могут помочь в написании кросс-браузерных стилей в CSS и как обеспечить корректное отображение страниц в разных браузерах.Middle, Junior
Чему равен this в обработчике событий в JavaScript?
Опишите, какое значение принимает this в контексте обработчика событий в JavaScript и как оно связано с элементом, на котором произошло событие.Middle, Junior
Что такое линтеры и для чего они нужны в JavaScript?
Расскажите, что такое линтеры и какую роль они играют в разработке на JavaScript. Объясните, как линтеры помогают поддерживать качество кода и какие ошибки они могут предотвращать.Middle, Junior
setTimeout – это микро или макро таска (задача) в JavaScript?
Объясните, к какому типу задач относится setTimeout в JavaScript – микро или макротаски. Как оно влияет на порядок выполнения задач в EventLoop?Middle, Junior
Что такое прогрессивный (progressive) рендеринг?
Объясните, что такое прогрессивный рендеринг в веб-разработке, как он работает и зачем он нужен. Укажите, какие методы и подходы используются для ускорения отображения контента на веб-страницах.Middle, Junior
Что такое геттеры и сеттеры в JavaScript?
Объясните, что такое геттеры и сеттеры в JavaScript, как они работают и зачем нужны. Как их можно использовать для контроля доступа и изменения значений свойств объектов?Middle, Junior
Что такое ссылочные типы, и как они работают в JavaScript?
Опишите, что такое ссылочные типы данных в JavaScript и как они отличаются от примитивных типов. Укажите, как работают ссылки на объекты и что происходит при изменении значения в одной из ссылок.Middle, Junior
Опишите процесс всплытия (bubbling) событий в DOM.
Расскажите о механизме всплытия событий в DOM, как этот процесс работает и какие этапы включает.Middle, Junior
Как работает EventLoop в JavaScript?
Объясните, что такое EventLoop в JavaScript и как он управляет выполнением кода. Какие задачи он решает и как работает его механизм с очередями микрозадач и макрозадач?Middle, Junior
Что такое макротаска (macrotask, макрозадача) в JavaScript?
Объясните, что такое макротаска в JavaScript и как она отличается от микротаски. Как и в каком порядке макротаски обрабатываются в EventLoop?Middle, Junior
Что такое БЭМ (BEM) в CSS?
Расскажите, что такое методология БЭМ (BEM) в CSS, как она используется для организации кода и какие правила она предполагает для наименования классов.Middle, Junior
Что такое hoisting в JavaScript, и как он работает?
Как концепция hoisting влияет на объявление переменных и функций в JavaScript? Объясните, что происходит при поднятии переменных и функций, и как это влияет на порядок выполнения кода.Middle, Junior
Как работает прототипное наследование в JavaScript?
Расскажите, как реализовано прототипное наследование в JavaScript. Укажите, как объекты могут наследовать свойства и методы других объектов через прототипы и какую роль играет цепочка прототипов.Middle, Junior
Promise – это микро или макро таска (задача) в JavaScript?
Объясните, к какому типу задач относятся Promise в JavaScript – микро или макротаски. Как это влияет на порядок их выполнения в EventLoop?Middle, Junior
В чем отличие Promise.all и Promise.allSettled в JavaScript?
Расскажите, в чем разница между методами Promise.all и Promise.allSettled в JavaScript. Укажите, как эти методы обрабатывают промисы и какие сценарии их использования существуют.Middle, Junior
В чем отличие стрелочной функции от обычной в JavaScript?
Каковы ключевые различия между стрелочной функцией и обычной функцией в JavaScript? Обсудите особенности `this`, `arguments`, и поведение функций в контексте вызовов и методов.Middle, Junior
Как можно убрать из массива все повторяющиеся элементы?
Объясните, какие подходы существуют в JavaScript для удаления всех повторяющихся элементов из массива. Как с помощью встроенных методов или других конструкций можно получить массив с уникальными значениями?Middle, Junior
Что такое Babel и для чего он нужен?
Объясните, что представляет собой Babel и для каких целей используется в разработке JavaScript. Укажите, как Babel помогает работать с современным JavaScript кодом и какие преимущества дает использование этого инструмента.Middle, Junior
Что такое каррирование (currying) в JavaScript?
Опишите, что такое каррирование (currying) в JavaScript и в каких случаях эта техника используется. Укажите, как каррирование преобразует функции и как это может быть полезно в разработке.Middle, Junior
Что первее выведется – Promise или setTimeout в JavaScript?
Рассмотрите ситуацию, когда в коде JavaScript одновременно вызываются Promise и setTimeout. Объясните, какой из них выполнится первым и почему. Как EventLoop влияет на порядок их выполнения?Middle, Junior
Что такое и для чего используют IIFE (Immediately Invoked Function Expression)?
Что представляет собой Immediately Invoked Function Expression (IIFE) в JavaScript и как его использование может помочь в управлении областью видимости? Объясните, как и почему IIFE используется для создания локального контекста и избегания загрязнения глобального пространства имен.Middle, Junior
В чем отличие подключения скрипта через async и defer в HTML?
Опишите разницу между атрибутами async и defer при подключении скриптов в HTML и как они влияют на порядок выполнения кода и загрузку страницы.Middle, Junior
Что такое микротаска (microtask, микрозадача) в JavaScript?
Расскажите, что такое микротаска в JavaScript, как она создается и в каком порядке выполняется по сравнению с другими задачами. Как микротаски связаны с EventLoop?Middle, Junior
Что такое генератор и итератор в JavaScript?
Объясните, что представляют собой генераторы и итераторы в JavaScript, как они работают и в чем их отличия. Опишите основные особенности их использования и преимущества в сценариях работы с последовательностями данных.Middle, Junior
Что такое замыкание (closure) в JavaScript?
Что такое замыкание в JavaScript и как оно работает? Объясните, как замыкания позволяют функции сохранять доступ к переменным своего внешнего контекста даже после завершения выполнения этой функции.Middle, Junior
В чем отличие оператора in и метода hasOwnProperty в JavaScript?
Объясните, как работают оператор in и метод hasOwnProperty в JavaScript. Укажите, в чем их основное отличие и в каких случаях каждый из них лучше использовать.Middle, Junior
Как сделать поля объекта неизменяемыми в JavaScript?
Объясните, какие способы существуют в JavaScript, чтобы сделать поля объекта неизменяемыми. Укажите, как можно предотвратить изменения в свойствах и добавление новых свойств в объект.Middle, Junior
Что делает Promise.resolve() в JavaScript?
Объясните, как работает метод Promise.resolve() в JavaScript и для чего он используется. Как он влияет на выполнение цепочек Promise и их порядок в EventLoop?Middle, Junior
Зачем нужны префиксы для некоторых CSS-свойств (-webkit-, -moz-)?
Объясните, для чего используются префиксы, такие как -webkit- и -moz-, перед некоторыми CSS-свойствами и как это связано с поддержкой браузерами.Middle, Junior
Какая разница между определением функции через function и через var/let/const?
Каковы основные различия между определением функции с помощью ключевого слова `function` и использованием `var`, `let`, или `const` для объявления функции в JavaScript? Объясните, как область видимости и всплытие (hoisting) влияют на каждое из этих определений и какие особенности следует учитывать.Middle, Junior
В чем отличие оператора ?? от || в JavaScript?
Объясните, в чем заключается разница между оператором нулевого слияния (??) и оператором логического ИЛИ (||) в JavaScript. В каких ситуациях следует использовать один оператор вместо другого?Middle
Что такое дескрипторы свойств объектов в JavaScript?
Расскажите, что такое дескрипторы свойств в JavaScript и как они работают. Укажите, как с помощью дескрипторов можно управлять поведением свойств объектов, таких как их изменяемость и видимость.Middle
Как можно отслеживать изменение конкретного поля в объекте в JavaScript?
Опишите, какие подходы существуют в JavaScript для отслеживания изменений конкретных полей в объекте. Укажите, как можно реализовать такую функциональность и какие методы или технологии для этого применяются.Middle
В чем отличие функций bind, call, apply в JavaScript?
Каковы отличия между методами `bind`, `call`, и `apply` в JavaScript? Опишите, как каждый из этих методов используется для управления значением `this` в функции и какие параметры они принимают.Middle
Как узнать высоту или ширину элемента в JavaScript?
Расскажите, какими методами и свойствами можно воспользоваться в JavaScript для получения текущих размеров элемента, таких как его высота и ширина.Middle
Как узнать координаты элемента в JavaScript?
Объясните, как в JavaScript можно определить координаты элемента относительно окна или документа, и какие методы и свойства для этого подходят.Middle
Что такое Symbol в JavaScript?
Объясните, что такое Symbol в JavaScript и как этот примитивный тип данных используется для создания уникальных идентификаторов. Какие преимущества предоставляет Symbol по сравнению с другими типами данных в JavaScript?Middle
Для чего нужны коллекции Map и Set в JavaScript?
Как в JavaScript используются коллекции `Map` и `Set`? Объясните, в чем их основные особенности и отличия от обычных объектов и массивов, и какие преимущества они предоставляют для хранения уникальных значений и пар ключ-значение.Middle
Как работает boxing и unboxing в JavaScript?
Объясните, что такое boxing и unboxing в JavaScript и как они работают. Укажите, как примитивные типы преобразуются в объекты и обратно, и в каких случаях это происходит.Senior, Middle
Что означает глубокая (deep) и поверхностная (shallow) копия объекта?
Какие различия между глубокой и поверхностной копией объекта в JavaScript? Опишите, как каждая из этих копий влияет на изменения в исходных и скопированных объектах, и какие подходы используются для создания каждой из копий.Senior, Middle
Что такое Shadow DOM в JavaScript?
Расскажите, что такое Shadow DOM и как он работает в JavaScript. Объясните, как Shadow DOM помогает инкапсулировать стили и разметку и где его использование наиболее полезно.Senior, Middle
Что такое temporal dead zone в JavaScript?
Объясните, что означает термин 'temporal dead zone' (временная мертвая зона) в JavaScript. Укажите, как она связана с переменными, объявленными через let и const, и как это влияет на выполнение кода.Senior, Middle
Для чего нужны WeakMap и WeakSet в JavaScript?
Опишите, что такое WeakMap и WeakSet в JavaScript, и в чем их отличия от обычных Map и Set. Укажите, какие особенности этих структур данных позволяют им быть полезными в определенных сценариях.Senior, Middle
Что такое коллстэк (callstack) и как он работает в JavaScript?
Объясните, что такое коллстэк (callstack) в JavaScript и как он управляет выполнением функций. Как происходит обработка функций в стеке и что происходит при возникновении ошибок?Senior, Middle
Что такое веб-компоненты (WebComponents, custom elements) в JavaScript?
Объясните, что представляет собой технология WebComponents в JavaScript. Укажите, из каких основных компонентов состоит данная технология и как она используется для создания переиспользуемых и инкапсулированных элементов в веб-приложениях.Senior, Middle
Почему typeof null возвращает object?
Объясните, почему выражение typeof null возвращает значение 'object' в JavaScript. Укажите, как это связано с историческими особенностями языка и к чему это может привести при написании кода.Senior, Middle
Перечисли типы воркеров, которые ты знаешь в JavaScript.
Какие типы воркеров существуют в JavaScript и для чего они используются? Какие задачи решают эти воркеры и в каких ситуациях их применение наиболее оправдано?Senior, Middle
Какой максимальный размер LocalStorage в JavaScript?
Опишите, какой объем данных можно хранить в LocalStorage и какие ограничения существуют при работе с этим механизмом в браузерах.Senior, Middle
Какие WebAPI доступны, а какие - нет, внутри воркеров в JavaScript?
Объясните, какие WebAPI доступны внутри воркеров в JavaScript и какие ограничения существуют при их использовании. Почему некоторые API недоступны в воркерах и какие задачи можно решить, используя доступные API?Senior, Middle
Какие этапы отрисовки страницы есть в браузере?
Опишите основные этапы отрисовки страницы в браузере. Как браузер обрабатывает HTML, CSS и JavaScript, чтобы превратить их в визуальное представление страницы?Senior, Middle
Что такое reflow и repaint при отрисовке в браузере?
Объясните, что такое процессы reflow и repaint в браузере. Как изменения в DOM или CSS влияют на эти процессы и в каких ситуациях они могут быть вызваны?Senior, Middle
Как можно отслеживать изменения localStorage в JavaScript?
Опишите, как можно отслеживать изменения данных в localStorage в JavaScript. Какие события и методы позволяют реагировать на изменения и как это используется в современных веб-приложениях?Senior, Middle
Чем отличается поведение isNaN() и Number.isNaN()?
В чем заключается разница между функцией `isNaN()` и методом `Number.isNaN()` в JavaScript? Опишите, как каждая из этих функций обрабатывает значения, и как это влияет на проверку NaN.Senior, Middle
Что такое garbage collector в JavaScript, и что он делает?
Объясните, что представляет собой garbage collector в JavaScript и какие задачи он выполняет. Укажите, как он работает и какую роль играет в управлении памятью в JavaScript.Senior