Verified Jobs Live
Software Engineering & OOP Medium Level ~3 min read

How would you evolve a public API without breaking existing clients?

Interactive Practice Mode
Formulate your thoughts or take notes before revealing the model solution.
Model Answer & Deep-Dive Explanation

First identify the documented contract and real client usage. Prefer additive changes, but check whether clients reject unknown fields or enum values. Introduce incompatible changes through an explicit version or migration path, publish examples, and support an agreed overlap period. Use contract tests and telemetry to detect old-client usage before removal. Deprecate with a clear timeline and rollback plan. Compatibility includes behavior, validation, error responses, and performance assumptions, not just whether the same method names and field types still exist.