Встречается на собеседованиях • сегодня
Что такое Retain Cycle
Retain cycle (цикл удержания) — это ситуация, когда два или более объекта удерживают друг друга через сильные ссылки, создавая замкнутый цикл. Это приводит к утечке памяти, так как счетчики ссылок никогда не достигают нуля, и объекты не могут быть освобождены.
Пример в Python (с использованием weakref для избежания retain cycle):
python
import weakref
class Node:
def __init__(self, value):
self.value = value
self._next = None
@property
def next(self):
return self._next() if self._next else None
@next.setter
def next(self, node):
self._next = weakref.ref(node) if node else None
# Использование
a = Node(1)
b = Node(2)
a.next = b
b.next = a # Нет retain cycle благодаря weakrefВ Python retain cycle менее критичен благодаря сборщику мусора, но все равно может приводить к задержкам в освобождении памяти. Для предотвращения используют weakref или явный разрыв связей.

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