Подготовка по специальности

Собеседование Android-разработчика:
вопросы и ответы.

На собеседовании Android-разработчика проверяют не только знание Kotlin и Android SDK, но и умение управлять состоянием экрана, конкурентностью и ограничениями мобильного устройства. Сильный ответ связывает API с пользовательским сценарием: поворот экрана, уход приложения в фон, медленная сеть или нехватка памяти.

Обновлено 19 августа 2026 г.10 вопросов с разбором
Потренировать ответы вслух
Android-разработчикПрофессии и разделы
Короткий ответ

Не пытайтесь выучить все ответы: интервьюеры проверяют понимание, а не память. Разберите темы ниже, прорешайте типичные вопросы вслух и свяжите каждый ответ с примером из собственного опыта.

01 · Процесс

Как обычно проходит интервью

После разговора о проектах обычно идут вопросы по Kotlin, lifecycle и архитектуре, затем live-coding или разбор экрана. Кандидата могут попросить объяснить отмену корутин, набросать состояние Compose-экрана, найти утечку или предложить стратегию тестирования.

02 · Темы

Что нужно знать перед интервью

Kotlin и конкурентность

  • coroutines, suspend и cancellation
  • structured concurrency и SupervisorJob
  • Flow, StateFlow и обработка ошибок
  • потоки, dispatchers и backpressure

Android lifecycle и состояние

  • Activity, Fragment и ViewModel
  • изменение конфигурации и process death
  • SavedStateHandle и навигация
  • сбор Flow с учётом lifecycle

UI, архитектура и качество

  • Jetpack Compose и recomposition
  • state hoisting и однонаправленный поток данных
  • слои приложения и зависимости
  • unit, integration и UI-тесты

03 · Вопросы

Реальные вопросы с разбором ответов

Пометка у вопроса — как часто он встречается на реальных интервью: почти всегда часто иногда

Корутина выполняется в CoroutineScope и наследует его Job и context. Structured concurrency связывает дочерние задачи с жизненным циклом родителя: отмена ViewModel останавливает её работу. Упомяните, когда нужен supervisorScope.

Читать полный разбор Потренировать этот ответ

ViewModel хранится в ViewModelStore владельца и переживает пересоздание Activity или Fragment, но не гарантированно process death. Долгое состояние сохраняют через SavedStateHandle или источник данных, а Flow собирают lifecycle-aware способом.

Читать полный разбор Потренировать этот ответ

Compose перечитывает наблюдаемое state и пересчитывает затронутые composable. Не называйте recomposition перерисовкой всего экрана: объясните стабильные параметры, remember, derivedStateOf и вынос дорогой работы из composition.

Читать полный разбор Потренировать этот ответ

04. Чем StateFlow отличается от LiveData и когда выбрать каждый?

часто

StateFlow — горячий поток с обязательным текущим значением и coroutine API; LiveData lifecycle-aware из коробки. В современном Kotlin-стеке часто используют StateFlow в ViewModel и repeatOnLifecycle в UI, но учитывают выбранную архитектуру проекта.

Потренировать этот ответ

05. Как обрабатывать отмену и ошибки в корутинах?

почти всегда

CancellationException не поглощают в общем catch: её пробрасывают дальше. Ошибки дочерних задач ведут себя по-разному в coroutineScope и supervisorScope; покажите, где ошибка превращается в UI-state или retry.

Потренировать этот ответ

06. Что такое state hoisting в Compose?

часто

Состояние поднимают к общему владельцу, а дочернему composable передают значение и события. Это делает UI предсказуемым и тестируемым, но не требует поднимать каждую локальную анимацию наверх.

Потренировать этот ответ

07. Как сохранить состояние при process death?

часто

ViewModel не заменяет сохранение состояния процесса. В SavedStateHandle держат небольшой восстанавливаемый UI-state и параметры навигации, а данные получают заново из репозитория по устойчивому идентификатору.

Потренировать этот ответ

08. Как выстроить слои Android-приложения?

часто

Опишите границы UI, domain и data без догматизма: UI зависит от use case или state, data скрывает сеть и БД, зависимости направлены к абстракциям. Свяжите решение с тестированием и размером команды.

Потренировать этот ответ

09. Какие тесты нужны для экрана Android-приложения?

часто

Пирамида обычно включает unit-тесты ViewModel и логики, интеграцию репозитория, немного UI-тестов на критические сценарии. Не дублируйте один сценарий на каждом уровне и стабилизируйте асинхронность.

Потренировать этот ответ

10. Расскажите о сложной проблеме производительности или стабильности в Android-приложении.

почти всегда

Структурируйте по STAR: симптом и метрика, как локализовали причину, что изменили, как проверили результат и не допустили повторения. Подходят ANR, утечка, лишние recomposition или сетевые ретраи.

Потренировать этот ответ

04 · Практика

Практический кейс Android-разработчика

В практической части могут дать экран каталога с сетью, загрузкой и поворотом устройства. Сначала уточните состояния и ошибки, затем предложите однонаправленный поток событий, ViewModel, устойчивое состояние и границы репозитория.

Проговаривайте, что сделаете сразу, а что оставите как следующую итерацию: отмену запросов, кэш, аналитику и тесты. Интервьюер оценивает обоснованные компромиссы, а не количество знакомых библиотек.

Отвечайте из своего опыта. Подсказки, шпаргалки и AI-инструменты работают только как подсказка для собственной мысли: выдуманный опыт раскрывается первым же уточняющим вопросом.

Общая подготовка — резюме, техника, звук и демонстрация экрана — разобрана в чек-листе подготовки к онлайн-собеседованию. Как осознанно использовать AI-подсказки во время звонка — в гайде «Как использовать AI на собеседовании».

05 · FAQ

Частые вопросы

Нужно ли знать XML, если команда использует Compose?

Для большинства вакансий полезно понимать существующий View-based UI и interop, потому что крупные приложения мигрируют постепенно. Главный фокус на интервью зависит от стека вакансии, но lifecycle и состояние нужны в обоих подходах.

Насколько глубоко спрашивают алгоритмы у Android-разработчика?

Это зависит от компании. Чаще одновременно оценивают базовые структуры данных, сложность и прикладной Android-кейс; в крупных продуктовых командах возможна отдельная алгоритмическая секция.

Как подготовить рассказ о проекте?

Выберите два кейса с измеримым эффектом и заранее разложите ответственность, техническое решение, компромиссы и результат. Уточняйте личный вклад, чтобы не подменять командную работу общими словами.

Тренировка перед интервью

Репетируйте ответы вслух с Mira

Mira слышит вопрос и показывает подсказку для ответа прямо во время звонка. 30 минут бесплатно каждый месяц, банковская карта не нужна.

Начать тренировку