NodeJS interview questions and answers
Freshers / Beginner level questions & answers
Ques 1. What is Node.js?
Node.js is an open-source, cross-platform JavaScript runtime environment that executes JavaScript code server-side.
Example:
console.log('Hello, Node.js!');
Ques 2. What is npm?
npm (Node Package Manager) is the default package manager for Node.js, used to manage and distribute Node.js packages/modules.
Example:
npm install package_name
Ques 3. What is the purpose of package.json in Node.js?
package.json is a manifest file that contains metadata about a Node.js project, including dependencies, scripts, and other project-specific configurations.
Example:
npm init
Ques 4. What is the purpose of the 'global' object in Node.js?
The 'global' object represents the global scope in Node.js. Variables declared in the global scope are available globally to all modules in the application.
Example:
global.myVariable = 'Hello';
Ques 5. Explain the role of the 'require' function in Node.js.
The 'require' function is used to include modules in Node.js. It is the way to import functionality from other modules.
Example:
const fs = require('fs');
Ques 6. Explain the purpose of the 'os' module in Node.js.
The 'os' module provides a way to interact with the operating system. It includes methods to get information about the operating system like CPU architecture, memory, and network interfaces.
Example:
const os = require('os');
console.log(os.totalmem());
Ques 7. What is the purpose of the 'fs' module in Node.js?
The 'fs' module in Node.js provides file system-related functionality. It allows reading from and writing to files, manipulating file paths, and performing other file-related operations.
Example:
const fs = require('fs');
fs.readFile('file.txt', 'utf8', (err, data) => { /* handle file content */ });
Ques 8. What is the purpose of the 'url' module in Node.js?
The 'url' module provides utilities for URL resolution and parsing. It allows working with URLs, including parsing query parameters and formatting URL components.
Example:
const url = require('url');
const parsedUrl = url.parse('https://example.com/path?query=value', true);
Ques 9. Explain the purpose of the 'dotenv' module in Node.js.
The 'dotenv' module is used to load environment variables from a '.env' file into 'process.env'. It is commonly used in Node.js applications to manage configuration variables.
Example:
require('dotenv').config();
Intermediate / 1 to 5 years experienced level questions & answers
Ques 10. Explain the event-driven architecture in Node.js.
Node.js follows an event-driven, non-blocking I/O model. It means that the server can handle multiple connections simultaneously, and when an event occurs, the corresponding callback function is executed.
Example:
const server = require('http').createServer((req, res) => { /* handle request */ });
Ques 11. Explain the concept of middleware in Express.js.
Middleware functions are functions that have access to the request, response, and next middleware function in the application’s request-response cycle. They can modify the request and response objects or end the request-response cycle.
Example:
app.use((req, res, next) => { /* middleware logic */ next(); });
Ques 12. How does Node.js handle asynchronous code?
Node.js uses callbacks, Promises, and async/await to handle asynchronous operations. Callbacks are a common pattern, but Promises and async/await provide more readable and maintainable code.
Example:
fs.readFile('file.txt', 'utf8', (err, data) => { /* handle file content */ });
Ques 13. What is the purpose of the 'process' object in Node.js?
The 'process' object is a global object that provides information about the current Node.js process. It can be used to get information about the environment, control the process, and handle signals.
Example:
console.log(process.env.NODE_ENV);
Ques 14. Explain the difference between 'process.nextTick()' and 'setImmediate()' in Node.js.
'process.nextTick()' and 'setImmediate()' are used to execute a callback function in the next iteration of the event loop. 'process.nextTick()' has a higher priority and runs before 'setImmediate()'.
Example:
process.nextTick(() => { console.log('Next Tick'); });
Ques 15. Explain the purpose of the 'Buffer' class in Node.js.
The 'Buffer' class in Node.js is used to handle binary data. It provides a way to work with raw data directly without requiring encoding/decoding.
Example:
const buffer = Buffer.from('Hello, Node.js');
Ques 16. What is the event loop in Node.js?
The event loop is a core concept in Node.js that allows the execution of non-blocking asynchronous operations. It continuously checks the message queue and executes callbacks when events occur.
Example:
console.log('Start');
setTimeout(() => console.log('Timeout'), 1000);
console.log('End');
Ques 17. How does the 'require.resolve()' method work in Node.js?
'require.resolve()' is used to find the path of a module file. It returns the absolute path of the resolved module.
Example:
const path = require.resolve('path');
Ques 18. What is middleware in the context of Express.js?
Middleware functions in Express.js are functions that have access to the request, response, and next middleware function. They can modify the request and response objects, terminate the request-response cycle, or call the next middleware in the stack.
Example:
app.use((req, res, next) => { /* middleware logic */ next(); });
Ques 19. Explain the difference between 'exports' and 'module.exports' in Node.js.
'exports' is a shorthand reference to 'module.exports', but reassigning 'exports' directly does not work. To export an object or function, 'module.exports' should be used.
Example:
module.exports = { key: 'value' };
Ques 20. What is the purpose of the 'child_process' module in Node.js?
The 'child_process' module in Node.js is used to create child processes. It provides the 'spawn', 'exec', 'execFile', and 'fork' methods to create and interact with child processes.
Example:
const { spawn } = require('child_process');
const child = spawn('ls', ['-l']);
Ques 21. Explain the role of the 'net' module in Node.js.
The 'net' module in Node.js provides a way to create TCP servers and clients. It allows you to build networking applications, such as chat servers or custom protocols.
Example:
const net = require('net');
const server = net.createServer((socket) => { /* handle connection */ });
Ques 22. What is the purpose of the 'cluster' module in Node.js?
The 'cluster' module in Node.js allows you to create child processes that share server ports. It enables the creation of multi-core server applications, improving performance.
Example:
const cluster = require('cluster');
if (cluster.isMaster) { /* create workers */ } else { /* start server logic */ }
Ques 23. Explain the purpose of the 'crypto' module in Node.js.
The 'crypto' module provides cryptographic functionality in Node.js. It allows for the generation of hashes, HMAC (Hash-based Message Authentication Code), and various encryption/decryption algorithms.
Example:
const crypto = require('crypto');
const hash = crypto.createHash('sha256').update('Hello').digest('hex');
Ques 24. Explain the concept of 'npm scripts' in package.json.
npm scripts are user-defined scripts that can be run using the 'npm run' command. They are defined in the 'scripts' section of the 'package.json' file and can be used for various tasks such as testing, building, or starting the application.
Example:
"scripts": { "start": "node index.js", "test": "mocha test/*.js" }
Ques 25. How can you handle errors in Node.js applications?
Errors in Node.js can be handled using try-catch blocks, using the 'error' event in asynchronous operations, or by using middleware functions in frameworks like Express.js to catch errors globally.
Example:
try { /* code that may throw an error */ } catch (error) { /* handle error */ }
Ques 26. What is the purpose of the 'event emitters' in Node.js?
Event emitters in Node.js allow objects to emit named events that cause functions (listeners) to be called. They are at the core of Node.js's event-driven architecture and are used throughout the standard library.
Example:
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', () => console.log('Event emitted'));
Ques 27. What is the role of the 'WebSocket' protocol in Node.js?
WebSocket is a communication protocol that provides full-duplex communication channels over a single, long-lived connection. In Node.js, the 'ws' library is commonly used to implement WebSocket servers and clients.
Example:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
Ques 28. Explain the concept of 'middleware chaining' in Express.js.
Middleware chaining in Express.js is the process of sequentially applying multiple middleware functions to a request. Each middleware function can modify the request and response objects or terminate the request-response cycle.
Example:
app.use(middleware1);
app.use(middleware2);
app.use(middleware3);
Ques 29. What is the purpose of the 'pm2' module in Node.js?
'pm2' is a process manager for Node.js applications. It allows you to run, monitor, and manage Node.js processes, enabling features like automatic restarts, clustering, and log management.
Example:
pm2 start app.js
Ques 30. Explain the purpose of the 'CORS' middleware in Express.js.
CORS (Cross-Origin Resource Sharing) middleware in Express.js is used to enable or restrict cross-origin HTTP requests. It adds the necessary headers to allow or deny requests from different origins.
Example:
const cors = require('cors');
app.use(cors());
Most helpful rated by users: