Код Middle LLM в проде обновлено

Расписание ретраев с экспонентой

Условие

Напишите backoff_schedule(base, factor, max_delay, attempts, retry_after=None): верните список пауз перед повторами 1..attempts. Пауза i-го повтора (с нуля) равна min(base * factor**i, max_delay). Если задан retry_after (секунды из заголовка ответа), первая пауза равна max(retry_after, вычисленная). Джиттер не добавляйте (для детерминированности), значения округлите до 3 знаков.

Примеры

backoff_schedule(0.5, 2, 30, 5) // [0.5, 1, 2, 4, 8]
backoff_schedule(1, 3, 10, 4) // [1, 3, 9, 10]
backoff_schedule(0.5, 2, 30, 0) // []

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.