Проверяет знание циклов сборки мусора и продолжительности хранения объектов в куче.
Переменная в куче живёт пока на неё есть ссылки в программе. Сборщик мусора периодически находит объекты, до которых недостижимы никакие корни (стек, глобальные переменные, регистры) и освобождает их память. Таким образом срок жизни не фиксирован и зависит от reachability.
Reachability:
Пока на объект есть указатель из любой корневой области, он не будет удалён
Сборка мусора:
Go использует tricolor mark-and-sweep:
Mark: помечает все достижимые объекты.
Sweep: очищает немеченые.
Промежутки:
GC запускается по порогу аллокаций и требований памяти.
Профилирование:
При высоких нагрузках GC может работать чаще → краткий lifespan.
Вывод:
Время жизни управляется автоматически, завися от ссылок и работы GC.