Встречается на собеседованиях • сегодня
Как распределяются по очереди задач setInterval, setTimeout
setTimeout и setInterval добавляют задачи в очередь макрозадач (Task Queue). Они выполняются после текущего синхронного кода и микрозадач (например, промисов).
- setTimeout(callback, delay) – добавляет
callbackв очередь после указанногоdelay(минимально 4мс в браузерах). - setInterval(callback, delay) – добавляет
callbackв очередь периодически, начиная с момента вызова, но не гарантирует точный интервал из-за блокировки Event Loop.
Пример:
javascript
setTimeout(() => console.log('Timeout 1'), 0);
setInterval(() => console.log('Interval'), 1000);
Promise.resolve().then(() => console.log('Microtask'));
console.log('Sync code');Вывод:
Sync codeMicrotask(микрозадача)Timeout 1(макрозадача)Interval(каждую секунду)
⚠️ Если Event Loop занят, интервалы могут "накапливаться" и выполняться без задержек друг за другом.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы