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