Ответ
Вот список технических и поведенческих вопросов для оценки iOS-разработчика:
Технические вопросы:
- Архитектура:
- Какие архитектурные паттерны (MVC, MVVM, VIPER, Clean Swift) вы использовали и почему?
- Как вы организуете модульность и разделяете ответственность между компонентами?
- Многопоточность:
- Как вы работаете с GCD (Grand Central Dispatch) и OperationQueue?
- Как избегаете race conditions и deadlocks?
- UI-фреймворки:
- Какой опыт с UIKit и SwiftUI? В каких случаях выбираете тот или иной подход?
- Как реализуете адаптивный интерфейс и анимации?
- Тестирование:
- Какой подход к Unit- и UI-тестированию (XCTest)?
- Как тестируете асинхронный код и зависимости?
- Инструменты:
- Какие системы управления зависимостями используете (SPM, CocoaPods, Carthage) и почему?
- Как настраиваете CI/CD для iOS-проектов?
Поведенческие и проектные вопросы:
- Опишите самый сложный технический проект в вашем опыте. С какими проблемами столкнулись и как их решили?
- Как вы подходите к оптимизации производительности приложения (инструменты, метрики, методы)?
- Как решаете конфликты при слиянии кода в Git?
- Был ли опыт публикации приложения в App Store? Какие были ключевые сложности?
- Что вас мотивирует в разработке под iOS и как вы следите за новыми технологиями?