Swift и базовая модель языкаСамостоятельно реализует модель и логику фичи, использует protocol-oriented подход и generics там, где они устраняют дублирование. Объясняет copy-on-write и захват `self` в замыкании на конкретном примере, избегает retain cycle через `[weak self]`, когда он необходим.
UI: SwiftUI и UIKitСамостоятельно реализует экран со состояниями loading/content/error, корректно связывает состояние и UI. Интегрирует SwiftUI и UIKit там, где это нужно (`UIHostingController`/`UIViewRepresentable`), выбирая подход по ограничениям проекта, а не по привычке.
Жизненный цикл приложения и iOS-платформаСамостоятельно обрабатывает возврат приложения из background, deep link или push-уведомление для фичи; сохраняет/восстанавливает необходимое состояние экрана. Объясняет, почему длительную работу нельзя безусловно выполнять в background, и выбирает допустимый механизм iOS.
Сеть и работа с APIСамостоятельно реализует сетевой слой для фичи: request/response models, кодирование параметров, типизированные ошибки, отмена задачи и загрузочные состояния. Различает ошибки транспорта, HTTP и декодирования; не отображает пользователю «сырой» текст ошибки сервера.
Хранение данных и кешированиеСамостоятельно выбирает `UserDefaults`, Keychain, файл или локальную БД под тип данных фичи; реализует кеш с понятной политикой обновления. Отличает пользовательские настройки, секреты и бизнес-данные.
Конкурентность и асинхронностьСамостоятельно организует параллельную загрузку данных с `Task`, `async let` или task group, корректно обрабатывает отмену. Различает последовательную и параллельную работу на примере времени выполнения и не блокирует UI синхронной операцией.
Архитектура, зависимости и качество кодаСамостоятельно декомпозирует фичу на UI, бизнес-логику и доступ к данным, использует dependency injection для подмены API/хранилища в тестах. Пишет unit-тесты на success/error/edge cases и UI-тест для критичного пользовательского пути.
Сборка, релиз, наблюдаемость и качество приложенияСамостоятельно настраивает signing/provisioning для тестовой сборки или исправляет типовую ошибку сборки, добавляет crash/analytics event для новой фичи без персональных данных. Проверяет экран на реальном устройстве и в Simulator, включая размер шрифта и базовую доступность.