- What is Node.js?
Ans. Node.js is the ideal open-source, cross-platform for developing server-side web applications. It is built on Google’s V8 JavaScript engine, and its package ecosystem (npm) is the most extensive core library. It is written in JavaScript and is the Libuv platform abstraction layer. Node.js works on a non-blocking I/O (input/output) model, which eases its functionality and improves speed and efficiency.
- What are Node Modules?
Ans. It is known as the block of codes which doesn’t affect any other codes. Node.js has its own built-in node modules that don’t require any installation.
- How to write ‘Beautiful Life’ in Node.js?
Ans. Follow the below steps:
Create a file called app.js
Enter console.log (“Beautiful Life!”);
Open node terminal
Change the directory to the folder
Run node app.js
- Is there any difference between JavaScript and Node.js?
Ans. Below are some significant differences between JavaScript and Node.js:
JavaScript | Node.js |
It is a programming language | It works as an interpreter and environment for JavaScript |
Runs on any web browser | Runs on V8 (Chrome) |
Follows the standards of Java programming language | Node Js follows C++ |
Used for web application’s client-side activity | Used for performing the non-blocking operation |
- Which are the most popular Node.js frameworks you have used?
Ans. Below is the list of frameworks that I have used:
Node.js Frameworks | Description |
AdonisJs | Made up with SQL-database and supports No-SQL database including MongoDB |
Express.js | Helps in managing servers and routes and building lightweight applications |
Meteor.js | Assists in developing modern web and mobile applications |
Nest.js | Helps in creating effective and scalable server-side Node.js applications |
Sails.js | Assists in developing customized enterprise-grade applications and it is one of the highly recommended MVC node.js frameworks |
Koa.js | Known as next-generation framework having ECMAScript (ES6) |
- List some benefits of Node.js
Ans. Below are some benefits of Node.js:
Node.js Benefits | |
Scalable | Applications are easy to scale in horizontal and vertical directions |
Single Language | It is one of the most efficient server-side JavaScript language used for both front-end and back-end development |
Fullstack JS | It is helpful in both client-side and server-side language |
High-performing language | It interprets JS code via Chrome’s V8 engine; hence it compiles JS code directly into the machine code and supports non-blocking I/O operations, which makes it a high performing language |
Cache benefits | It supports caching of every single module in the application memory |
Supports Common tools | In Node.js, developers can get the support of commonly extended tools like Jasmin and unit-testing tools |
- Did you find any drawback in node.js?
Ans. Yes, node.js has a major drawback that the Application Programming Interface (API) is sometimes unstable.
- Do you keep track of Node.js trends? Name any recent Node.js trend in 2020.
Ans. Yes, as a developer, it is essential to comprehend frequent updates. Recently, I was reading some of the Node.js trends, and below are some interesting facts that caught my attention:
Now node.js is a serverless and hardware-free solution which will enhance its performance and productivity.
Maintenance of code in node.js is easy because of the microservices it offers.
js is really helpful in giving strong backend support to real-time apps because it is an excellent data serving platform supporting WebSockets protocols.
js holds a key position in IoT due to its data-centric approaches.
- Do you think node.js is better than PHP?
Ans. Both PHP and Node.js offer excellent programming experience to both the developers as well as end-users. The main differences are –
PHP | Node.js |
Supported by a good number of hosting platforms and is easy to use | It is more of a virtual server, and as it is younger than PHP, developers find it challenging to use |
Provides a reliable and stable platform | Speedy and quick turnaround time |
The platform is less flexible | The platform is highly flexible, agile, and scalable |
Competent in handling CPU intensive roles | Less effective in handling CPU intense activities |
Stuck when the number of code is huge | Hardly gets stuck |
- State some features of Node.js v12.
Ans. Recently node.js v12 was launched in 2019, and some of its key highlights are:
The V8 version is updated to 7.4
The default HTTP parser is now redirected to IIhttp
A new feature is introduced called “Diagnostic Reports”
The error message has witnessed an update which points to check the specific errors and failures
js supports TLS1.3 as a default max protocol
js can now trace asynchronous call frames due to its Async stack traces updates
- Name some node.js applications.
Ans. Node.js applications are used in the below-mentioned domains:
Real-time applications
Network applications
Distributed systems
- Some of the top companies using node.js are:
Ans. PayPal
Yahoo, Mozilla
Netflix
Uber
eBay
Medium
NASA
Trello
- Which performance metrics you track for node.js?
Ans. It is essential to track performance metrics and evaluate node.js applications, including websites, web apps, mobile apps, enterprise apps, etc. Some of the parameters that one must determine are:
Metrics | Description |
Event Loop | Checks the ability to execute code in a queue |
Real-time behavior | Checks the response time of real-time applications |
External frameworks | Checks the response time, error-rates, APIs, and request rates as node.js depends on several external frameworks |
Process Memory | Measures the time spent and runs memory on the helper tool called Garbage Collector |
- What is meant by Event-driven programming in Node.js?
Ans. Though node.js is a single-threaded programming application, it supports concurrence of events and callbacks and uses an async function. Event-driven programming is designed on a concept to avoid collisions.
Whenever a user interacts on a webpage, an event recurs, and as a result, a change occurs on the user interface when an event triggers the associated function.
- In event-driven programming the following concepts are used:
- The callback function is called whenever an event triggers.
- The main loop stays active, responds to each trigger, and calls the event handler for each event.
- What do you mean by the Libuv platform?
Ans. It is known as a support library of Node.js and is a multi-platform used for asynchronous I/O. Some crucial features of Libuv are:
Backed with the full-featured event loop
Includes file system events
Supports child processes
Has asynchronous files & involves file system operations
Includes asynchronous TCP & UDP sockets
- Have you heard of callback hell? What is it?
Ans. In Node.js, callback hell is used to return callbacks that are heavily nested, and are complex and unreadable.
- Which strategy works well for handling callback hell?
Ans. To handle callback hell, below steps can be helpful:
Work on handling each error
Maintain simple codes
Split the complex codes into independent functions
- What are API functions in node.js?
Ans. There are two types of functions:
Blocking function – The codes are blocked till the time I/O event occurs
Non-blocking function – Here at a time, several I/O calls are performed without blocking the entire program.
- Name the different types of streams available in node.js.
Ans. Streams in Node.js are used to connect with each other to form a chain. Basically, there are four different types of stream in node.js:
<Readable>
<Writable>
<Duplex>
<Transform>
- What do you mean by Globals?
Ans. Globals comprises of three different keywords:
Global – It acts as a container for global objects representing the global namespace.
Process – It is both, a global object and asynchronous function, used to return information related to the application.
Buffer – It handles binary data as it is a class
- How unhandled are exceptions caught in Node.js?
Ans. With the use of “Process,” a handler is attached for the “uncaughtException” event.
- Define the test pyramid.
Ans. It gives an optimum ratio of unit tests, integration tests, and end-to-end tests a developer should use.
- Define the way to secure HTTP cookies from XSS attacks.
Ans. This situation arrives when the JavaScript code is injected in an HTML response by the attacker. To mitigate such an unacceptable risk, the below steps can help:
Set flags using “set-cookie” HTTP header – HttpOnly and secure
Use code Set-Cookie: Set=<cookie-value>; HttpOnly
- Find an error in this code:
Challenges in Life((resolve, reject) => { point out Error (‘error’) }).then(console.log)
Ans. This code will retrieve no indication of error because ‘catch’ function is missing before ‘then’ function.
- Write code using module.exports in Node.js.
Ans.
module.exports = {
SayGoodNightInFrench; function () {
return “Bonne Nuit”;
},
sayGoodNightInGerman: function () {
Return “Gute Nacht”;
}
};
- How will you import the above code in a different file?
Ans.
var wishes = require(“ ./wishes.js”);
wishes. SayGoodNightInFrench(); // Bonne Nuit
wishes. sayGoodNightInGerman(); // Gute Nacht