Service Communication and API Design Questions
Design and specify APIs and interservice communication patterns for systems that must scale. Topics include REST design and best practices, API versioning and deprecation strategies, backward compatibility and API evolution, contract design between services, choosing protocols such as gRPC versus HTTP for internal or external communication, security and authentication patterns at the API level, performance and scalability considerations, observability and monitoring of service interactions, and strategies for evolving interfaces without breaking consumers.
MediumTechnical
49 practiced
Implement a cursor-based pagination endpoint in Python (Flask or FastAPI) for a messages table with columns id (bigint PK) and created_at (timestamp). Provide the SQL query to fetch the next page given a cursor composed of created_at and id, and explain how you handle ordering and stable pagination when new rows are inserted between pages.
MediumTechnical
51 practiced
Explain protobuf schema evolution rules (proto3) that allow adding fields safely while preserving backward and forward compatibility. Provide examples of safe additions, unsafe renames or type changes, and an example migration plan for renaming a field while minimizing client breakage.
MediumSystem Design
40 practiced
Design a reliable webhook delivery system that guarantees at-least-once delivery, supports retries with exponential backoff and jitter, dead-letter queueing, signature verification, and allows receivers to request retriggering. Include how you record attempts and how you surface webhook health to senders.
HardSystem Design
50 practiced
You operate a long-lived Server-Sent Events (SSE) streaming API used by thousands of clients. You must evolve the event schema without disconnecting clients. Design a schema-versioning strategy, server capability negotiation, and migration path that allows older clients to continue receiving usable events while enabling new fields for updated clients.
EasyTechnical
54 practiced
Describe common server-side rate limiting algorithms: fixed window, sliding window, token bucket, and leaky bucket. Explain briefly how each affects client behaviour, burst allowance, and memory/storage needs, and propose headers you would return to inform clients about their quota status.
Unlock Full Question Bank
Get access to hundreds of Service Communication and API Design interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.