Что такое @MainActor?
Суть
@MainActor — глобальный актор, чей executor — главный поток (главная очередь). Пометив тип, метод, свойство или замыкание @MainActor, вы говорите компилятору: этот код изолирован к главному потоку. Из другой изоляции его можно вызвать только через await, и компилятор сам вставит переключение. Это статическая гарантия: нарушение — ошибка компиляции, а не падение в рантайме.
Весь UI (UIView, UIViewController, SwiftUI View) уже помечен @MainActor, поэтому попытка обновить его из фоновой задачи не скомпилируется в Swift 6.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep