Встречается на 1% собеседований по Python
К чему приводят нюансы работы с памятью в Python
В Python управление памятью автоматизировано через механизм подсчёта ссылок и сборщик мусора. Однако есть нюансы:
- Циклические ссылки – объекты ссылаются друг на друга, но недоступны извне. Сборщик мусора (GC) их удаляет, но это требует дополнительных ресурсов.
python
a = []; b = []; a.append(b); b.append(a) # Циклическая ссылка
-
Изменяемые vs неизменяемые объекты – например,
+=для списков модифицирует объект, а для строк создаёт новый. -
Кэширование мелких объектов – целые числа от -5 до 256 и короткие строки кэшируются, что экономит память, но может ввести в заблуждение при сравнении через
is. -
Утечки памяти – например, незакрытые файлы или неучтённые ссылки в глобальных областях видимости.
Для контроля памяти можно использовать gc, sys.getrefcount() или профилировщики (tracemalloc, memory_profiler).

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