Ситуация: под нагрузкой проявилась ошибка, связанная с «AtomicInteger». Как вы будете действовать?
Что хотят услышать интервьюеры:
План действий: сначала воспроизвести проблему, затем собрать факты: logs, metrics, stack trace, SQL, thread dump, heap dump или тестовый сценарий — в зависимости от темы.
- Проверить, где используется AtomicInteger.
- Сравнить ожидаемый контракт и фактическое поведение.
- Исправить минимально и добавить защиту от регрессии.
Ответ:
Вероятный риск: смешивать atomic с отдельными mutable полями без общего инварианта.
counter.incrementAndGet();