Встречается на 1% собеседований по Python
Какие механизмы garbage collection знаешь
В Python используется автоматический garbage collection с подсчётом ссылок (reference counting) и циклический сборщик мусора (generation GC).
- Reference Counting
Каждый объект имеет счётчик ссылок. При создании ссылки счётчик увеличивается, при удалении — уменьшается. Когда счётчик достигает нуля, память освобождается.
python
a = [] # счетчик = 1
b = a # счетчик = 2
del b # счетчик = 1-
Generational GC
Объекты делятся на 3 поколения (0, 1, 2). Новые объекты попадают в поколение 0. Если объект переживает сборку мусора, он переходит в следующее поколение. Сборщик чаще проверяет молодые поколения.pythonimport gc gc.collect() # принудительный запуск GC -
Циклические ссылки
Reference counting не может их обработать, поэтому Generational GC ищет недостижимые циклы и удаляет их.pythonx = [] x.append(x) # циклическая ссылка del x # GC удалит объект

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