Чем занимаешься на текущем проекте
Что проверяют
Глубину погружения в мобильную разработку и то, насколько ваш проект похож на их. По этому рассказу интервьюер выбирает темы: сказали про декларативный интерфейс, спросят про состояние и лишние перерисовки, упомянули офлайн, спросят про хранение и синхронизацию.
Как отвечать
Дайте контекст, зону ответственности и одну задачу, которую пришлось разбирать всерьёз.
Контекст: что за приложение, сколько примерно экранов, какая аудитория, минимальная поддерживаемая версия системы, размер мобильной команды. Полезно сказать, есть ли вторая платформа и как вы с ней договариваетесь про контракты.
Зона и стек: Kotlin, что используете из Jetpack, на чём интерфейс, как устроены слои и как данные доходят до экрана, чем ходите в сеть, где кешируете, что с внедрением зависимостей, сборкой, флейворами и разбиением на модули.
Задача: не «делал новые фичи», а конкретная. Утечка контекста через долгоживущий объект, падение при восстановлении после смерти процесса, рывки в списке из-за тяжёлой отрисовки элементов, фоновая работа, которую система убивает на отдельных прошивках, конфликт версий библиотек при обновлении Gradle. Скажите, чем ловили: профилировщик, трассировка, отчёты о падениях.
Результат: доля сессий без падений, время холодного старта, размер сборки, жалобы на конкретный экран. Это метрики, которыми в мобильной разработке действительно живут.
Где спотыкаются
Останавливаются на списке аббревиатур. Названная архитектура сразу тянет вопрос, где хранится состояние при повороте экрана и кто владеет незавершённым запросом, а общий ответ здесь не проходит.
Второе: рассказывают только про интерфейс. Мобильный разработчик отвечает ещё за жизненный цикл, фоновые задачи, разрешения, обновления и совместимость версий, и молчание про это читается как отсутствие опыта выпуска в магазин.
Третье: называют круглый прирост скорости запуска, не сказав, как мерили. Холодный старт замеряют инструментами платформы на конкретном устройстве, и вопрос «на каком» задают почти всегда.