Full-Stack & Backend Node.js Master: Express, Fastify, Libuv, Streams & Architecture
V8 engine internals, Libuv Event Loop phases, Streams, Buffers, Worker Threads, clustering, Fastify schema compilation, and API security.
Curriculum Roadmap & Learning Path
5 StagesPart 1: Intro, Candid Experience & Architecture (1 - 5)
5 QuestionsWhat is Node.js, and how does its single-threaded, event-driven, non-blocking I/O runtime work?
Walk me through your hands-on experience building backend microservices and APIs in Node.js, and how you choose between Express, Fastify, and NestJS.
Describe a critical production incident or performance bottleneck you resolved in Node.js.
How do you design and structure enterprise Node.js projects?
What is your strategy for automated backend testing in Node.js?
Part 2: Runtime Internals, Libuv & The Event Loop (6 - 20)
15 QuestionsNode.js fundamental architecture: V8, Libuv, c-ares, llhttp.
Node.js Event Loop Phases in exact order.
`process.nextTick()` vs `setImmediate()`.
Microtasks execution relative to Macrotasks in Node.js.
The Libuv Thread Pool.
Scaling the thread pool with `UV_THREADPOOL_SIZE`.
Detecting Event Loop delay in production.
V8 Garbage Collection in Node.js.
Common causes of Memory Leaks in Node.js.
Buffers: `Buffer.alloc()` vs `Buffer.allocUnsafe()`.
CommonJS (`require`) vs ES Modules (`import`) resolution.
Operational pitfalls of mixing CJS and ESM.
Unhandled Promise Rejections & Uncaught Exceptions.
Graceful Shutdown implementation.
Profiling Node.js applications with Flame Graphs.
Part 3: Streams, Buffers & Core Modules (21 - 35)
15 QuestionsWhat are Node.js Streams and why are they essential?
4 Fundamental Stream Types.
Stream Backpressure and `pipeline()`.
Custom Transform Stream implementation.
The EventEmitter Class & `MaxListenersExceededWarning`.
Unhandled 'error' events in EventEmitter.
`fs.promises` vs callback-based vs synchronous `fs`.
`fs.readFile()` vs `fs.createReadStream()`.
The `cluster` module.
Worker Threads vs Child Processes vs Clustering.
Worker Thread communication.
`child_process.exec` vs `execFile` vs `spawn` vs `fork`.
The `crypto` module: Secure password hashing.
`http.IncomingMessage` and `http.ServerResponse`.
`AsyncLocalStorage` and Distributed Request Tracing.
Part 4: Express, Fastify, APIs & Middleware (36 - 50)
15 QuestionsExpress Middleware Execution Pipeline.
`next(err)` vs throwing asynchronous errors in Express.
Centralized Global Error Handler in Express.
Why Fastify achieves significantly higher throughput.
Fastify JSON Schema Validation (Ajv).
Authentication layer with JWT and Refresh Tokens.
Rate Limiting Middleware with Redis.
CORS and Preflight OPTIONS requests.
File Uploads in Express: `multer` vs direct streaming.
Input Sanitization with Zod.
Server-Sent Events (SSE) in Node.js.
Scaling WebSockets across multiple Node.js instances.
Security vulnerabilities: Prototype Pollution and ReDoS.
The role of `helmet` middleware.
Correlation IDs with `AsyncLocalStorage`.
Part 5: Production Scale, Deployment & Observability (51 - 60)
10 QuestionsContainerized Docker Best Practices for Node.js.
Process Management: PM2 vs Kubernetes.
Managing DB Connection Pools during surges.
The Outbox Pattern in Node.js.
Cache-Aside pattern with Redis in Node.js.
Health Check Endpoints: Liveness vs Readiness.
Structured Logging with Pino & OpenTelemetry.
Zero-Downtime Deployments (Rolling vs Blue-Green).
Node.js Event-Driven I/O vs Multi-Threaded Runtimes (Java/Go).
Modern Alternative Runtimes: Deno and Bun.