Встречается на собеседованиях • сегодня
Какой механизм есть у Garbage Collector для удаления мусора внутри объектов
В Python Garbage Collector (GC) использует механизм подсчёта ссылок (reference counting) в сочетании с алгоритмом generational garbage collection для обнаружения и удаления циклических ссылок.
Для объектов с циклическими ссылками (когда ссылки образуют замкнутый круг) GC использует поколения (generations):
- Новые объекты попадают в поколение 0
- Если объект переживает сборку мусора, он перемещается в следующее поколение (1 или 2)
- GC чаще проверяет младшие поколения
Пример циклической ссылки:
python
class Node:
def __init__(self):
self.next = None
a = Node()
b = Node()
a.next = b
b.next = a # Циклическая ссылка
a = b = None # Теперь объекты недостижимыДля ручного управления GC можно использовать модуль gc:
python
import gc
gc.collect() # Принудительный сбор мусораGC автоматически удалит циклические ссылки, но для ресурсоёмких объектов лучше явно закрывать/освобождать ресурсы (например, через __del__ или контекстные менеджеры).

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