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

Каким способом оптимизируется сборка мусора в современных JS движках

Современные JS-движки (V8, SpiderMonkey и др.) используют несколько стратегий для оптимизации сборки мусора:

  1. Generational GC – разделение объектов на "молодые" (short-lived) и "старые" (long-lived). Большинство объектов умирают быстро, поэтому движок чаще сканирует "молодое" поколение.
  1. Incremental GC – сборка мусора разбивается на небольшие этапы, чтобы избежать заметных лагов.

  2. Idle-time GC – сборка запускается в периоды простоя приложения.

  3. Heap compaction – уменьшение фрагментации памяти.

Пример оптимизации – избегание утечек памяти:

javascript
// Плохо: глобальная переменная хранит данные
let cache = {};
function processData(data) {
  cache[data.id] = data; // Утечка, если не чистить
}

// Лучше: WeakMap для кэширования
const cache = new WeakMap();
function processData(data) {
  cache.set(data, true); // Автоматически удалится при удалении data
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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