Showing posts with label Node Interview Questions and Answers. Show all posts
Showing posts with label Node Interview Questions and Answers. Show all posts

Wednesday 16 May 2018

Node Js Interview Questions and answer for 2 year experienced

Node Js Interview Questions and answer for 2 year experienced

Question: What is JSON.stringify()?
JSON.stringify() method converts a JavaScript object to a JSON string.
Following are three parameter of JSON.stringify.


Value (required): The value to convert to a JSON string.
replacer (optional): A function that alters the behavior of the stringification process, or an array of String and Number objects.
space (optional): A String or Number object that's used to insert white space into the output JSON string for readability purposes.



Question: Give example of JSON.stringify()?
JSON.stringify({});                    // '{}'
JSON.stringify(true);                  // 'true'
JSON.stringify('foo');                 // '"foo"'
JSON.stringify([1, 'false', false]);   // '[1,"false",false]'
JSON.stringify([NaN, null, Infinity]); // '[null,null,null]'
JSON.stringify({ x: 5 });              // '{"x":5}'



Question: What is JSON.parse()?
JSON.parse() method converts JSON string to JavaScript object.


Question: What is arrow function?
An arrow function expression has a shorter syntax than a regarular function and does not have its own this, arguments, super, or new.target.


Question: Give example of arrow function?
var materials = [
  'Hydrogen',
  'Helium',
  'Beryllium'
];
console.log(materials.map(material => material.length));// expected output: Array [8, 6, 9]


Question: What is Handlebars view engine in nodejs?
Handlebars.js is templating engine in NodeJS. We give the data from node and same used in the handlebar template.



Question: How to configure handlebar?
const hbs = require('hbs');
app.set('view engine', 'hbs');

Now you can place the html files in view folder with extension of .hbs



Question: How to pass the data to handlebar engine and used in view file?
Pass parameter
app.get('/aboutus', (req, res) => {
  res.render('home.hbs', {
    pageTitle: 'About Page Title',
    welcomeMessage: 'Welcome'
  });
});

aboutus.hbs (Use with variable name enclosed with double curly braces)
{{pageTitle}} //About Page Title
{{welcomeMessage}} //Welcome



Question: How to create element(partial) file in handlerbar ?
In node server file, set the following
hbs.registerPartials(__dirname + '/views/partials');

You can call a comman file from another file with following system
{{> header}}

Here header file path is /views/partials/header.hbs


Question: What is an error-first callback?
Error-first callbacks are used to pass errors and data. You have to pass the error as the first parameter, and it has to be checked to see if something went wrong.
fs.readFile(filePath, function(err, data) {  
  if (err) {
    // handle the error, the return is important here
    // so execution stops here
    return console.log(err)
  }
  // use the data object
  console.log(data)
})



Question: What are Promises?
The Promise object represents the event completion or failure of an asynchronous operation, and its resulting value.
function readFile(filename, enc){
  return new Promise(function (resolve, reject){
    fs.readFile(filename, enc, function (err, res){
      if (err) reject(err);
      else resolve(res);
    });
  });
}



Question: What's a stub? Name a use case?
Stubs are functions that simulate the behaviors of components/modules.
Stubs provide canned answers to function calls made during test cases.
var fs = require('fs')

var writeFileStub = sinon.stub(fs, 'writeFile', function (path, data, cb) {  
  return cb(null)
})

expect(writeFileStub).to.be.called
writeFileStub.restore();



Question: What is callback hell in Node.js?
Callback hell is the result of heavily nested callbacks that make the code not only unreadable but also difficult to maintain.


Question: What is the role of REPL in Node.js?
Full form of REPL is REPL Read Eval print Loop.
The REPL in Node.js is used to execute ad-hoc Javascript statements.



Question: Name the types of API functions in Node.js?
Blocking functions In a blocking operation, all other code is blocked from executing until an I/O event that is being waited on occurs. Blocking functions execute synchronously.

Non-Blocking functions
In a non-blocking operation, multiple I/O calls can be performed without the execution of the program being halted.


Question: 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.


Question: How to get the node version?
node -v



Question: How to access the GET parameters after ? in Express?
URL: /?name=myname&age=32&gender=m
req.query.name;//myname

req.query.age;//32

req.query.gender; //m



Question: What is the difference between __dirname and ./ in node.js?
__dirname is always the directory in which the currently executing script.
. gives you the directory from which you ran the node command in your terminal window


Friday 22 September 2017

Nodejs Interview Questions and Answer 1 year Experience

Nodejs Interview Questions and Answer 1 year Expereince

Question: How do I include a JavaScript file in another file?

Suppose you have following file with hello.js which you want to include.
export function hello() {
  return "Hello, How are you?";
}

Use following syntax to include hello.js?
const helloFileObj = require('./hello');
console.log(helloFileObj.hello()); //It would print Hello, How are you?



Question: What's the difference between tilde(~) and caret(^) in package.json?

the tilde(~) matches the most recent minor version.
For Example ~1.4.3 will match all 1.4.x versions but will miss 1.5.0.
Benefits: Gives you bug fix releases.

the caret(^) matches the most recent major version.
For Example ^1.4.3 will match all 1.x.x versions including 1.5.0 but will hold off on 2.0.0
Benefits: Gives you bug fixes including new functionalities.



Question: How do I pass command line arguments?
node server.js one two=222 three
Here one, two=222 and three are command line arguments (1,2,3 respectively).

Following are way to access argument process.argv is array containing the command line arguments
Following are the output when we print process.argv
Script to print the arguments


Output
0: node
1: server.js
2: one
3: two=222
4: three



Question: How to access 2nd argument when passed in command line?
process.argv.slice(3,4); //two=222



Question: How to list the packages?
List Local packages?
npm list

List Global packages?
npm list -g

Question: How to exit from node Code?
process.exit()



Question: Read environment variables in Node.js?
process.env.ENV_VARIABLE



Question: How to generate Secure random token Node.js?
For this you can use crypto module in nodeJS.
require('crypto').randomBytes(48, function(err, buffer) {
  var token = buffer.toString('hex');
});



Question: How to output pretty html in Express?
app.locals.pretty = true;



Question: How to clean node_modules folder of packages that are not in package.json?
app.locals.pretty = true;



Question: How to format a date string in UTC Format?
  
new Date().toISOString(); //2017-09-04T14:51:06.157Z

  
new Date().toISOString().
  replace(/T/, ' ').      // replace T 
  replace(/\..+/, ''); //2017-09-04 14:55:45 



Question: How to get client IP Address in Node JS?
  
app.get(/save-data, function (req, res){
    var ipAddress = req.headers['x-forwarded-for'] || req.connection.remoteAddress;   
    console.log(ipAddress); //will print the ip address of client
});



Question: How to force strict mode in node?
Write below code at the top of node file with enclosed with double quote.
 
use strict;


Question: What is promises in node js?
We use the promises for asynchronous operation and it have following 3 states.
  1. Pending
  2. Resolved
  3. Rejected



Question: What is promises in node js?
var somePromise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Operation completed');
    // reject(Operation Failed');
  }, 2500);
});

somePromise.then((message) => {
  console.log('Success: ', message);
}, (errorMessage) => {
  console.log('Error: ', errorMessage);
});


Promise contain two parameter i.e. resolve(for success), reject(for failed).


Question: What is Yargs?
Yargs helps to parsing arguments of command line tools.


Question: How to install Yargs module in node?
npm i yargs --save


Question: Give example of Yargs module?
const argv = require('yargs').argv
console.log(argv.name);//Arun
console.log(argv.age);//28
console.log(argv.city);//Chandigarh

How to pass arguments
node test.js --name="Arun" --age="28" --city="Chandigarh"




Tuesday 30 December 2014

Node Js Interview Questions and Answers for Experienced

Node Js Interview Questions and Answers for Experienced


Question: What is node.js?
Node.js is a software for scalable server-side and networking applications.
Node.js applications are written in JavaScript.
It can be run within the Node.js runtime on Mac OS X, Windows and Linux with no changes.


Question: In which language Node.js is written?
C,C++, javaScript.


Question: Who is creater of Node.js?
Ryan Dahl


Question: What is current stable version of Node.js?
6.6.0 Version / 15 September 2016.


Question: How node.js works?
Node.js works on a V8 environment, it is a virtual machine that utilizes JavaScript as its scripting language.


Question: From where we can download Node.js?
http://nodejs.org/download/


Question: What do you mean by the term I/O?
Input/Output


Question: What does event-driven programming?
In event-driven programming, flow of the program is determined by events.


Question: Where Node.js can be used?
  • Web applications ( especially real-time web apps )
  • Network applications
  • Distributed systems
  • General purpose application



Question: What is Advantage of Node.js?
Following are advantage of Node.js as compare to other web scripting.
  • Faster
  • More concurrency user
  • Asynchronous
  • Least blocks
  • Helps to build scalable network programs


Question: What are two different types of functions in Node.js?
  • Asynchronous
  • Synchronous



Question: What is Callback in node.js?
It is used to handle the multiple request.


Question: What tool and IDE is used for Node.js?

  • Atom
  • Nodeclipse Enide Studio
  • JetBrains WebStorm
  • JetBrains IntelliJ IDEA
  • Microsoft Visual Studio with TypeScript
  • NoFlo – flow-based programming environment integrated with GNOME APIs




Question: How to get Post Data in Node.js?
app.use(express.bodyParser());
app.post('/', function(request, response){
    console.log(request.body.user);
    
}); 


Question: How to make Post request in Node.js?
 var request = require('request');
request.post(
    'http://www.example.com/action',
    { form: { key: 'value' } },
    function (error, response, body) {
    if (!error && response.statusCode == 200) {
    console.log(body)
    }
    }
);


Question: What is callback hell?
Callback hell refers to heavily nested callbacks that have become unreadable



Question: How to handle the "Unhandled exceptions" in Node.js?
It can be caught at the "Process level" by attaching a handler for uncaughtException event.
Example:
process.on('uncaughtException', function(err) {
  console.log('Caught exception: ' + err);
});


Question: How to download image from Web?
#Include Important library
var fs = require('fs'),
request = require('request');

#Create a Download Function
var downloadImage = function(uri, filename, callback){
  request.head(uri, function(err, res, body){
    console.log('content-type:', res.headers['content-type']);
    console.log('content-length:', res.headers['content-length']);

    request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
  });
};

Use the function in following way:
downloadImage('https://www.google.com/images/srpr/logo3w.png', 'google.png', function(){
  console.log('image is downloaded');
});



Question: How to Remove directory which is not empty?
var rimraf = require('rimraf');
rimraf('/some/directory', function () {
 console.log('Directory is removed'); 
});