RESTful API Design and HTTP Fundamentals Questions
Understanding REST architectural principles including resource-based URLs, proper HTTP methods (GET for safe retrieval, POST for creation, PUT for updates, DELETE for deletion), appropriate status codes (200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Internal Server Error), and stateless communication patterns. Ability to design simple API endpoints following REST conventions.
HardTechnical
104 practiced
As a full-stack developer, compare REST and GraphQL for a complex dashboard app used by internal teams. Discuss querying efficiency, versioning, over-fetching/under-fetching, caching, rate limiting, and developer ergonomics. Provide recommendations on when to use GraphQL, REST, or a hybrid approach.
EasyTechnical
82 practiced
Explain the core principles of REST architecture including resource-based URLs, statelessness, and the uniform interface. Using a simple blog API (resources: posts, comments, users) provide example endpoints and show how CRUD maps to HTTP methods and URIs. Describe why REST discourages RPC-style verbs in URLs and what benefits resource-orientation gives to caching and evolvability.
HardSystem Design
82 practiced
Design a scalable REST API for a social network timeline. Requirements: 10M users, each with up to 10k follows, read-heavy (feeds), low-latency (<200ms for 90th percentile), and support for pagination and realtime updates. Discuss endpoint design, data model, feed-generation approaches (push vs pull), caching, database choices, and how to keep API responses consistent under high write load.
HardTechnical
109 practiced
Design a distributed, high-performance rate limiter for an API used globally. Discuss token-bucket vs leaky-bucket semantics, how to implement consistency across regions (centralized store vs local approximations), and the data structures you would use in Redis or another datastore to track usage. Also describe how to expose rate-limit headers to clients.
MediumTechnical
74 practiced
Implement a small REST endpoint in Node.js using Express that creates a 'task' resource. Requirements: accept POST /tasks with JSON {title, dueDate}, validate title is non-empty, persist to an in-memory array, return 201 Created with Location header pointing to /tasks/{id}. Include basic error handling for invalid JSON and validation failures. (Provide code.)
Unlock Full Question Bank
Get access to hundreds of RESTful API Design and HTTP Fundamentals interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.