Skip to content
RED SAGSkills
hardMobile App Developer interview question

Users keep running old versions of your app for months. How do you evolve the API and decide when to force an update?

What the interviewer wants to hear

  • Assume old clients exist; make API changes backward compatible
  • Version the API or use additive changes and tolerant parsing
  • Send the app version with each request and monitor version adoption
  • Remote config for soft and hard minimum versions
  • Force updates only for security or breaking reasons, with a clear in-app flow

Model answer

Unlike the web, I cannot redeploy every client, so every API change must assume old app versions are still out there. I prefer additive changes: new optional fields and new endpoints, never renaming or removing fields that old apps parse. Clients parse tolerantly, ignoring unknown fields and handling unknown enum values with a default. When a breaking change is unavoidable, I version the endpoint and keep the old one until usage drops. Each request sends the app version, so we can see adoption per version and remove dead paths with data. I keep two remote values: a soft minimum that shows a dismissible update prompt, and a hard minimum that blocks use, which I reserve for security issues or truly broken versions. On Android I use the Play In-App Updates API, and on iOS a screen linking to the App Store.

Can you answer it under time pressure?

Take a timed hard round and get scored on every answer.

Start mock interview

More hard Mobile App Developer questions