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

Что такое утечка памяти

Утечка памяти — это ситуация, когда приложение продолжает удерживать память, которая больше не нужна. В JavaScript это часто происходит из-за:

  1. Неудалённых обработчиков событий
javascript
// Плохо: обработчик не удаляется
element.addEventListener('click', onClick);

// Хорошо: удаляем при необходимости
element.removeEventListener('click', onClick);
  1. Замыканий и глобальных переменных
javascript
function createLeak() {
  const hugeArray = new Array(1000000).fill('leak');
  return function() { /* использует hugeArray */ };
}
  1. Неочищенных таймеров или подписок
javascript
// Утечка, если не очистить
const intervalId = setInterval(() => {}, 1000);
clearInterval(intervalId); // очистка

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

  • Используйте WeakMap/WeakSet для слабых ссылок.
  • Удаляйте обработчики и подписки.
  • Инструменты: Chrome DevTools (Memory tab), performance.memory.

Особенно критично в SPA, где приложение работает долго без перезагрузки.

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

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

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

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