Встречается на собеседованиях • сегодня
Является ли проблемой ситуация, при которой с двух учетных записей одновременно обновляются данные
Да, это классическая проблема race condition (состояние гонки). При одновременном обновлении данных из разных потоков/процессов возможны:
- Потеря изменений (последний запись перезапишет изменения первого)
- Непредсказуемый результат
- Нарушение целостности данных
Пример:
java
class Account {
private int balance = 100;
public void withdraw(int amount) {
if (balance >= amount) {
balance -= amount; // race condition здесь
}
}
}Решение:
- Используйте synchronized:
java
public synchronized void withdraw(int amount) {...}- Используйте атомарные операции:
java
private AtomicInteger balance = new AtomicInteger(100);
public void withdraw(int amount) {
balance.getAndUpdate(b -> b >= amount ? b - amount : b);
}- Используйте транзакции в БД с правильным уровнем изоляции

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