Встречается на собеседованиях • сегодня
Как работает очистка поколений в сборщике мусора (Garbage collector)
В Python используется generational garbage collector с тремя поколениями (0, 1, 2). Новые объекты попадают в поколение 0. Принцип работы:
- Когда поколение 0 заполняется, запускается сборка мусора только в нём
- Выжившие объекты перемещаются в поколение 1
- Если сборка поколения 1 происходит слишком часто, объекты перемещаются в поколение 2
- Сборка в старших поколениях происходит реже
Пример работы:
python
import gc
# Отключаем автоматический сборщик
gc.disable()
# Создаем циклическую ссылку
x = []
x.append(x)
# Вручную запускаем сборщик для поколения 0
collected = gc.collect(0)
print(f"Собрано объектов: {collected}") # 0 - циклическая ссылка еще не обнаружена
# Запускаем полную сборку
collected = gc.collect()
print(f"Собрано объектов: {collected}") # 1 - циклическая ссылка удаленаКлючевые моменты:
- Молодые объекты проверяются чаще
- Циклические ссылки обнаруживаются и удаляются
- Позволяет оптимизировать производительность

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы