Готовы ли вы проектировать архитектуру, базу и подбирать технологии с нуля
Что проверяют
Можно ли доверить вам первые решения на проекте, цена ошибки в которых растёт с каждым месяцем. Смотрят не на смелость, а на то, как вы принимаете решения. Следом обычно спрашивают: «Какой стек взяли бы сегодня и почему?»
Как отвечать
Ответ «да» без содержания ничего не стоит. Покажите порядок, в котором вы думаете:
- требования до технологий: офлайн-режим, объём данных, минимальная версия Android, размер команды, планы на iOS. От этого зависит всё остальное;
- архитектура: слои по рекомендациям Google, UI-слой, опциональный domain и data-слой с репозиториями. MVVM или MVI с однонаправленным потоком данных, состояние экрана в
StateFlow; - стек: Kotlin, Jetpack Compose, корутины и Flow, Hilt или Koin, Retrofit или Ktor поверх OkHttp,
WorkManagerдля фоновой синхронизации,DataStoreвместоSharedPreferences; - база: Room как единственный источник правды для офлайна, миграции схемы продуманы с первого релиза. Если под «базой» имеют в виду серверную часть, уточните и назовите свою зону ответственности;
- сборка:
coreи feature-модули, version catalog, CI с линтером и тестами с первого дня.
Каждое решение фиксируйте коротко, в формате ADR: что выбрали, какие были варианты, почему. Это и есть ответ на вопрос «готовы ли»: вы умеете объяснить выбор и пересмотреть его, если он не сработал.
Если с нуля проектировать не приходилось, так и скажите, но покажите смежный опыт: выносили модуль, переводили экраны на Compose, писали миграцию Room. Нужны ваши примеры и цифры, а не абстрактный «успешный проект».
Где спотыкаются
Перечисляют модные библиотеки без привязки к задаче. Интервьюер слышит набор слов и не понимает, почему этому проекту нужно именно это.
Закладывают тяжёлую архитектуру на MVP из трёх экранов: двенадцать модулей и полный Clean Architecture на старте тормозят команду сильнее, чем их отсутствие.
Обещают «сделаю всё сам» и не упоминают бэкенд, дизайн и безопасность. Проектирование с нуля всегда совместное, и умение договориться об API оценивают не меньше выбора библиотек.