Работали ли с чистой архитектурой
Что проверяют
Понимаете ли вы смысл слоёв или знаете только названия папок. Чистая архитектура в Android стала модным словом, поэтому интервьюер копает в сторону правила зависимостей и того, где у вас живёт бизнес-логика. Вторая проверка на зрелость: способны ли вы сказать, что проекту она была не нужна.
Как отвечать
Соберите ответ вокруг одного правила: зависимости направлены внутрь, к бизнес-логике.
- domain: чистый модуль на Kotlin без единого импорта из Android SDK. Модели, интерфейсы репозиториев, сценарии использования.
- data: реализации репозиториев, сеть и база, маппинг DTO в доменные модели. Retrofit и Room не выходят за границы этого слоя.
- presentation:
ViewModel, состояние экрана одним неизменяемым объектом, наружу поток состояния, внутрь события пользователя. - связь слоёв: интерфейс объявлен в domain, реализация подставляется через Hilt или Koin, поэтому domain тестируется без эмулятора.
- ошибки: результат сценария приходит своим типом с явными ветками, а не голым исключением, пробитым до вью.
Сильный ход в конце: сказать, где вы упрощали. Для экрана без логики сценарий-обёртка в одну строку над репозиторием лишний, а для платёжного или офлайн-сценария слои окупаются сразу.
Где спотыкаются
Повторяют схему из статьи, нарушая её же правило. В доменном слое оказывается Context, LiveData или DTO от Retrofit, и вся независимость, ради которой всё затевалось, исчезает.
Путают чистую архитектуру со способом связать экран и данные. Это ортогональные вещи, и ответ «у нас чистая архитектура, то есть MVVM» показывает, что книгу не читали.
Третье: делят на модули, но логику оставляют во фрагменте. Ветвления и обращения к репозиторию прямо из UI живут вместе с жизненным циклом, из-за чего поворот экрана роняет запрос, а протестировать это можно только руками.