Node.js
A JavaScript runtime for building backend services and APIs — enabling JavaScript across the full stack.
Node.js brings JavaScript to the server side, making it the go-to choice for teams that want a single language across frontend and backend. It's widely used for building REST APIs, real-time services, and microservices. Its non-blocking architecture makes it especially effective for I/O-heavy workloads like chat, notifications, and streaming.
Typical time to job-readiness: ~2 months.
Learning Node.js
Beginner
Understand Node's event loop model, build a basic HTTP server with Express, and use npm to manage packages. Serve JSON from a basic API endpoint.
Intermediate
Build REST APIs with authentication (JWT), connect to databases using Prisma or Mongoose, write basic integration tests, and understand middleware patterns.
Advanced
Handle high-concurrency workloads, architect microservices, profile memory and CPU with clinic.js, and understand Node's cluster module and worker threads. Assessed through take-home projects and system design.
Key concepts
- Event loop and non-blocking I/O — why Node can handle many requests with one thread
- Callback hell vs Promises vs async/await progression
- npm and package.json — dependency management and scripts
- Express framework: routing, middleware, and error handling
- Streams for efficient handling of large data
- Environment variables and config management for different environments
Common interview topics
- Explain the Node.js event loop and how it handles asynchronous operations
- How do you handle errors in async Node.js code
- What is middleware in Express and how does it work
- How would you scale a Node.js application to handle more traffic
- Explain the difference between process.nextTick and setImmediate