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

Как организуешь решение фоновых задач

Для фоновых задач в Java можно использовать несколько подходов:

  1. Thread/Runnable - простейший вариант:
java
new Thread(() -> {
    // Фоновая логика
}).start();
  1. ExecutorService - более продвинутый вариант с пулом потоков:
java
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> {
    // Фоновая задача
});
executor.shutdown();
  1. Spring @Async (если используешь Spring):
java
@Async
public void backgroundTask() {
    // Асинхронная логика
}
  1. CompletableFuture (Java 8+):
java
CompletableFuture.runAsync(() -> {
    // Асинхронное выполнение
});

Для долгоживущих задач лучше использовать:

  • Quartz (расписание)
  • RabbitMQ/Kafka (очереди задач)
  • Spring Batch (пакетная обработка)

Важно обрабатывать исключения в фоновых потоках и предусматривать механизмы остановки.

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

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

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

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