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

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

Утечка памяти в JavaScript возникает, когда объекты остаются в памяти, хотя больше не нужны. Частая причина — сохранение ссылок на ненужные объекты.

Пример с таймером:

javascript
function startTimer() {
  const data = { counter: 0 };
  setInterval(() => {
    data.counter++;
    console.log(data.counter);
  }, 1000);
}
// Таймер продолжает работать даже после завершения функции, удерживая `data`

Пример с DOM:

javascript
const elements = [];
function addElement() {
  const div = document.createElement('div');
  document.body.appendChild(div);
  elements.push(div); // Массив сохраняет ссылки на все созданные элементы
}
// Удаление из DOM не очистит память, пока ссылка есть в массиве

Как избежать:

  • Очищайте таймеры (clearInterval)
  • Удаляйте ссылки из массивов/объектов
  • Используйте WeakMap/WeakSet для хранения временных данных
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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