Для фрагмента с синхронным кодом, setTimeout и Promise определите порядок вывода в консоль, объяснив очереди макро- и микрозадач.

Вывод будет:

Короткий ответ

Что ответить на собеседовании

Вывод будет:

Подробный разбор

Ответ с пояснениями

Вывод будет:

E
C
D
B

Объяснение:

  • console.log('E') выполняется синхронно сразу.
  • Promise.resolve().then(...) добавляет колбэки в очередь микротасков, которые выполняются после текущего стека.
  • setTimeout(..., 0) добавляет колбэк в очередь макротасков, которая выполняется после микротасков.

Порядок выполнения:

  1. Синхронный код: вывод E.
  2. Микротаски: вывод C и D (в порядке добавления).
  3. Макротаски: вывод B.

Поэтому итоговый порядок: E, C, D, B.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку