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

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

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

Обновлено 10 августа 2026 г.Встречается почти всегда
Короткий ответ

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

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

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

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

Начните с определения, затем объясните механизм и закончите примером из практики. Для полного ответа раскройте эти тезисы:

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

02 · Пример

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

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

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

03 · Ошибки

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

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

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

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

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

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

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

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

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