Встречается на собеседованиях • сегодня
Расскажи про свой опыт работы с многопоточностью
Работал с многопоточностью в Java, используя `Thread`, `Runnable`, `ExecutorService`, `ForkJoinPool` и высокоуровневые API (`CompletableFuture`).
**Ключевые моменты:**
- Синхронизация через `synchronized`, `ReentrantLock`, `ReadWriteLock`.
- Работа с `volatile`, атомарными классами (`AtomicInteger` и др.).
- Опыт с `ConcurrentHashMap`, `CopyOnWriteArrayList`, `BlockingQueue`.
- Решал проблемы deadlock, race condition, livelock.
**Пример:**
```java
ExecutorService executor = Executors.newFixedThreadPool(4);
List> futures = new ArrayList<>();
for (int i = 0; i < 10; i++) {
futures.add(executor.submit(() -> {
// Логика задачи
return ThreadLocalRandom.current().nextInt();
}));
}
futures.forEach(f -> {
try {
System.out.println(f.get());
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
});
executor.shutdown();
```
Также использовал `CompletableFuture` для асинхронных цепочек и `ForkJoinPool` для рекурсивных задач.

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