Node.js
65 highly-curated topics available for revision.
1. Architecture
Node.js Architecture
HighHigh-level overview of how Node.js is structured and its core components.
V8 Engine
MediumHow Google's V8 Engine compiles and executes JavaScript inside Node.js.
libuv
HighThe C library that powers Node.js asynchronous I/O and event loop.
Event Loop (Node.js)
HighThe phases of the Node.js event loop and how callbacks are executed.
Worker Thread Pool
HighHow libuv uses a pool of background threads to prevent blocking the event loop.
2. Async Programming
Callbacks
MediumThe foundational pattern for handling asynchronous operations in Node.js.
Async / Await
HighModern, synchronous-looking syntax for handling Promises in Node.js.
process.nextTick
HighA mechanism to defer the execution of a function until the current operation completes, before the Event Loop continues.
setImmediate
MediumHow to schedule a callback to run on the next iteration of the event loop.
3. Events
4. Streams
Streams Overview
HighHandling large amounts of continuous data efficiently in Node.js.
Backpressure
HighHow Node.js streams handle speed mismatches between reading and writing.
Readable Streams
MediumWorking with streams that act as a source of data.
Writable Streams
MediumWorking with streams that act as a destination for data.
Transform Streams
HighDuplex streams where the output is computed from the input.
5. Modules
CommonJS vs ESM
HighThe two module systems used in Node.js and their key differences.
Module Resolution
MediumHow Node.js locates and loads modules when you call require() or import.
Module Caching
HighHow Node.js caches required modules to improve performance and share state.
6. Networking
HTTP Module
HighThe core module for building HTTP servers and clients in Node.js.
HTTPS & TLS
MediumSecuring network communication in Node.js using HTTPS and TLS/SSL.
HTTP Keep-Alive
HighReusing TCP connections to improve network performance.
WebSockets
MediumPersistent, bidirectional, full-duplex communication over a single TCP connection.
AbortController
HighHow to cancel ongoing asynchronous operations like network requests.
7. Concurrency
Worker Threads
HighExecuting CPU-intensive JavaScript operations in parallel.
Child Processes
MediumExecuting system commands and spawning external programs from Node.js.
Cluster
HighScaling Node.js web servers across multiple CPU cores.
Worker Pools
HighManaging a pool of worker threads efficiently to avoid startup overhead.
8. Memory
9. Performance
10. Errors
11. Lifecycle
12. Security
CORS
HighUnderstanding Cross-Origin Resource Sharing and how to configure it in Node.js.
Prototype Pollution
HighA dangerous vulnerability unique to JavaScript where attackers overwrite prototype properties.
SSRF (Server-Side Request Forgery)
MediumA vulnerability where an attacker forces the server to make unintended HTTP requests.
Dependency Security
HighManaging the risks associated with third-party NPM packages.
13. NPM
package.json & lockfiles
HighUnderstanding how Node.js manages project dependencies and versions.
Dependency Management
HighHow to effectively manage updates and security for NPM packages.
npm ci vs npm install
HighWhy you should never use npm install in your CI/CD pipelines.
14. Testing
15. Debugging
16. Observability
Logging
HighBest practices for structured logging in Node.js backend applications.
Metrics
MediumInstrumenting Node.js to track continuous numerical data like CPU, memory, and request rates.
Distributed Tracing
MediumFollowing a request's journey across multiple microservices.
17. Backend Concepts
Middleware
HighThe pattern of using functions to intercept and modify HTTP requests in Express.
Connection Pooling
HighReusing database connections to handle high concurrency.
Caching
HighImproving performance by temporarily storing frequently accessed data.
Rate Limiting
HighProtecting your API from abuse by limiting the number of requests a user can make.
Retries & Exponential Backoff
HighBuilding resilient microservices by safely retrying failed network requests.
Idempotency
HighEnsuring an operation yields the same result no matter how many times it is executed.
18. Advanced
19. Interview
System Design with Node.js
HighHow to architect and scale Node.js applications in a system design interview.
Coding Patterns
HighCommon design patterns expected in Node.js coding interviews.
Top 10 Interview Questions
HighThe most frequently asked Node.js interview questions.