map, flatMap, combineLatest — что делают?
Суть
map— синхронно преобразует каждое значение:Publisher<A>→Publisher<B>. Ошибок не добавляет; для бросающего преобразования естьtryMap.flatMap— для каждого значения создаёт новый Publisher и сливает их выходы в один поток (например, id → сетевой запрос). Внутренние издатели работают параллельно;maxPublishers:ограничивает их число. Ошибка любого внутреннего издателя завершает весь поток — обрабатывайте её внутри (catch,replaceError).combineLatest— объединяет несколько издателей: при каждом новом значении любого из них эмитит кортеж из последних значений всех. Не эмитит ничего, пока каждый источник не выдал хотя бы одно значение. Типично для валидации формы (email + пароль → кнопка активна).
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep