Встречается на собеседованиях • сегодня
Что делать если веб-сервис начал потреблять много памяти
Проверьте утечки памяти с помощью tracemalloc или memory_profiler. Основные причины:
- Неочищаемые ссылки - циклические ссылки (используйте
weakrefилиgc.collect()). - Кэширование без ограничений - используйте
@lru_cacheсmaxsizeили Redis. - Большие структуры данных - обрабатывайте данные чанками, используйте генераторы.
Пример диагностики:
python
import tracemalloc
tracemalloc.start()
# ... ваш код ...
snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics('lineno')
for stat in top_stats[:10]:
print(stat)Оптимизации:
- Используйте
__slots__для классов - Замените списки на массивы (
array.array) для примитивных типов - Для больших данных рассмотрите
pandasсdtypeилиnumpy

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