Встречается на собеседованиях • сегодня
Как Serializable выбирает, какая транзакция попадет в базу данных
Serializable в Java — это интерфейс-маркер, не влияющий на выбор транзакций. Вопрос, вероятно, о Serializable уровне изоляции в СУБД.
Serializable (уровень изоляции) гарантирует, что параллельные транзакции выполняются так, будто они идут последовательно. СУБД использует механизмы блокировок или MVCC (Multi-Version Concurrency Control) для предотвращения:
- Грязного чтения
- Неповторяемого чтения
- Фантомного чтения
Пример (PostgreSQL):
sql
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-- операции
COMMIT;Если возникает конфликт (например, две транзакции пытаются изменить одни данные), СУБД откатывает одну из них с ошибкой Serialization Failure. Приложение должно повторить транзакцию.
В Java (Spring):
java
@Transactional(isolation = Isolation.SERIALIZABLE)
public void transferMoney() { ... }Итог: Serializable не "выбирает" транзакции, а обеспечивает строгую изоляцию, иногда ценой производительности.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы