Встречается на собеседованиях • сегодня
Расскажи про опыт работы с сложными запросами
Работал с оптимизацией SQL-запросов в Django ORM и сырыми SQL для сложных аналитических отчетов. Основные подходы:
- Оптимизация ORM:
- Использовал
select_relatedиprefetch_relatedдля уменьшения числа запросов. - Применя
annotateиaggregateдля вычислений на стороне БД.
pythonfrom django.db.models import Count, Sum queryset = Order.objects.annotate( total_items=Count('items'), total_price=Sum('items__price') ) - Использовал
-
Сырые SQL:
- Для оконных функций и сложных джойнов использовал
cursor.executeилиRawSQL.
pythonfrom django.db import connection with connection.cursor() as cursor: cursor.execute(""" SELECT user_id, SUM(amount) OVER (PARTITION BY user_id) FROM transactions """) - Для оконных функций и сложных джойнов использовал
-
Индексы и EXPLAIN:
- Анализировал планы запросов через
EXPLAIN ANALYZE, добавлял индексы для ускорения.
- Анализировал планы запросов через
-
NoSQL:
- Работал с агрегациями в MongoDB (например,
$group,$lookup).
- Работал с агрегациями в MongoDB (например,
Кейс: оптимизировал отчет с 10+ джойнами, сократив время выполнения с 15 сек до 500 мс через переписывание запроса и добавление составных индексов.

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