Ответ вслух Senior Сборка и OTA-обновления обновлено

Риски OTA-обновлений

Вопрос

Какие риски несут OTA-обновления и как вы их снижаете?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Образцовый ответ: «Главный риск это несовместимость JS и нативной части. Его закрывает runtimeVersion, лучше с политикой fingerprint, которая сама меняет версию при изменении натива.

Что должно прозвучать в ответе

  • Несовместимость с нативной частью: `runtimeVersion`, fingerprint

  • Сломанное обновление у всех сразу: поэтапная раскатка, быстрый откат, встроенный откат при падении на старте

  • Подмена обновления: подпись обновлений (code signing)

  • Нарушение правил магазинов: только исправления и мелкие изменения

  • Нечитаемые ошибки: source maps для каждого обновления

  • Разные версии JS у пользователей: аналитика по id обновления

Что могут спросить следом

  • Как проверить обновление перед раскаткой на всех?
  • Что будет с пользователем, который долго не открывал приложение?

Разбор

Образцовый ответ: «Главный риск это несовместимость JS и нативной части. Его закрывает runtimeVersion, лучше с политикой fingerprint, которая сама меняет версию при изменении натива. Второй риск: сломанное обновление сразу у всех. Поэтому публикую сначала в канал для тестировщиков, потом на процент пользователей, и держу готовый откат; expo-updates ещё и сам откатывается, если бандл падает при запуске. Третий: подмена бандла, включаю подпись обновлений. Четвёртый: правила магазинов, через OTA только исправления и небольшие улучшения. Плюс source maps для каждого обновления и id обновления в аналитике и отчётах об ошибках, чтобы понимать, у кого какая версия»

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.