Top 20 Node.js Questions Every Developer Should Know

Top 20 Node.js Questions Every Developer Should Know

1. What is Node.js?

Node.js is a runtime environment that allows JavaScript to run outside the browser, built on Chrome’s V8 engine. It’s event-driven, non-blocking, and great for scalable network applications.

2. How does Node.js handle asynchronous operations?

Node.js uses an event-driven, non-blocking I/O model through callbacks, Promises, and async/await. It relies on the libuv library for handling asynchronous tasks like file system operations, network requests, and database queries.

3. What is the difference between setImmediate() and process.nextTick()?

  • process.nextTick(): Executes the callback before the next event loop iteration begins.
  • setImmediate(): Executes the callback after the current event loop iteration.

Use process.nextTick() for urgent tasks and setImmediate() for deferring execution until the event loop is idle.

4. What is the Event Loop in Node.js?

The Event Loop is the mechanism that allows Node.js to perform non-blocking I/O. It has six phases:

  1. Timers (setTimeout, setInterval)
  2. Pending callbacks
  3. Idle & prepare (for internal operations)
  4. Poll (fetch new I/O events)
  5. Check (setImmediate() execution)
  6. Close callbacks

5. What is the difference between synchronous and asynchronous code?

  • Synchronous: Executes code line by line, blocking execution until the task is completed.
  • Asynchronous: Executes non-blocking code, allowing multiple operations to run simultaneously.

6. What are Streams in Node.js?

Streams allow handling of large data efficiently by processing it in chunks instead of loading the entire file into memory. Types of streams:

  • Readable (fs.createReadStream())
  • Writable (fs.createWriteStream())
  • Duplex (both readable and writable)
  • Transform (modifies data while reading/writing)

7. What is the difference between readFile and createReadStream?

  • fs.readFile(): Loads the entire file into memory (not efficient for large files).
  • fs.createReadStream(): Reads the file in chunks (efficient for large files).

8. What is middleware in Express.js?

Middleware functions in Express.js process requests before sending a response. They can:

  • Modify request/response objects
  • Execute code
  • End request-response cycles
  • Call the next middleware in the stack

Example:

				
					app.use((req, res, next) => {
  console.log("Middleware executed");
  next();
});

				
			

9. What are some common HTTP status codes?

  • 200 OK – Successful request
  • 201 Created – New resource created
  • 400 Bad Request – Client error
  • 401 Unauthorized – Authentication required
  • 403 Forbidden – No permission
  • 404 Not Found – Resource not found
  • 500 Internal Server Error – Server error

10. What is the purpose of package.json?

package.json is the configuration file that stores:

  • Project dependencies
  • Scripts (e.g., "start": "node index.js")
  • Project metadata

11. What is npm and how does it work?

npm (Node Package Manager) is used to install, manage, and update Node.js packages.

Example:

				
					npm install express
				
			

This installs Express.js in the project.

12. What is the difference between dependencies and devDependencies?

  • dependencies: Needed in production (e.g., Express, Mongoose).
  • devDependencies: Needed only in development (e.g., Jest, ESLint).

13. What is a callback function in Node.js?

A callback is a function passed as an argument to be executed after an operation completes.

Example:

				
					fs.readFile("file.txt", "utf8", (err, data) => {
  if (err) throw err;
  console.log(data);
});

				
			

14. How does Promises improve callbacks?

Promises avoid callback hell by handling asynchronous tasks in a cleaner way.

Example:

				
					fs.promises.readFile("file.txt", "utf8")
  .then(data => console.log(data))
  .catch(err => console.error(err));

				
			

15. How does async/await work?

async/await simplifies working with Promises.

Example:

				
					async function readFile() {
  try {
    const data = await fs.promises.readFile("file.txt", "utf8");
    console.log(data);
  } catch (err) {
    console.error(err);
  }
}

				
			

16. What is the difference between module.exports and exports?

  • module.exports exports objects, functions, or variables.
  • exports is a reference to module.exports.

Example:

				
					module.exports = { sayHello };  // ✅ Works
exports.sayHello = sayHello;    // ✅ Works
exports = { sayHello };         // ❌ Doesn't work

				
			

17. What is the difference between CommonJS and ES Modules?

  • CommonJS (CJS) uses require().
  • ES Modules (ESM) uses import.

Example:

				
					// CommonJS
const express = require("express");

// ES Modules
import express from "express";

				
			

18. What is process.env?

process.env stores environment variables, often used for API keys and configurations.

Example:

				
					console.log(process.env.NODE_ENV); // "development" or "production"

				
			

19. What is the role of JWT in authentication?

JWT (JSON Web Token) is used to securely transmit user data between client and server.

20. How do you handle errors in Node.js?

Use try/catch, process.on("uncaughtException"), and error-handling middleware in Express.

Example:

				
					app.use((err, req, res, next) => {
  res.status(500).send("Something went wrong!");
});

				
			

Final Thoughts

Mastering these Node.js interview questions will boost your confidence and technical knowledge. Interview or deepening your understanding, these questions cover the most essential Node.js concepts.

Leave a Reply