REST APIs
The dominant architectural style for building web services that communicate over HTTP — foundational to nearly all modern backend development.
REST (Representational State Transfer) is the standard pattern for building web APIs that allow systems to communicate. Understanding how to design, build, and consume RESTful APIs is a baseline expectation for all backend engineers and full-stack developers, and increasingly required for frontend engineers who integrate third-party services.
Typical time to job-readiness: ~4 weeks.
Learning REST APIs
Beginner
Understand HTTP methods (GET, POST, PUT, DELETE, PATCH), status codes, and JSON. Use Postman or curl to call existing APIs before building your own.
Intermediate
Design RESTful resource hierarchies, handle authentication (API keys, JWT, OAuth 2.0), implement pagination, and document with OpenAPI/Swagger.
Advanced
Design APIs for scale (rate limiting, caching headers, versioning strategies), and understand REST trade-offs vs GraphQL vs gRPC. Senior roles are assessed on API design taste and consistency.
Key concepts
- HTTP methods: GET (read), POST (create), PUT/PATCH (update), DELETE
- Statelessness — each request contains all info needed; no server session
- Status codes: 2xx success, 4xx client errors, 5xx server errors
- Resource-based URLs: /users/123 not /getUser?id=123
- Authentication via API keys, JWT tokens, or OAuth 2.0
- Request/response structure: headers, body, query parameters
Common interview topics
- What makes an API RESTful — what are the constraints
- Explain the difference between PUT and PATCH
- How would you handle authentication in a REST API
- What HTTP status codes would you use for common error scenarios
- How do you version an API without breaking existing clients