Day 1: HTTP Fundamentals & REST APIs

Theoretical Questions

  1. What is HTTP and how does it work? Explain the request-response cycle.
  2. What are the different HTTP methods (GET, POST, PUT, PATCH, DELETE) and when should each be used?
  3. Explain HTTP status codes. What's the difference between 2xx, 3xx, 4xx, and 5xx?
  4. What are HTTP headers? Name some important request and response headers.
  5. What is the difference between stateless and stateful protocols? Is HTTP stateless?
  6. Explain idempotency in REST APIs. Which HTTP methods are idempotent?
  7. What is REST? What are the principles of RESTful API design?
  8. How would you version a REST API? What are the different approaches?

Machine Coding Question

Build a Simple REST API Server (30 mins) Create a basic Express server with CRUD endpoints for a "Task" resource (id, title, description, status). Implement proper HTTP methods, status codes, and basic validation. No database required - use in-memory array.


Day 2: HTTPS, Security & Authentication Basics

Theoretical Questions

  1. What is HTTPS? How does it differ from HTTP?
  2. Explain SSL/TLS. What is the SSL handshake process?
  3. What is encryption? Explain symmetric vs asymmetric encryption.
  4. What are certificates? What is a Certificate Authority (CA)?
  5. What is the difference between authentication and authorization?