52 вопроса по SQLAlchemy с технических собеседований
52 вопроса1634 компании353 технологии
Что проверяют на интервью
Как устроена подборка
На странице собраны вопросы по SQLAlchemy — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: database, sql, sqlalchemy.
После операции повторно прочитайте запись и сравните нужные поля с ожидаемыми значениями. Учитывайте identity map SQLAlchemy Session и видимость изменений в текущей транзакции.
Опишите, использовали ли Core-запросы, декларативные ORM-модели или отражение существующей схемы. Модели могли писаться вручную или генерироваться, и это важно уточнить.
Выбор SQLAlchemy можно объяснить единым интерфейсом запросов, управлением соединениями и поддержкой Core/ORM, если это действительно было нужно проекту. Не представляйте библиотеку обязательным выбором.
Первая ошибка — get_db используется до определения. Затем нужно согласовать Pydantic-версию, ORM-схемы ответов, проверку владельца и обработку транзакционных ошибок.
Опишите уровень владения SQL на реальных задачах: join, агрегации, транзакции, планы и индексы. Уточните, где использовали ORM, а где осознанно переходили к чистому SQL.
Ответьте, где и для чего использовали SQLAlchemy: Core или ORM, синхронный или асинхронный доступ, какие БД и объёмы задач. Затем приведите конкретный пример работы с запросами и транзакциями.
Назовите реальные проблемы и объясните диагностику: N+1, слишком долгие транзакции, исчерпание пула, неожиданную lazy loading или ошибки жизненного цикла Session. Важнее разбор причины, чем список терминов.
Engine управляет взаимодействием с СУБД и пулом соединений, а Session — ORM-объектами и единицей работы. Session получает соединение из пула, когда действительно требуется обратиться к базе.
Identity Map связывает ORM-идентичность строки с одним живым persistent-объектом внутри Session. Повторная загрузка той же сущности использует этот объект, чтобы не появлялись конфликтующие копии состояния.
ORM работает с моделями, связями и состоянием объектов, формируя SQL за вас. Чистый SQL задаёт запрос непосредственно; SQLAlchemy также имеет Core, не сводящийся к ORM.