Встречается на собеседованиях • сегодня
Как оптимизировать сервис генерации отчётов, который делает 4 независимых HTTP-запроса к разным системам
Используй параллельное выполнение запросов через `CompletableFuture` или `ExecutorService`. Это сократит время ожидания с суммы всех запросов до времени самого долгого. Пример:
```java
CompletableFuture future1 = CompletableFuture.supplyAsync(() -> httpClient.get("system1"));
CompletableFuture future2 = CompletableFuture.supplyAsync(() -> httpClient.get("system2"));
//... остальные запросы
CompletableFuture allFutures = CompletableFuture.allOf(future1, future2, future3, future4);
allFutures.join(); // ждём завершения всех
String result1 = future1.get();
String result2 = future2.get();
//... обработка результатов
```
Дополнительно:
- Установи разумные таймауты
- Добавь кеширование для повторяющихся запросов
- Используй пул соединений (Apache HttpClient/OkHttp)
- Логируй медленные запросы для последующей оптимизации

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