REST API System Design Questions

System Design

For an API system-design interview, start with requirements and traffic assumptions. Define resources and core workflows. Establish authentication and authorization. Design request and response contracts. Decide pagination, filtering, sorting, caching, rate limiting, and idempotency. Then design the data layer, queues, object storage, gateway, scaling strategy, observability, and failure handling.

Always discuss bottlenecks and failure modes.

For example, when designing an API that accepts millions of uploads, do not send all file bytes through application servers. Use signed object-storage uploads, metadata APIs, asynchronous processing, queues, and lifecycle policies.

API System Design Process