Как SwiftUI интегрируется с UIKit?
Два направления
UIKit внутри SwiftUI — UIViewRepresentable / UIViewControllerRepresentable:
makeUIView(context:)— создать объект один раз;updateUIView(_:context:)— синхронизировать с новыми параметрами SwiftUI; вызывается при каждом обновлении родителя, поэтому внутри нужен diff («если текст не изменился — не трогать»), а не пересоздание;makeCoordinator()— объект-мост для делегатов и target-action, живёт столько же, сколько view;sizeThatFits(_:uiView:context:)(iOS 16) — сообщить SwiftUI intrinsic-размер.
SwiftUI внутри UIKit — UIHostingController(rootView:) как обычный контроллер (child VC, push, modal) и UIHostingConfiguration (iOS 16) для содержимого ячеек UITableView/UICollectionView. sizingOptions = [.intrinsicContentSize] позволяет hosting-контроллеру обновлять свой размер при изменении контента.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep