1. 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. 

  1. 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. 

  1. 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 

  1. 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

 

  1. 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)

  1. 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

 

  1. 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. 

  1. 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. 

  1. 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

 

  1. 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

 

  1. Name some node.js applications.

Ans. Node.js applications are used in the below-mentioned domains:

Real-time applications

Network applications

Distributed systems

  1. Some of the top companies using node.js are:

Ans. PayPal

LinkedIn

Yahoo, Mozilla

Netflix

Uber

eBay

Medium

NASA

Trello

  1. 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

 

  1. 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.

  1. 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. 
  1. 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 

  1. 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. 

  1. 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 

  1. 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. 

  1. 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> 

  1. 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

  1. How unhandled are exceptions caught in Node.js?

Ans. With the use of “Process,” a handler is attached for the “uncaughtException” event.

  1. Define the test pyramid.

Ans. It gives an optimum ratio of unit tests, integration tests, and end-to-end tests a developer should use.

  1. 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

  1. 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.

  1. Write code using module.exports in Node.js.

Ans.

module.exports = {

SayGoodNightInFrench; function () {

return “Bonne Nuit”;

},

sayGoodNightInGerman: function () {

Return “Gute Nacht”;

}

}; 

  1. 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

 

By bpci