Виды URLSessionTask
Суть
URLSessionTask — абстрактная задача; конкретные подклассы отличаются тем, куда попадает ответ и откуда берётся тело запроса. Задача создаётся сессией и стартует вызовом resume() (в async-API это делается за вас).
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep