Встречается на собеседованиях • сегодня

Что делать если веб-сервис начал потреблять много памяти

Проверьте утечки памяти с помощью tracemalloc или memory_profiler. Основные причины:

  1. Неочищаемые ссылки - циклические ссылки (используйте weakref или gc.collect()).
  2. Кэширование без ограничений - используйте @lru_cache с maxsize или Redis.
  3. Большие структуры данных - обрабатывайте данные чанками, используйте генераторы.

Пример диагностики:

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
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы