Node JS Interview Questions and Answers [2022]
Since its introduction, Node.js has become the top name in backend development. With the emergence of Node.js, developers can use JavaScript on the client-side as well as server-side. It can be used with any type of database. Because of these reasons and many other features, demand for Node.js developers is increasing year by year.
Express.js is a Node.js framework that is used heavily for server-side development. Both of these technologies are part of MEAN and MERN software stacks. In this article, we will list fifty questions related to Node.js and Express.js.
Questions related to Node.js

Q1 – What is Node.js?
A – Node.js is a cross-platform open-source JavaScript runtime environment.
Q2 – What is the purpose of Node.js?
A – The purpose of Node.js is to execute JavaScript outside the browser because, earlier, JavaScript could only run in the browser thus limiting its usage only for client-side development. But with Node.js, JavaScript can also be used for server-side development.
Q3 – What is Node.js used for?
A – Node.js is used for developing web applications, especially on the server-side. It is also used for network applications, general-purpose applications, and distributed systems.
Q4 – Define I/O.
A – I/O stands for input and output. The main purpose of I/O is to interact with anything that is outside the application, such as disk and network.
Q5 – Explain how Node.js works.
A – Node.js uses a virtual environment to run JavaScript as the scripting language. Basically, it uses Google chrome’s V8 engine to run JavaScript. Moreover, the same V8 engine lets JavaScript use the features such as single-threaded event loop and non-blocking I/O.
Q6 – Briefly explain the types of API functions in Node.js.
A – There are two types of API functions in Node.js:
- Asynchronous APIs for non-blocking functions
- Synchronous APIs for blocking functions.
Q7 – How is asynchronous different from synchronous?
A – In synchronous programming, the execution happens in sequence, meaning, one after another. If a function is executed, the program waits for its completion, and only after its completion, the execution will move further. But in asynchronous, there is no such sequence. The function can wait while the program execution continues.
Q8 – What is the purpose of the event loop?
A – Node.js is single-threaded but still it can perform non-blocking I/O operations. This is possible because of the event loop.
Q9 – Explain event-driven programming.
A – In event-driven programming is a kind of programming in which the workflow execution of a program is controlled by the execution of external programs.
Q10 – Suppose we have a module named “TimeLogger”. Write a code to import this module in a separate file in the same folder.
A – We can import a module using the “require” keyword.
const timeLogger = require(“./TimeLogger”)
Q11 – Observe the following object.
let employee = {
“name”: “John”,
“age”: 23,
“city: “New York”
}
Write a code to export this object.
A – module.exports = employee
Q12 – What is NPM?
A – NPM stands for Node Package Manager. It is the default package manager for Node.js. It contains thousands of packages that can be used in a Node.js application.
Q13 – What can we do with NPM?
A -With NPM, we can:
- Install dependencies
- Install packages
- Update packages
- Run tasks
Q14 – What is a package.json file?
A – The package.json file contains all the metadata related to the project such as version history, project details, dependencies, scripts, and more.
Q15 – What is the purpose of the package-lock.json file?
A – The purpose of the package-lock.json file is to track the version of each and every package that is installed using NPM.
Q16 – How to find the versions of all the NPM packages installed in a project?
A – To find the versions of all the NPM packages, we can use the npm list command.
Q17 – How can we update all the packages to their latest version?
A – To update all the packages to their latest versions, first install the “npm-check-updates” package globally and then run the following command.
ncu -b
Now, we can use the following command to update all the packages to their latest versions.
npm update
Q18 – What are the differences between dependencies and devDependencies?
A – Following are the differences between dependencies and devDependencies:
- dependencies are the packages required in production while devDependencies are the packages required in development.
- dependencies are installed using npm <package-name> while devDependencies are installed using npm <package-name> –save-dev or -D.
Q19 – How is npx different from npm?
A – npx stands for Node.js package execute and it is used to execute a package while npm is used to install a package.
Q20 – What is the use of the EventEmitter class?
A – The EventEmitter class is used to create events. Using this class, we can trigger and listen to events from any part of the application.
Q21 – How to create a server in Node.js?
A – To create a server in Node.js, we can use the createServer() method of the http module.
Q22 – Create a server in Node.js.js.
A –
var http = require('http');
http.createServer(function (req, res) {
res.write('Server is running!');
res.end();
}).listen(8080);
Q23 – How to handle asynchronous requests in Node.js?
A – To handle asynchronous in Node.js, use:
- Callbacks
- Promises
- Async/Await
Q24 – What is callback hell and how to avoid it?
A – Callback hell is a situation when callbacks are intensively nested which makes it difficult to manage the code and asynchronous requests.
It can be avoided by using promises or async/await.
Q25 – What are promises in Node.js?
A – Promise in Node.js is a way for handling asynchronous requests. Basically, a promise means something will happen in the future. A promise is either resolved or rejected.
Q26 – What is async/await and how to use them?
A – Async/await is a new feature of JavaScript for handling asynchronous requests. It is basically syntactic sugar for promises.
To use async/await, we have to create a function using the “async” keyword. Then, inside it, we can use the “await” keyword for handling asynchronous requests.
Q27 – What is REPL?
A – REPL is a computer environment. It stands for Request Eval Print Loop.
Q28 – What is libuv?
A – It is a support library of Node.js that is used to handle asynchronous I/O