Встречается на 1% собеседований по Python
Какие проблемы бывают у баз данных
-
Проблемы производительности:
- Медленные запросы из-за отсутствия индексов, неправильных JOIN или больших данных.
- Блокировки (deadlocks) при конкурентном доступе.
-
Проблемы масштабируемости:
- Вертикальное масштабирование (увеличение ресурсов сервера) ограничено.
- Горизонтальное (шардинг) сложно реализовать без потерь.
-
Целостность данных:
- Потеря данных при сбоях (требуются транзакции и бэкапы).
- Некорректные связи (например, нарушение FOREIGN KEY).
-
Репликация и согласованность:
- Задержки в репликации (eventual consistency).
- Конфликты при multi-master репликации.
-
Безопасность:
- SQL-инъекции.
- Неправильные права доступа (например, избыточные привилегии).
Пример блокировки в SQLite:
python
import sqlite3
conn = sqlite3.connect("test.db")
cursor = conn.cursor()
cursor.execute("BEGIN TRANSACTION")
cursor.execute("UPDATE users SET balance = 100 WHERE id = 1") # Блокировка
# Другой поток не сможет изменить эту запись до COMMIT/ROLLBACK
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы