Что такое Storyboards и XIB
Что проверяют
Работал ли кандидат в Interface Builder на живом проекте с командой. За вопросом стоит понимание того, что оба формата это сериализованная иерархия объектов, а не картинка, и умение связать её с кодом и пережить слияние веток.
Как отвечать
XIB описывает одну иерархию представлений: экран, ячейку, переиспользуемую вью. Storyboard содержит набор сцен, переходы между ними и стартовую точку. Оба редактируются одним редактором и на сборке компилируются в nib, который приложение загружает в рантайме.
Загрузка различается. Контроллер из XIB создаётся инициализатором с именем nib, отдельная вью через UINib и instantiate(withOwner:options:), владелец задаётся через File's Owner. Из storyboard контроллер достают по строковому идентификатору, переходы описываются segue, данные передаются в prepare(for:sender:). После загрузки объектов вызывается awakeFromNib, у контроллера следом идёт viewDidLoad.
Что где удобнее: XIB для переиспользуемых кусков и отдельных экранов внутри модуля, storyboard для связного флоу, где ценно видеть переходы. Большой storyboard режут на несколько через storyboard reference, иначе файл в несколько тысяч строк XML невозможно ревьюить и мучительно мержить.
Полезно добавить современный контекст: новые экраны чаще пишут на SwiftUI или кодом, а Interface Builder остаётся в проектах с историей.
Где спотыкаются
Называют Interface Builder форматом файла. Это редактор, форматы это XIB и storyboard, а nib результат их компиляции, который и лежит в бандле приложения.
Забывают, что связи здесь строковые. Идентификатор сцены, имя segue, идентификатор ячейки компилятор не проверяет: опечатка обнаружится падением на устройстве, а не на сборке.
Кладут весь проект в один storyboard и потом воюют с конфликтами: два человека в одном файле дают нечитаемый diff, а разрешать его вручную в XML легко значит потерять связи с кодом.