Встречается на 1% собеседований по Python
В чем разница между категориями сборщика мусора
В Python используется алгоритм подсчета ссылок (reference counting) для управления памятью, но также есть дополнительный механизм — циклический сборщик мусора (GC), который обрабатывает циклические ссылки.
Основные категории GC в Python:
- Поколение 0 (молодые объекты) — новые объекты, которые еще не пережили сборку мусора.
- Поколение 1 (промежуточные объекты) — объекты, пережившие хотя бы одну сборку.
- Поколение 2 (старые объекты) — долгоживущие объекты, пережившие несколько сборок.
GC чаще проверяет поколение 0, реже — 1 и 2, т.к. старые объекты с меньшей вероятностью становятся мусором.
Пример циклической ссылки:
python
a = []
b = [a]
a.append(b) # Теперь a и b ссылаются друг на друга
del a, b # Объекты недоступны, но ссылки остаютсяЗдесь GC обнаружит и удалит цикл, так как счетчик ссылок не обнулится.

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