Есть ли опыт работы с feature toggling
Что проверяют
Работали ли вы с флагами в живом продукте и понимаете ли, зачем они мобильному приложению, которое нельзя откатить за минуту. Следом обычно спрашивают, как вы убираете старые флаги и что увидит пользователь, если конфиг не загрузился.
Как отвечать
Стройте ответ на своём проекте: какая была задача, как устроили флаги, что получилось. Цифры называйте свои: доля аудитории на первом этапе, сколько раз выручил аварийный выключатель.
Что стоит покрыть:
- типы флагов: релизные (код уже в сборке, фича скрыта), экспериментальные для A/B, аварийные kill switch, флаги доступа для отдельных групп;
- инструмент: Firebase Remote Config, LaunchDarkly, Unleash или своё решение на бэкенде. Для флагов, известных на этапе сборки, хватает
buildConfigFieldи product flavors в Gradle; - архитектура: интерфейс
FeatureFlagsв доменном слое, реализация поверх провайдера, внедрение через Hilt. ViewModel не знает, откуда пришло значение, а в тестах флаг легко подменить; - поведение по умолчанию: значения зашиты в приложение (
setDefaultsAsyncв Remote Config) и безопасны без сети. Новые значения лучше активировать при следующем запуске, чтобы экран не перестраивался посреди сессии; - отладка: скрытое меню в debug-сборке, где QA переключает флаги локально.
Отдельно скажите про особенность Android: старые версии приложения живут у пользователей месяцами, поэтому флаг нельзя удалять на сервере, пока его читают старые сборки.
Если опыта не было, так и скажите и покажите, какие флаги завели бы на текущем проекте и как бы их убирали. Честное «работал только с BuildConfig, но понимаю схему» лучше выдуманной истории.
Где спотыкаются
Не убирают флаги после раскатки. Через год в коде десятки веток if (flags.isNewCheckout()), половина мёртвая. Сильный ответ называет правило: у флага есть владелец и срок, после раскатки на всех удаление идёт отдельной задачей.
Путают флаги с поэтапной раскаткой в Google Play. Staged rollout ограничивает, кто получит сборку, но не выключает фичу у тех, кто её уже установил.
Рассказывают шаблонную историю с круглыми процентами и без деталей. Первый же уточняющий вопрос её разваливает.