Выполняет ли метод data task синхронно или асинхронно?

Асинхронно.

Короткий ответ

Что ответить на собеседовании

Асинхронно.

Подробный разбор

Ответ с пояснениями

Асинхронно.

// URLSessionDataTask выполняется асинхронно.
// Он возвращает управление немедленно,
// а результат (дата, ответ, ошибка) передается в completion handler
// после завершения сетевого запроса в фоновом потоке.
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // Этот блок кода выполняется асинхронно
    // после получения ответа от сервера или возникновения ошибки.
    if let data = data {
        print("Received data: \(data.count) bytes")
    } else if let error = error {
        print("Error: \(error.localizedDescription)")
    }
}

// Запускаем задачу.
// Метод resume() просто ставит задачу в очередь.
task.resume()

// Код после task.resume() выполняется немедленно,
// не дожидаясь завершения сетевого запроса.
print("Task started...")

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее