Какие технологии используются в работе
Что проверяют
Насколько ваш реальный стек совпадает с их и насколько он современный. Следом обычно просят рассказать подробнее про одну технологию: почему её выбрали, какие были проблемы, чем бы заменили.
Как отвечать
Не зачитывайте список из резюме, а пройдитесь по слоям на примере одного или двух проектов:
- язык и UI: Kotlin, Jetpack Compose, XML-вёрстка там, где осталась старая часть и вы переносили экраны;
- асинхронность и состояние: корутины и
Flow,StateFlowвоViewModel, сбор в UI черезcollectAsStateWithLifecycleилиrepeatOnLifecycle.LiveDataупоминайте как то, что встречали в старом коде; - архитектура: MVVM или MVI, слои data, domain и UI, многомодульность;
- DI: Hilt или Koin, в старых проектах чистый Dagger;
- сеть и данные: Retrofit с OkHttp,
kotlinx.serializationили Moshi, Room, DataStore вместоSharedPreferences; - картинки: Coil или Glide;
- сборка и качество: Gradle Kotlin DSL, version catalog, KSP вместо kapt, detekt, Android Lint, JUnit и MockK, тесты Compose UI;
- CI и релизы: GitHub Actions, GitLab CI или Jenkins, Firebase Crashlytics, выкладка в Google Play и RuStore.
Каждый пункт подкрепляйте своим фактом: «перевёл модуль с kapt на KSP и замерил, насколько ускорилась чистая сборка», «убрал LiveData из пяти модулей». Цифры и примеры должны быть ваши: придуманные собеседник раскрутит одним уточнением. Если что-то знаете только по пет-проекту, так и скажите, это честно и всё равно засчитывается.
Где спотыкаются
Перечисляют всё подряд, от Picasso до RxJava, без контекста. Такой список выглядит собранным из вакансий, а не из опыта.
Называют устаревшее без оговорок: AsyncTask, Loaders, проект целиком на Java. Старое упоминать можно, но с пояснением, что это легаси и как вы его переводили.
Не могут объяснить выбор. На вопрос «почему Koin, а не Hilt» ответ «так было в проекте» слабый. Лучше назвать компромисс: Hilt ловит ошибки графа зависимостей при компиляции, а Koin проще в настройке и работает в Kotlin Multiplatform.