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

Какие объекты кучи помечаются сборщиком мусора

Сборщик мусора в JavaScript (например, в V8) помечает объекты кучи, которые больше не достижимы из корня (global/window). Алгоритм использует mark-and-sweep:

  1. Корни: глобальные переменные, текущий вызов функции (локальные переменные и параметры), DOM-элементы.
  2. Недостижимые объекты: если от корней нельзя дойти по ссылкам - объект считается мусором.

Пример утечки памяти:

javascript
function createClosure() {
  const bigArray = new Array(1000000).fill('*');
  return function() {
    console.log('Утечка!');
    // bigArray всё ещё захвачен замыканием, даже если не используется
  };
}
const leak = createClosure();
// leak содержит ссылку на bigArray

Важно: циклические ссылки (A → B → A) тоже удаляются, если оба объекта недостижимы из корня.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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