Встречается на собеседованиях • сегодня
Какие механизмы 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
интервью вопросы и ответы