Встречается на собеседованиях • сегодня
С какими трудностями сталкивался при работе с БД
Основные трудности при работе с БД в Python:
- Проблемы с соединениями - утечки соединений при неправильном закрытии, ограничение пула соединений. Решение - контекстные менеджеры или ORM.
python
# Плохо
conn = psycopg2.connect(...)
cursor = conn.cursor()
cursor.execute(query)
# забыли закрыть соединение
Хорошо
with psycopg2.connect(...) as conn:
with conn.cursor() as cursor:
cursor.execute(query)
text
2. **N+1 проблема** - когда ORM делает множество запросов вместо одного JOIN. Решение - `.select_related()` в Django, `.joinedload()` в SQLAlchemy.
3. **Блокировки и deadlocks** - при конкурентных операциях. Решение - правильные уровни изоляции, короткие транзакции.
4. **Миграции** - сложности с изменением схемы на проде. Решение - инструменты типа Alembic, тестирование миграций.
5. **Производительность** - отсутствие индексов, тяжелые запросы. Решение - анализ EXPLAIN, индексы, денормализация.
6. **Несоответствие типов** - между Python и БД. Решение - явное приведение типов, ORM.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы