Какие системы хранения данных использовали
Что проверяют
Вопрос поведенческий по форме, но проверяют глубину: работали ли вы с базой дальше вызова ORM и понимаете ли, почему в проекте стояла именно она. Следом обычно спрашивают про самую тяжёлую проблему с хранилищем: медленный запрос, миграцию на живой таблице, потерю данных в кеше.
Как отвечать
Идите от своих проектов и для каждого хранилища называйте роль, объём и то, как с ним работали из Python:
- PostgreSQL: основная база. Доступ через SQLAlchemy 2.0 или Django ORM, драйверы psycopg 3 или asyncpg, миграции Alembic или встроенные в Django. Хорошо, если расскажете про индексы и уровни изоляции;
- Redis: кеш с TTL, счётчики, лимиты запросов, брокер для Celery. Скажите, какой режим персистентности был и что случилось бы при рестарте;
- MongoDB: документы с гибкой схемой. Назовите причину выбора: «гибкая схема» без реальной причины звучит как нежелание проектировать модель;
- ClickHouse: аналитика и события, большие объёмы вставки и агрегации, без частых точечных обновлений;
- Elasticsearch или OpenSearch: полнотекстовый поиск поверх основной базы, данные в нём вторичны;
- объектное хранилище, совместимое с S3: файлы и выгрузки через
boto3, в базе лежит только ссылка.
Хороший ответ содержит одну историю. Например, отчёт строился 40 секунд, вы нашли последовательное сканирование через EXPLAIN ANALYZE, добавили составной индекс и убрали N+1 через select_related или selectinload. Числа подставьте свои: придуманные раскрываются на первом уточнении. Если опыт был только с одной базой, так и скажите и покажите глубину в ней. Уверенный рассказ про PostgreSQL сильнее перечня из шести названий.
Где спотыкаются
Называют Kafka системой хранения. Это брокер сообщений с журналом событий, у которого настраиваемый срок хранения (по умолчанию неделя), а не база для произвольных запросов.
Повторяют, что реляционные базы «плохо масштабируются», а NoSQL «быстрее». Без нагрузки, объёма и характера запросов такие утверждения интервьюер разбирает за минуту.
Не знают, что делает ORM под капотом. Проблема N+1, ленивые загрузки и незакрытые сессии это то, о чём спросят сразу после слов «работал с SQLAlchemy».