list of 25 important Node.js interview questions and answers for experienced developers, designed to be clear and easy to understand:
Core Node.js Questions
1. What is the Event Loop in Node.js?
Answer:
The Event Loop is a mechanism that allows Node.js to perform non-blocking I/O operations by offloading tasks to the system kernel when possible. It processes asynchronous callbacks in phases (timers, I/O callbacks, idle/prepare, poll, check, close callbacks).
2. How does Node.js handle child threads?
Answer:
Node.js is single-threaded but uses worker threads (via the worker_threads
module) to offload CPU-intensive tasks. Child processes (child_process
module) can also be used to run separate instances of Node.js.
3. Explain the difference between process.nextTick()
and setImmediate()
.
Answer:
process.nextTick()
executes before the next phase of the Event Loop.setImmediate()
runs in the “check” phase of the Event Loop (after I/O callbacks).
4. What is the purpose of the cluster
module?
Answer:
The cluster
module allows Node.js to create multiple worker processes that share the same server port, improving performance by utilizing multi-core CPUs.
5. How does Node.js manage memory?
Answer:
Node.js uses V8’s garbage collector to manage memory. It employs a generational garbage collection strategy (Scavenge for young generation, Mark-Sweep-Compact for old generation).
Asynchronous Programming
6. What are Promises and Async/Await?
Answer:
- Promises handle asynchronous operations with
.then()
and.catch()
. - Async/Await is syntactic sugar over Promises, making asynchronous code look synchronous.
7. How do you handle unhandled Promise rejections?
Answer:
Use process.on('unhandledRejection', (err) => {})
to catch unhandled rejections.
8. What is the difference between setTimeout()
and setImmediate()
?
Answer:
setTimeout()
schedules execution after a specified delay.setImmediate()
executes right after the current Event Loop phase.
Modules & NPM
9. What is require.cache
, and how can you clear it?
Answer:require.cache
stores loaded modules. To clear it:
delete require.cache[require.resolve('module-name')];
10. How do you create a custom Event Emitter?
Answer:
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.emit('event');
11. What is the purpose of package-lock.json
?
Answer:
It locks dependency versions to ensure consistent installations across environments.
Error Handling
12. How do you handle errors in Node.js?
Answer:
- Use
try/catch
for synchronous code. - Use
.catch()
for Promises. - Listen for
'error'
events on EventEmitters.
13. What is the difference between throw
and EventEmitter.emit('error')
?
Answer:
throw
stops execution unless caught.emit('error')
triggers an error event but doesn’t stop execution unless unhandled.
Performance & Optimization
14. How do you debug memory leaks in Node.js?
Answer:
Use tools like:
node --inspect
+ Chrome DevTools.heapdump
orclinic.js
.
15. What is the Buffer
class in Node.js?
Answer:Buffer
handles binary data. Example:
const buf = Buffer.from('hello');
16. How does Node.js handle slow I/O operations?
Answer:
It delegates I/O to the OS (via libuv) and continues processing other tasks, using callbacks when I/O completes.
Security
17. How do you prevent SQL injection in Node.js?
Answer:
Use parameterized queries (e.g., with pg
or mysql2
):
db.query('SELECT * FROM users WHERE id = ?', [userId]);
18. What is the helmet
middleware?
Answer:helmet
sets secure HTTP headers to protect against common vulnerabilities (e.g., XSS, CSRF).
APIs & Frameworks
19. What is middleware in Express.js?
Answer:
Middleware are functions that process requests before they reach the route handler. Example:
app.use(express.json());
20. How do you manage sessions in Express?
Answer:
Use express-session
or JWT (JSON Web Tokens) for stateless authentication.
Testing
21. What is Mocha/Chai?
Answer:
- Mocha: Test framework.
- Chai: Assertion library.
22. How do you mock HTTP requests in tests?
Answer:
Use nock
or supertest
to mock API calls.
Advanced Concepts
23. What is the stream
module?
Answer:
Streams process data in chunks (e.g., reading large files):
fs.createReadStream('file.txt').pipe(res);
24. Explain the difference between exports
and module.exports
.
Answer:
exports
is a reference tomodule.exports
.- Overwriting
exports
breaks the reference; always usemodule.exports
for new assignments.
25. How does Node.js support ES6 modules?
Answer:
Use .mjs
extension or set "type": "module"
in package.json
.
📑 You can go through below Interview Question and Answers
- Top 25 Salesforce Interview Questions (Experienced)
- C Programming Interview Questions (Experienced)
- AWS Interview Questions & Answers (2025, Experienced)
- Node.js Interview Questions (Experienced)
- Data Analyst Interview Questions (Basic/Advanced, Real-Time 2025)
- Angular Basic Interview Questions (Freshers, 2025)
- Python Cheat Sheet for Interview
- Data Science Interview Questions (Freshers, 2025)
- Python Developer Interview Questions (Experienced, 2025)
- Real-Time ETL Interview Scenarios and Solutions (2025)
- ETL Developer Interview Questions (Experienced, 2025)
- Advanced VMware Interview Questions (Experienced, 2025)
- Automation Testing Interview Questions (2025)
- Manual Testing Interview Questions (Advanced, Experienced, 2025)
- Scrum Master Certification Exam Questions (PSM 1, 2025)
- Advanced SQL Interview Questions (Experienced)
- Advanced Java Interview Questions (Experienced)
- .NET Interview Questions (Freshers)
- Freshers Interview Questions (General)
- C++ Interview Questions (Experienced, 2025)
- DBMS Interview Questions (Experienced, 2025)
- React JS Interview Questions (Advanced, Senior Developers, 2025)
- GCP BigQuery SQL Interview Questions (2025, Data Analyst & Data Engineer)
- Angular Interview Questions (Experienced Developers, 2025)
- SQL Cheat Sheet for Interview
- Advanced Data Science Interview Questions (Experienced)
- Data Engineer Interview Questions (Freshers & Experienced, 2025)
- Python Interview Questions (Basic, Freshers, 2025)
- ETL Testing Interview Questions (Experienced, 2025)
- VMware Interview Questions (Real-Time Scenarios, Experienced, 2025)
- VMware Interview Questions (Basic, Freshers,2025)
- Manual Testing Interview Questions (Scenario-Based, Experienced, 2025)
- SQL Performance Tuning Interview Questions (2025)
- Manual Testing Interview Questions (Beginners, 2025)
- SQL Interview Questions (Basic, Freshers)
- Advanced .NET Interview Questions (Experienced)
- Java Interview Questions (Basic, Freshers)
- Nursing Interview Questions (Easy Way)
Final Thoughts
These questions cover core Node.js concepts, performance, security, and best practices.
- TAGS : Node.js interview questions,
- Node.js interview questions and answers,
- Advanced Node.js interview questions,
- Node.js developer interview,
- Node.js technical interview,
- Node.js event loop interview questions,
- Node.js asynchronous programming interview,
- Node.js performance optimization questions,
- Node.js error handling interview,
- Node.js cluster module explained,
- NodeJS,
- WebDevelopment,
- CodingInterview,
- BackendDevelopment,
- TechInterview,