Встречается на 2% собеседований по Python
Как сборщик мусора (Garbage Collector) определяет, какие объекты удалять
В Python используется подсчёт ссылок (reference counting) и циклический сборщик мусора (generational GC) для обнаружения и удаления объектов.
- Подсчёт ссылок:
Каждый объект хранит счётчик ссылок. Когда он становится 0, память освобождается.pythona = [1, 2, 3] # счётчик = 1 b = a # счётчик = 2 del b # счётчик = 1 a = None # счётчик = 0 → удаление
- Циклический сборщик (Generational GC):
Обходит объекты в трёх поколениях (0, 1, 2). Если объект выживает сборку, он переходит в следующее поколение. Циклы (например,a.ref = b; b.ref = a) обнаруживаются и удаляются.
Нюансы:
gc.disable()отключает циклический GC, но не подсчёт ссылок.__del__может мешать сборке, если создаёт новые ссылки.- Weakref (
weakref.ref) не увеличивает счётчик ссылок.

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