С какими библиотеками для iOS вы хорошо знакомы и можете работать уверенно
Что проверяют
Что стоит за словом «знаком». Интервьюер ищет не длинный перечень, а понимание, какую задачу закрывает каждая зависимость, что у неё внутри и что будет, если её убрать.
Как отвечать
Отвечайте по областям и честно отмечайте уровень владения:
- сеть: Alamofire там, где нужны перехватчики, повторы и валидация, и голый системный клиент с ожиданием ответа через новую модель конкурентности, если требований немного;
- изображения: Kingfisher или SDWebImage, с оговоркой про кэш в памяти и на диске и про отмену загрузки при переиспользовании ячейки;
- вёрстка: SnapKit как удобная обёртка над автоматической раскладкой, SwiftUI там, где проект на неё перешёл;
- данные: Core Data, Realm или GRDB, с пониманием, как устроен доступ из разных потоков;
- реактивность: Combine и RxSwift в старых проектах, структурная конкурентность в новых;
- качество: XCTest и снимки экранов, SwiftLint, подключение зависимостей штатным менеджером пакетов.
Про каждую названную библиотеку будьте готовы сказать, чем её заменить. Хорошо заканчивать мыслью о цене зависимости: чужой код это чужие обновления, поддержка новых версий системы и лишний вес приложения.
Где спотыкаются
Называют библиотеку, но не знают её основы. Про Alamofire почти всегда спрашивают, что под ней лежит, и ответ про какую-то собственную сетевую реализацию вместо системного клиента закрывает тему.
Вторая ошибка: разбор ответов сервера сторонними обёртками вместо штатного протокола кодирования. Это выдаёт опыт, застрявший в прошлом, ведь ручной обход словарей давно не нужен.
Третья: тянуть зависимость ради одной функции. На вопрос о том, как обойтись без библиотеки, кандидат теряется, хотя речь обычно про десяток строк на системном интерфейсе.