Матрица компетенций: Android

Hard skills

Skill Passport — Android
Kotlin и базовая модель языкаСамостоятельно реализует логику фичи с sealed class/interface, extension-функциями и generics там, где они делают модель состояний безопаснее. Объясняет разницу `==` и `===`, неизменяемые/изменяемые коллекции и избегает `null` как неявного состояния экрана.
UI: Jetpack Compose и ViewsСамостоятельно реализует экран со состояниями loading/content/error и событиями пользователя; корректно поднимает state и использует `StateFlow`/состояние ViewModel. Интегрирует Compose и View-систему там, где это нужно, без дублирования источника состояния.
Android-компоненты и жизненный циклСамостоятельно реализует навигацию между экранами и передачу аргументов, сохраняет критичное UI-состояние через ViewModel/SavedStateHandle. Объясняет, почему ссылка на View/Activity не должна переживать lifecycle владельца.
Сеть и работа с API (Android)Самостоятельно реализует data source/repository для фичи: request/response models, типизированные ошибки, отмена и загрузочные состояния. Проверяет код ответа и не смешивает transport-, API- и UI-ошибки в одну строку.
Хранение данных и offline-поведениеСамостоятельно выбирает DataStore, Keystore в связке с поддерживаемым зашифрованным хранилищем проекта, файл или Room под данные фичи; реализует кеш с понятной политикой чтения и обновления. Отличает настройки, токены и бизнес-данные.
Конкурентность: coroutines и FlowСамостоятельно связывает загрузку данных с lifecycle через `viewModelScope` и `Flow`/`StateFlow`, корректно обрабатывает отмену и ошибки. Различает cold Flow и StateFlow на практическом примере состояния экрана.
Архитектура, зависимости и тестированиеСамостоятельно декомпозирует фичу на UI, domain и data-слои, использует dependency injection (например, Hilt) для подмены зависимостей. Пишет unit-тесты на состояния success/error и инструментальный/UI-тест для критичного пользовательского пути.
Сборка, релиз, производительность и наблюдаемостьСамостоятельно настраивает build variant или исправляет типовую Gradle-зависимость, добавляет crash/analytics event для фичи без персональных данных. Использует Android Profiler/Logcat для локализации простой проблемы памяти, сети или медленного запуска.
Общее
Язык и основыПродвинутые функции Kotlin (корутины, generics), глубокое знание SDK и библиотек, DI (Dagger/Hilt)
DevOpsНастройка CI/CD (GitLab CI, Jenkins), автоматизация сборки, размещение в Play Store
Базы данных и сетьОптимизация запросов, кеширование, работа с ContentProvider
Качество и Безопасность
ТестированиеИнтеграционные тесты, внедрение CI, MockK, Robolectric
Архитектура и Проектирование
АрхитектураПроектирует модули, внедряет паттерны MVVM, Clean Architecture, использует Coroutines/Flow

Soft skills

Общее
Бизнес и коммуникацииОбсуждает решения с командой, участвует в демонстрациях, менторит новичков
ЛидерствоМенторит стажеров, помогает в онбординге
Skill Passport — Автономность и глубина
Автономность и масштаб задачОписывает случай, когда самостоятельно довёл фичу или модуль от постановки задачи до результата в проде без пошагового контроля — включая случаи, когда сам принимал технические решения по ходу работы, а не только выполнял готовый план. Называет конкретную зону ответственности (что именно делал и за что отвечал), а не общую фразу «участвовал в проекте».
Глубина технических решенийНазывает минимум два реально рассмотренных варианта и объясняет, почему выбрал один из них — аргумент привязан к конкретным деталям своей задачи (объём данных, срок, ограничение инфраструктуры), а не общая теория без применения к ситуации.

Типовые задачи

Практические задачи для собеседования — доступны после регистрации

Зарегистрироваться