Что такое backpressure/demand в Combine?
Суть
Backpressure — механизм, которым медленный потребитель сдерживает быстрого производителя. В Combine он реализован через demand: подписчик явно сообщает издателю, сколько значений готов принять (Subscribers.Demand — .none, .max(n), .unlimited), и издатель по контракту не имеет права прислать больше. Demand накапливается: каждое request(.max(n)) прибавляется к текущему, а возвращаемое значение из receive(_:) докупает ещё. Это pull-модель поверх push-доставки.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep