Walk me through how you release a new version of a mobile app to the stores.
What the interviewer wants to hear
- Version code/build number and version name
- Signed release builds via CI (Fastlane, Gradle, Xcode Cloud)
- Internal and beta testing (TestFlight, Play testing tracks)
- Store review, release notes and screenshots
- Staged rollout with crash and metric monitoring
- Feature flags and forced update strategy
Model answer
I start by bumping the version name and the build number, which must always increase. CI builds a signed release, for example an Android App Bundle with Play App Signing and an iOS archive, usually automated with Fastlane or Xcode Cloud. The build first goes to internal testers and QA through Play internal testing and TestFlight, then to a wider beta group. After sign-off, I submit to the stores with release notes and any new screenshots, and wait for review. On release I use a staged rollout, starting with a small percentage, and watch Crashlytics, ANR rates and key business metrics. If something goes wrong I halt the rollout and use feature flags to disable the feature while a hotfix is prepared. We also keep a minimum supported version check for critical fixes.
Can you answer it under time pressure?
Take a timed medium round and get scored on every answer.
More medium Mobile App Developer questions
- How would you add offline support to an app that currently only works online?
- Users say a list in your app stutters while scrolling. How would you find and fix the problem?
- What is dependency injection and how have you used it in a mobile app?
- What security practices do you follow when building a mobile app?
- How do you manage state in a Flutter or React Native app as it grows beyond a few screens?
- What testing strategy do you use for a mobile app, and what do you test at each level?
- How would you implement deep links in a mobile app from end to end?
- How do you make a mobile app accessible, and how do you check it?
- How would you set up CI/CD for a mobile app?