| 1 | How does Node.js's built-in test runner (node:test) compare to third-party frameworks like Jest or Mocha? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 2 | What are Node.js Single Executable Applications (SEA), and what are their current limitations? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 3 | What is the libuv library, and what specific role does it play inside Node.js? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 4 | How do you use the --inspect flag and Chrome DevTools to profile a running Node.js application in production? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 5 | What are Node.js's built-in diagnostic reports, and how do you generate one? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 6 | What is V8's hidden class mechanism, and why does it matter for writing performant Node.js code? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 7 | What is backpressure in Node.js streams, and how do you handle it correctly when piping data? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 8 | How does Node.js implement the Worker Threads module differently from Child Processes, and when should each be used? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 9 | What is monkey-patching in the context of Node.js APM (Application Performance Monitoring) tools, and what are its risks? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 10 | How do you detect and prevent event loop blocking in a long-running Node.js service? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 11 | What are Node.js's experimental permission model flags, and what problem do they address? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 12 | What is a memory leak in the context of a long-running Node.js server, and what are the most common causes? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 13 | What is the difference between process.nextTick(), setImmediate(), and setTimeout(fn, 0) in terms of execution order? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 14 | What is the AsyncLocalStorage API, and what problem does it solve for tracking context across asynchronous calls? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 15 | What is the node:diagnostics_channel module, and how does it differ from simply emitting a custom event? Node.js › Advanced Node.js | Node.js | Advanced Node.js | Advanced |
| 16 | What is the V8 JavaScript engine, and what role does it play within the Node.js runtime? Node.js › Node.js Fundamentals & Runtime Architecture | Node.js | Node.js Fundamentals & Runtime Architecture | Intermediate |
| 17 | What is the os.cpus() function used for when setting up clustering in a Node.js application? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Beginner |
| 18 | What is the difference between operational errors and programmer errors in Node.js, and why does this distinction matter? Node.js › Error Handling | Node.js | Error Handling | Beginner |
| 19 | What is the event loop, and why does it allow Node.js to handle many concurrent operations despite being single-threaded? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Beginner |
| 20 | What is the difference between concurrency and parallelism, and which one does Node.js's event loop actually provide by default? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Beginner |
| 21 | What is a callback queue (or task queue) in the context of the Node.js event loop, and how does it relate to the call stack? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Beginner |
| 22 | What is the difference between fs.unlink() and fs.rmdir() (or the newer fs.rm()) in Node.js? Node.js › File System & File Processing | Node.js | File System & File Processing | Beginner |
| 23 | What is the difference between micro tasks and macro tasks in Node.js's event loop, and how does this affect Promise callback ordering? Node.js › Async Patterns | Node.js | Async Patterns | Intermediate |
| 24 | Why does Node.js provide a cluster module, given that a single Node.js process is single-threaded? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Intermediate |
| 25 | What is the difference between the number of CPU cores and the optimal number of cluster workers for a given Node.js application? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Intermediate |
| 26 | How would you create and use custom Error subclasses in a Node.js application to represent different categories of application-specific errors? Node.js › Error Handling | Node.js | Error Handling | Intermediate |
| 27 | How do you correctly propagate and handle errors from a Node.js stream, given that stream errors aren't caught by a surrounding try/catch? Node.js › Error Handling | Node.js | Error Handling | Intermediate |
| 28 | What does it mean that Node.js's I/O is handled by libuv, and how does libuv abstract different operating systems' I/O mechanisms? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Intermediate |
| 29 | How would you safely check if a file exists in Node.js before attempting to read it, avoiding a race condition? Node.js › File System & File Processing | Node.js | File System & File Processing | Intermediate |
| 30 | What is load testing, and how would you use a tool like autocannon or k6 to benchmark a Node.js API's throughput and latency? Node.js › Performance Optimization & Profiling | Node.js | Performance Optimization & Profiling | Intermediate |
| 31 | What is 'fire-and-forget' async code, and why is it generally discouraged in production Node.js applications? Node.js › Async Patterns | Node.js | Async Patterns | Advanced |
| 32 | How do you implement job prioritization in a Node.js queue system, and when is it necessary? Node.js › Background Jobs & Queues | Node.js | Background Jobs & Queues | Advanced |
| 33 | How do you use SharedArrayBuffer to share memory directly between Node.js worker threads, and what are the safety considerations? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Advanced |
| 34 | How would you implement a global error boundary for an entire Node.js application to ensure no error type goes completely unhandled? Node.js › Error Handling | Node.js | Error Handling | Advanced |
| 35 | What are the distinct phases of the Node.js event loop, and what kind of callbacks does each phase execute? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Advanced |
| 36 | What is the difference between how Node.js handles I/O-bound concurrency versus CPU-bound work, and why does this distinction shape Node.js's ideal use cases? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Advanced |
| 37 | How would you use async_hooks (the lower-level predecessor to AsyncLocalStorage) to trace the lifecycle of asynchronous resources in Node.js? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Advanced |
| 38 | How would you implement atomic file writes in Node.js to avoid leaving a file in a corrupted, half-written state if the process crashes mid-write? Node.js › File System & File Processing | Node.js | File System & File Processing | Advanced |
| 39 | How would you process and resize an uploaded image in Node.js using the sharp library, and why is sharp generally preferred over pure-JavaScript alternatives? Node.js › File Uploads & Media Processing | Node.js | File Uploads & Media Processing | Advanced |
| 40 | How would you implement a simple TCP-level proxy or load balancer in Node.js using the net module, distinct from an HTTP-level reverse proxy? Node.js › HTTP & Web Servers | Node.js | HTTP & Web Servers | Advanced |
| 41 | What is the default maximum listener limit on an EventEmitter, and why does Node.js warn when it's exceeded? Node.js › Events & EventEmitter | Node.js | Events & EventEmitter | Advanced |
| 42 | How do you use the built-in 'debugger' statement together with Node's --inspect flag to set breakpoints in code? Node.js › Debugging & Diagnostics | Node.js | Debugging & Diagnostics | Beginner |
| 43 | How do you create a custom class that emits events by extending Node's built-in EventEmitter? Node.js › Events & EventEmitter | Node.js | Events & EventEmitter | Beginner |
| 44 | How does PM2's cluster mode compare to manually using Node's built-in cluster module directly in application code? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Intermediate |
| 45 | How do you pass data between the main thread and a worker thread using postMessage(), and what are the limits on what can be sent? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Intermediate |
| 46 | How does setImmediate() differ from process.nextTick() in terms of timing and typical use cases? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Intermediate |
| 47 | What is the difference between fs.stat() and fs.lstat(), and when does the distinction matter? Node.js › File System & File Processing | Node.js | File System & File Processing | Intermediate |
| 48 | How does inter-process communication (IPC) work between a parent process and a child created with fork()? Node.js › Child Processes & Process Management | Node.js | Child Processes & Process Management | Intermediate |
| 49 | How do you use Node's built-in heap snapshot capability to diagnose a suspected memory leak? Node.js › Debugging & Diagnostics | Node.js | Debugging & Diagnostics | Intermediate |
| 50 | What happens when an EventEmitter emits an event that has an 'error' listener versus one that doesn't? Node.js › Events & EventEmitter | Node.js | Events & EventEmitter | Intermediate |
| 51 | How does the 'once' method differ from 'on' when subscribing to an EventEmitter's events, and when would you use it? Node.js › Events & EventEmitter | Node.js | Events & EventEmitter | Intermediate |
| 52 | What is a worker thread pool, and why would you build one rather than creating a new Worker for every task? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Advanced |
| 53 | What is the WorkerData option when creating a Worker, and how does it differ from communicating via postMessage() after creation? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Advanced |
| 54 | What is the difference in behavior between the 'primary' and 'worker' role in Node's cluster module regarding which code paths execute? Node.js › Clustering & Worker Threads | Node.js | Clustering & Worker Threads | Advanced |
| 55 | What is the poll phase of the event loop, and under what specific conditions does it block waiting versus move on immediately? Node.js › Event Loop & Non-blocking IO | Node.js | Event Loop & Non-blocking IO | Advanced |
| 56 | What is JIT (Just-In-Time) compilation deoptimization in V8, and how can you detect when it's hurting a hot function's performance? Node.js › Performance Optimization & Profiling | Node.js | Performance Optimization & Profiling | Advanced |