IntermediatePROBLEM_SOLVING
Consider a service that must expose both internal APIs for other services and external APIs for clients. How would you structure versioning, validation, and error handling so that changes don’t break existing consumers?
Backend Developer
General

Sample Answer

I like to treat internal and external surfaces as related but distinct products. For external APIs, I’d use explicit, URI-based versioning like /api/v1 and treat them as strictly backward compatible; breaking changes always go to v2, and we deprecate v1 on a clear timeline with usage dashboards. Internally, I’m more flexible and prefer contract-first design with protobuf or OpenAPI plus consumer-driven contract tests, so we can evolve fields while staying compatible. For validation, I push strict schema validation to the edge with clear, machine-readable error bodies (error codes, fields, human messages) and stable error taxonomies. Internally we can expose richer error details; externally we keep it minimal and predictable. I also add feature flags and shadow traffic for new versions, so we can validate behavior and roll out with essentially zero downtime or surprises for existing consumers.

Keywords

Separate internal and external APIs conceptually and in versioning strategyUse URI-based semantic versioning and clear deprecation for external APIsRely on strict schema validation at the edge and stable, structured error formatsUse contract tests, feature flags, and shadow traffic to safely evolve contracts
Related Questions

In your resume you note improving or optimizing [a process, KPI, or metric]. What specific baseline metrics did you start from, what steps did you personally take, and how did you verify that the improvement was due to your changes rather than external factors?

IntermediatePROBLEM_SOLVING

Walk me through a recent multi-channel digital marketing campaign you managed end-to-end. How did you set objectives, choose channels, allocate budget, and measure success?

IntermediateBEHAVIORAL

Based on your hydrology and irrigation engineering background, explain how you would estimate the irrigation water requirement for a kharif crop in a semi-arid region of Gujarat. Walk me through each step: from reference evapotranspiration estimation, crop coefficient selection, effective rainfall calculation, to arriving at canal discharge for a given command area.

IntermediateTECHNICAL

In your civil engineering studies, what specific design coursework or project work did you complete related to irrigation channels or canals (e.g., design of lined/unlined canals, distributaries, minors)? Describe one such design in detail, including how you determined discharge, permissible velocity, section dimensions, and lining choice for Gujarat-type soil and climate conditions.

IntermediateTECHNICAL

On your resume you mention working on a cross-functional project (e.g., involving multiple teams or stakeholders). Describe a situation from that project where priorities conflicted—how did you navigate the trade-offs and what was the final outcome?

IntermediateSITUATIONAL