Вопрос на собеседовании · Backend-разработчик

Объясните уровни изоляции транзакций.

Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.

Обновлено 25 сентября 2026 г.базовая тема
Backend-разработчикПрофессии и разделы
Короткий ответ

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

На интервью лучше объяснять уровни через аномалии: грязное чтение, неповторяющееся чтение, фантомы и потерянные обновления. Конкретное поведение зависит от СУБД и её реализации MVCC, поэтому полезно назвать базу, с которой вы работали.

01 · Структура ответа

Что важно сказать интервьюеру

Раскройте тезисы, которые относятся именно к этому вопросу, и поясните их на собственном примере:

Read Uncommitted допускает наиболее слабую изоляцию.
Read Committed не даёт читать незакоммиченные изменения, но два чтения могут различаться.
Repeatable Read сохраняет согласованный снимок, а детали фантомов зависят от СУБД.
Serializable даёт результат, эквивалентный последовательному выполнению, и может требовать retry.

02 · Пример

Как объяснить на практике

Две транзакции читают остаток товара и пытаются его уменьшить. Простого чтения на Read Committed недостаточно для защиты инварианта: нужны атомарное условное обновление, блокировка строки или корректная обработка конфликта.

Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.

03 · Ошибки

Чего избегать в ответе

Перечислять уровни без объяснения наблюдаемых аномалий.
Обещать одинаковое поведение Repeatable Read во всех СУБД.
Выбирать Serializable для каждого запроса и не учитывать конфликты и повторные попытки.

04 · Углубление

Что могут спросить следом

  1. Что такое MVCC?
  2. Чем блокировка отличается от оптимистического контроля?
  3. Как избежать потерянного обновления?

05 · Проверка фактов

Первоисточники по теме

Ссылки ниже помогают проверить понятия, методы и ограничения по теме. Они не являются доказательством того, что этот вопрос задают на каждом собеседовании.

  • PostgreSQL: Transaction Isolation — Аномалии и поведение уровней изоляции в PostgreSQL; другие СУБД могут отличаться.

Практика ответа

Ответьте вслух, а не про себя

Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с подсказкой.

Потренировать ответ