Skip to content
RED SAGSkills
mediumFull Stack Developer interview question

Your API is used by a web app and an older mobile app that users do not update quickly. How do you make a breaking change safely?

What the interviewer wants to hear

  • Prefer additive, backward compatible changes
  • Version the API when a breaking change is unavoidable
  • Run old and new versions side by side with a deprecation period
  • Measure usage of the old version before removing it
  • Contract tests or typed schemas to catch breaks early

Model answer

First I try to avoid a breaking change at all. Adding new optional fields or new endpoints is backward compatible, so old clients keep working. If I must change the meaning or shape of a field, I add the new field next to the old one and keep filling both for a while. When a real break is needed, I create a new version, for example /v2/orders or a version header, and run both versions side by side. I mark the old version as deprecated, tell client teams, and use logs or analytics to see which app versions still call it. For mobile, I can use a minimum supported version check to ask very old apps to update. Only when usage is near zero do I remove v1. I keep an OpenAPI schema or shared types and contract tests in CI so accidental breaking changes are caught before release.

Can you answer it under time pressure?

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

Start mock interview

More medium Full Stack Developer questions