Встречается на собеседованиях • сегодня

Как реализовать логику подсчета при последовательной выдаче числа на каждый запрос

Можно использовать AtomicInteger для потокобезопасного инкремента:

java
public class Counter {
    private final AtomicInteger counter = new AtomicInteger(0);

    public int getNext() {
        return counter.incrementAndGet();
    }
}

Или в однопоточном варианте:

java
public class Counter {
    private int count = 0;

    public synchronized int getNext() {
        return ++count;
    }
}

Пример использования:

java
Counter counter = new Counter();
System.out.println(counter.getNext()); // 1
System.out.println(counter.getNext()); // 2

Для распределенных систем лучше использовать Redis/ZooKeeper или базу данных с sequence.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы