InterviewStack.io LogoInterviewStack.io

API and Interface Design for Distributed Services Questions

Designing the contracts between services and clients: REST, gRPC, and GraphQL tradeoffs, versioning and backward compatibility, pagination, rate limiting, and idempotent endpoints. Covers request/response modeling, error contracts, and API gateway responsibilities. Focuses on the interface layer that ties distributed components together, not internal data schemas.

HardSystem Design
54 practiced

You need to change the shape of a widely-consumed API's contract across an organization with hundreds of downstream microservices, with no coordinated flag-day cutover possible. Walk through the rollout strategy you would use so old and new consumers can both keep working during the transition, and how you would eventually verify it's safe to retire the old shape.

EasyTechnical
52 practiced

Design a REST API for listing and creating 'products' that supports pagination, filtering, sorting, and versioning. Specify the request/response shapes, your pagination strategy, your versioning approach, and how you would roll out a breaking change to both internal and external clients without a hard cutover.

HardSystem Design
60 practiced

Design the API contract for a batch-write endpoint where the server may accept some items in the batch and reject others. Specify how idempotency keys apply to the batch as a whole versus individual items within it, what the response shape looks like when only part of the batch succeeds, and how a client should safely retry just the failed portion.

HardTechnical
60 practiced

You are seeing intermittent duplicates and missing items in a paginated transaction list shown to clients, and the backend has concurrent writes. Describe a troubleshooting plan: which logs, traces, and client telemetry you would collect; synthetic tests to reproduce it; short-term mitigations you could ship quickly; and the long-term fix.

MediumSystem Design
45 practiced

Design an API and server-side protocol for resumable uploads supporting 10k concurrent clients, files up to 200MB, and intermittent mobile connectivity. Specify endpoints for initiating an upload, uploading chunks, resuming, validating integrity, and finalizing. Explain what server state you would persist, how idempotency applies at each step, and how you would handle abandoned uploads and abuse.

Unlock Full Question Bank

Get access to all 35 API and Interface Design for Distributed Services interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.