Встречается на 1% собеседований по Python
Как работает очистка поколений в сборщике мусора (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
интервью вопросы и ответы