Встречается на собеседованиях • сегодня

Зачем нужно не блокировать поток выполнения кода

Блокировка потока выполнения (например, долгими синхронными операциями) приводит к "зависанию" интерфейса, так как браузер не может обрабатывать события и перерисовывать UI.

Пример проблемы:

javascript
// Блокирующий код
function processData() {
  for (let i = 0; i < 1000000000; i++) {
    // Тяжелые вычисления
  }
}
// UI не будет реагировать, пока выполняется цикл

Решение - использовать асинхронные подходы:

javascript
// Неблокирующий код
async function processData() {
  await heavyCalculation(); // Выполняется в фоне
  // UI остается отзывчивым
}

Основные способы избежать блокировки:

  • Web Workers для тяжелых вычислений
  • setTimeout/setInterval с минимальными задержками
  • Promises/async-await для асинхронных операций
  • requestAnimationFrame для анимаций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы