1. What is Node js ?
Node Js is one of the most popular and powerful server technologies today.
It allows you built the entire website only in one programming Language i.e Javascript. Node js is free and open source server technology that uses Javascript to create complete web software.It runs on various platforms like Windows, Linux, Unix, Mac OS X, etc.

2. Explain CLI.
CLI stands for Command Line Interface. It is a utility or program on your computer where users type commands to perform some action or run some script rather than clicking on the screen.

3. Who is the author of Node Js ?
Node Js is written by Ryan Dahl.

4. Explain What is a Javascript Engine ?
A Javascript Engine is a program that converts code written in Javascript to something that computer processor understands.

5. Explain V8 Engine ?
V8 is Google’s open source high-performance JavaScript engine, written in C++ and used in Google Chrome, the open source browser from Google, and in Node.js, among others. It implements ECMAScript as specified in ECMA-262, and runs on Windows 7 or later, macOS 10.5+, and Linux systems that use IA-32, ARM, or MIPS processors. V8 can run standalone or can be embedded into any C++ application.

6. What is NPM ?
NPM stands for node package manager. It is default Package Manager for JavaScript programming language. NPM is used for installing/updating packages and modules of Javascript.

7. How can you check the installed version of Node Js ?
Use node -v command to check the installed version of Node Js.

8. Explain ECMAScript ?
ECMAScript is the standard on which Javascript is based on. It was created to standardize Javascript. It is commonly used for client-side scripting on the World Wide Web and used by Node Js for writing server applications and services.

9. Explain Modules in Node Js ?
Modules are reusable block of code whose existence does not impact other code in any way. It is not supported by Javascript. Modules are introduced in ES6. Modules are important for Maintainability, Reusability, and Namespacing of Code.

10. What are CommonJs Modules ?
CommonJS Modules is the Standard how to code modules are structured. It specifies an ecosystem for JavaScript outside on the server or for native desktop applications.

11. Explain module.exports in Node Js ?
The method or variable defined in modules cannot be directly accessible by the outer world, that means you cannot call a module member from the external file. In order to access module member, we need to export the functions or variables of modules using module.exports method.

12. Is Node.js Single-threaded ?
Yes, Node Js is single threaded to perform asynchronous processing. Doing async processing on a single thread could provide more performance and scalability under typical web loads than the typical thread-based implementation.

13. What are events ?
An event is an action or occurrence recognized by software/app that is handled by event handler by writing a code that will be executed when the event fired.

14. Explain event loop in Node Js ?
In Node Js processes are single threaded, to supports concurrency it uses events and callbacks. An event loop is a mechanism that allows Node.js to perform non-blocking I/O operations.

15. Write the steps for setting up an Express JS application.
Following are the steps used to set up an express JS application: –
A folder with the same name as the project name is created.
A file named package.json is created inside the folder created.
“npm install” command is run on the command prompt. It installs all the libraries present in package.json.
A file named server.js is created.
“Router” file is created inside the package which consists of a folder named index.js.
“App” is created inside the package which has the index.html file.

Top 10 NodeJS Interview Questions and Answers

16. What do you mean by Express JS?
Express JS is an application framework which is light-weighted node JS. A number of flexible, useful and important features are provided by this JavaScript framework for the development of mobile as well as web applications with the help of node JS.

17. What is the use of Express JS?
Express.js is a lightweight web application which helps in organizing the web application into MVC architecture on the server side.

18. How can models be defined in Express JS?
There is no notion of any database in Express JS. So, the concept of models is left up to third-party node modules, allowing the users to interface with nearly any type of database.

19. How to authenticate users in express JS?
Since authentication is an opinionated area which is not ventured by express JS, therefore any authentication scheme can be used in express JS for the authentication of users.

20. Which template engine is supported by express JS?
Express JS supports any template engine that conforms to the (path, locals, callback) signature.

21. How can plain HTML be rendered in express JS?
There’s no need to render HTML with the res.render () function. If there’s a specific file, then you should use the res.sendFile () function. If any assets are being served from a dictionary, then express.static () middleware function needs to be used.

22. Explain what is libuv in Nodejs?
libuv is Cross-platform I/O abstraction library that supports asynchronous I/O based on event loops.It is written in C and released under MIT Licence.

libuv support Windows IOCP, epoll(4), kqueue(2), and Solaris event ports. Initially, it was designed for Node.js but later it is also used by other software projects.

23. What is JIT and how is it related to Node?
JIT stands for Just-in-time. A JIT compiler is a program which is used to send bytecode (it consists of instruction that can be interpreted) to the processor by converting it into instruction. After you have done with writing a program, the compiler compiles the source language statements into bytecode instead of compiling it into the code that carries the information which is similar to the specific hardware platform's processor.

24. How to use aggregation in Mongoose?
Aggregations are a set of functions that are used to manipulate the data that has been returned from a MongoDB query. In Mongoose, aggregations work as a pipeline. The aggregate function accepts the array of data transformations which are applied by data using different methods in terms of arguments.

25. How Node.js read the content of a file?
Normally NodeJs reads the content of a file in non-blocking, asynchronous way. Node Js uses its fs core API to deal with files. The easiest way to read the entire content of a file in nodeJs is with fs.readFile method. Below is sample code to read a file in NodeJs asynchronously and synchronously.

26. what is Closures?
A Closure is a function defined within another scope that has access to all the variables within the outer scope.

Global variables can be made local (private) with closures.

27. What are the features of Node.js?
Node.js is a single-threaded but highly scalable system that utilizes JavaScript as its scripting language. It uses asynchronous, event-driven I/O instead of separate processes or threads. It is able to achieve high output via single-threaded event loop and non-blocking I/O.

28. Why is Node.js Single-threaded?
Node.js is single-threaded for async processing. By doing async processing on a single-thread under typical web loads, more performance and scalability can be achieved as opposed to the typical thread-based implementation. 

29. Explain callback in Node.js.
A callback function is called at the completion of a given task. This allows other code to be run in the meantime and prevents any blocking.  Being an asynchronous platform, Node.js heavily relies on callback. All APIs of Node are written to support callbacks. 

30. Explain the role of REPL in Node.js.
As the name suggests, REPL (Read Eval print Loop) performs the tasks of – Read, Evaluate, Print and Loop. The REPL in Node.js is used to execute ad-hoc Javascript statements. The REPL shell allows entry to javascript directly into a shell prompt and evaluates the results. For the purpose of testing, debugging, or experimenting, REPL is very critical. 

31. What is the difference between Node.js and Ajax?
Node.js and Ajax (Asynchronous JavaScript and XML) are the advanced implementation of JavaScript. They all serve completely different purposes.  
Ajax is primarily designed for dynamically updating a particular section of a page’s content, without having to update the entire page. 
Node.js is used for developing client-server applications.

32. Explain chaining in Node.js.
Chaining is a mechanism whereby the output of one stream is connected to another stream creating a chain of multiple stream operations. 

33. What is the difference between AngularJS and Node.js?
Angular.JS is a web application development framework while Node.js is a runtime system. 

34. Why is consistent style important and what tools can be used to assure it?
Consistent style helps team members modify projects easily without having to get used to a new style every time. Tools that can help include Standard and ESLint. 

35. What is the relation of Node.js with JavaScript? 
Though Node.js is not a JavaScript framework, many of its modules are written in JavaScript.
It allows the developers to create new modules in JavaScript.
Node.js is a virtual machine that leverages JavaScript as its scripting language to achieve high output.

36. What is the fundamental difference between Node.js and Ajax?
While Ajax is a client-side technology, Node.js is a server-side JavaScript environment.

37. Explain the term I/O in the context of Node.js.
I/O stands for input and output. It is used to access anything outside of the application. I/O gets loaded on to the machine memory in order to run programs after the application is fired up.

38. Which are the two types of API functions in Node.js?
Asynchronous, non-blocking functions and Synchronous, blocking functions.

39. Explain the role of the Callback function in Node.js.
In Node.js, the Callback function is used to cater to multiple requests made to the server. If there is a large file that is expected to take the server a long time to process, the Callback function can be invoked to ensure that other requests to the server are uninterrupted.

40. What is an error-first callback?
Error-first callbacks are essentially used to pass errors and data. By default, the first argument is always an error object, where the user needs to check if something is wrong.

41. Which is the framework that is most commonly used in Node.js?
The most commonly used Node.js framework is “Express”.

Top 20 NodeJS Interview Questions and Answers

42. Define “event-driven programming.
It is essentially a programming paradigm where the program flow is characterized by events such as messages from other programs.

43. What are the two sections of event-driven programming?
Event Selection and Event Handling are two sections of event-driven programming.

44. Explain the Control Flow function.
It is a generic piece of code that runs concurrently between several asynchronous function calls.

45. List the steps involved in the Control Flow function.
Control the order of execution à Collect data à Limit concurrency à Call the next program step

46. Can a user access DOM in a Node?
No, you cannot access DOM.

47. In Node.js, which command is used to import external libraries?
A command called “require” is used for importing external libraries.

48. What is the biggest drawback of Node.js?
The biggest drawback is the fact that it is challenging to have one process with a single thread to scale up on multi core servers.

49. What is tracing?
This is the basic Node.js Interview Questions that are asked in an interview. Tracing enables you to trace information generated by V8. It can be enabled by passing flag as —
trace-events-enabled while starting the node. All these categories that are recorded can be specified by
the flag –trace-event-categories. The logs that are enabled can be opened as: chrome://tracing in Chrome.

50. Is Node A Single Threaded Application?
Yes! Node uses a single threaded model with event looping.

51. Is It Free To Use Node.js?
Yes! Node.js is released under the MIT license and is free to use.

52. What Is The Difference Of Using Var And Not Using Var In Repl While Dealing With Variables?
Use variables to store values and print later. if var keyword is not used then value is stored in the variable and printed. Wheras if var keyword is used then value is stored but not printed. You can use both variables later.

53. What Is Global Installation Of Dependencies?
Globally installed packages/dependencies are stored in <user-directory>/npm directory. Such dependencies can be used in CLI (Command Line Interface) function of any node.js but can not be imported using require() in Node application directly. To install a Node project globally use -g flag.
C:Nodejs_WorkSpace>npm install express -g

54. What Is Local Installation Of Dependencies?
By default, npm installs any dependency in the local mode. Here local mode refers to the package installation in node_modules directory lying in the folder where Node application is present. Locally deployed packages are accessible via require(). To install a Node project locally following is the syntax.
C:Nodejs_WorkSpace>npm install express

55. What Is Package.json?
package.json is present in the root directory of any Node application/module and is used to define the properties of a package.

56. How To Update A Dependency Using Npm?
Update package.json and change the version of the dependency which to be updated and run the following command.
C:Nodejs_WorkSpace>npm update

57. How Node Prevents Blocking Code?
By providing callback function. Callback function gets called whenever corresponding event triggered.

58. What Is Event Loop?
Node js is a single threaded application but it support concurrency via concept of event and callbacks. As every API of Node js are asynchronous and being a single thread, it uses async function calls to maintain the concurrency. Node uses observer pattern. Node thread keeps an event loop and whenever any task get completed, it fires the corresponding event which signals the event listener function to get executed.

59. What Is Purpose Of Buffer Class In Node?
Buffer class is a global class and can be accessed in application without importing buffer module. A Buffer is a kind of an array of integers and corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.

60. What Is Piping In Node?
Piping is a mechanism to connect output of one stream to another stream. It is normally used to get data from one stream and to pass output of that stream to another stream. There is no limit on piping operations. Consider the above example, where we've read test.txt using readerStream and write test1.txt using writerStream. Now we'll use the piping to simplify our operation or reading from one file and writing to another file.

Read More :

Top 30 NodeJS Interview Questions and Answers
Top 40 NodeJS Interview Questions and Answers
Top 50 NodeJS Interview Questions and Answers