Есть поставщики цен, у каждого метод price принимает артикул и асинхронно возвращает CompletableFuture с ценой. Напиши метод bestPrice, который принимает артикул и список поставщиков, опрашивает всех параллельно и возвращает CompletableFuture с минимальной ценой: упавших и не ответивших за две секунды пропускаем, а если цены не дал никто, результат завершается ошибкой.
~15 мин голосом
Как подойти
Проверяют умение строить неблокирующую композицию CompletableFuture: параллельный fan-out, таймаут и изоляцию ошибок на каждый вызов, агрегацию через allOf и корректную обработку пустого результата исключением, а не null.
Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.