После оптимизации PostgreSQL запрос стал быстрее, но интеграционный тест иногда возвращает транзакции другого пользователя. До релиза один день, а исправление затрагивает фильтр Django ORM. Что выберешь первым: выпускать ускорение или остановиться на проверке корректности?

Сначала остановлю выпуск и исправлю проверку принадлежности данных пользователю. Ускорение не оправдывает утечку чужих транзакций, а нестабильность теста не делает нарушение допустимым.

Короткий ответ

Что ответить на собеседовании

Сначала остановлю выпуск и исправлю проверку принадлежности данных пользователю. Ускорение не оправдывает утечку чужих транзакций, а нестабильность теста не делает нарушение допустимым.

Подробный разбор

Ответ с пояснениями

Сначала остановлю выпуск и исправлю проверку принадлежности данных пользователю. Ускорение не оправдывает утечку чужих транзакций, а нестабильность теста не делает нарушение допустимым.

Проверю фильтр ORM, JOIN, группировку условий, кеш-ключи и передачу user_id из доверенного контекста. Добавлю воспроизведение с двумя пользователями и пересекающимися данными, чтобы тест не проходил случайно на пустой базе. Если исправление невозможно уверенно проверить до релиза, уберу оптимизацию и оставлю безопасное поведение. Затем отдельно сравню планы и производительность без ослабления ownership-проверок.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее