Ctrl K
Java · Senior · Код

Есть поставщики цен, у каждого метод price принимает артикул и асинхронно возвращает CompletableFuture с ценой. Напиши метод bestPrice, который принимает артикул и список поставщиков, опрашивает всех параллельно и возвращает CompletableFuture с минимальной ценой: упавших и не ответивших за две секунды пропускаем, а если цены не дал никто, результат завершается ошибкой.

~15 мин голосом

Как подойти

Проверяют умение строить неблокирующую композицию CompletableFuture: параллельный fan-out, таймаут и изоляцию ошибок на каждый вызов, агрегацию через allOf и корректную обработку пустого результата исключением, а не null.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыНапишите функцию memoizeAsync. Она принимает асинхронную функцию от строкового ключа и время жизни кэша в миллисекундах и возвращает обёртку: повторный вызов с тем же ключом не ходит в сеть, параллельные вызовы делят один запрос, а ошибки не кэшируются. SeniorНапишите функцию retry. Она принимает асинхронную функцию и опции: число попыток, базовую задержку и AbortSignal, вызывает функцию и при ошибке повторяет её с экспоненциально растущей задержкой. Возвращает промис с первым успешным результатом или с последней ошибкой. SeniorВы оркестрируете несколько вызовов внешних сервисов через CompletableFuture. Какие подводные камни вы встречали и как их обходите? Senior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~15 мин