Что такое continuation (withCheckedContinuation) и зачем?
Суть
Continuation — мост из мира колбэков в async/await. withCheckedContinuation / withCheckedThrowingContinuation приостанавливают текущую задачу, отдают вам объект CheckedContinuation, и задача продолжится, когда вы вызовете resume(returning:) или resume(throwing:). Контракт: ровно один resume на каждый continuation. Так оборачивают completion-handler API, делегаты с одним ответом, CLLocationManager.requestLocation, SKPaymentQueue и т.п.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep