Ревью миксина Nuxt
В миксине добавляется глобальный resize-обработчик, но нет его удаления. После уничтожения компонента это может оставить лишнюю подписку.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
В миксине добавляется глобальный resize-обработчик, но нет его удаления. После уничтожения компонента это может оставить лишнюю подписку.
Читать ответВывод: 7, undefined, 7. Сохранённая непривязанная ссылка вызывается без получателя, а обёртка таймера заново выполняет метод через obj.
Читать ответCPU-тяжёлую работу можно перенести в Web Worker либо разбить на короткие порции с передачей управления браузеру. Один async или Promise не устраняет блокировку.
Читать ответВ одном JavaScript-agent код обычно выполняется последовательно, но окружение может работать многопоточно. Для отдельного вычислительного потока в браузере используют Web Worker.
Читать ответEvent Loop координирует выполнение JavaScript-задач, асинхронных продолжений и работы окружения, когда текущий стек освобождается.
Читать ответВ JavaScript есть глобальная, модульная, функциональная и блочная области видимости. Имя ищется от текущей области наружу по лексической вложенности.
Читать ответРезультат: foo, end, bar, timer. Foo выполняется синхронно, но передача bar в then только регистрирует будущий обработчик.
Читать ответПорядок: D, A, C, B. Вложенный таймер запускается отдельной будущей задачей, а микрозадача C выполняется после текущего callback.
Читать ответАсинхронность позволяет не блокировать выполнение JavaScript ожиданием внешней операции. Event Loop организует запуск задач и их продолжений.
Читать ответДекларации функций доступны до строки объявления. Let, const и class тоже создают привязки заранее, но доступ до инициализации ограничен temporal dead zone.
Читать ответК задачам относятся, например, таймеры и многие события; к микрозадачам — реакции Promise, queueMicrotask и уведомления MutationObserver.
Читать ответПрототипы лежат в основе разделяемых методов объектов и наследования через цепочку [[Prototype]]. Синтаксис class использует тот же механизм для обычных методов.
Читать ответ