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

Как работает сборщик мусора в JavaScript

В JavaScript сборщик мусора (Garbage Collector) автоматически освобождает память, занятую объектами, которые больше не используются. Он работает по алгоритму mark-and-sweep:

  1. Mark: Обходит все доступные объекты, начиная с корневых (глобальные переменные, текущий вызов стека), и помечает их как "живые".
  2. Sweep: Удаляет объекты, не помеченные как "живые".

Пример утечки памяти (когда GC не сработает):

javascript
function createLeak() {
  const obj = {};
  document.body.addEventListener('click', () => {
    console.log(obj); // obj остаётся в памяти, так как ссылка сохраняется в обработчике
  });
}

Оптимизации:

  • Generational collection: Новые объекты проверяются чаще.
  • Incremental collection: Разбивает процесс на части, чтобы не блокировать основной поток.
  • Idle-time collection: Работает в фоне, когда приложение простаивает.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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