Master Interviews
Anywhere, Anytime
Get the Preplance app for a seamless learning experience. Practice offline, get daily streaks, and stay ahead with real-time interview updates.
Get it on
Google Play
4.9/5 Rating on Store
Get the Preplance app for a seamless learning experience. Practice offline, get daily streaks, and stay ahead with real-time interview updates.
Get it on
Google Play
4.9/5 Rating on Store
Node Js · Complete Question Bank
Practice the complete collection of Node Js interview questions including theory, coding, MCQs and real interview problems.
Questions
143
Full database
Topics
61
Categorised
Difficulty
Mixed Levels
Easy Hard
Scroll through every important Node Js question asked in real interviews. Includes MCQs, subjective questions, and coding prompts.
Browse more Node Js questions, explore related subjects, or practice full interview sets to strengthen your preparation.
fs.readFile('file.txt', (err, data) => { if (err) throw err; console.log(data.toString()); });npm install express
const fs = require('fs');
const data = fs.readFileSync('file.txt');// math.js
module.exports.add = (a,b)=>a+b;
// app.js
const math=require('./math');
console.log(math.add(2,3));process.nextTick(()=>console.log('Next Tick'));
setImmediate(()=>console.log('Immediate'));const EventEmitter=require('events');
const emitter=new EventEmitter();
emitter.on('greet',()=>console.log('Hello!'));
emitter.emit('greet');{ "name": "my-app", "dependencies": { "express": "^4.18.0" } }const url=require('url');
const q=url.parse('https://example.com/home?id=10',true);
console.log(q.host, q.query.id);const express=require('express');
const app=express();
app.get('/',(req,res)=>res.send('Hello World'));
app.listen(3000);const fs=require('fs');
fs.createReadStream('input.txt').pipe(fs.createWriteStream('output.txt'));npm install express npm update express npm uninstall express
const http=require('http');
http.createServer((req,res)=>{
res.write('Hello World');
res.end();
}).listen(8080);async function getData(){
const res=await fetch('https://api.com');
const data=await res.json();
console.log(data);
}const { fork, spawn } = require('child_process');
const child = fork('worker.js'); // new Node process
const run = spawn('ls', ['-lh']); // system commandconst buf = Buffer.from('Hello');
console.log(buf.toString());const fs = require('fs');
fs.createReadStream('input.txt').pipe(fs.createWriteStream('output.txt'));const fs = require('fs');
fs.open('example.txt', 'r', (err, fd) => {
if (err) throw err;
console.log('File opened successfully');
});// Callback Hell Example
fs.readFile('a.txt', () => {
fs.readFile('b.txt', () => {
fs.readFile('c.txt', () => {
console.log('done');
});
});
});app.use((req,res,next)=>{
console.log('Request Time:', Date.now());
next();
});const { MongoClient } = require('mongodb');
const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri);
await client.connect();
console.log('Connected to MongoDB');if(process.env.NODE_ENV==='production'){console.log('Running in production');}setTimeout(()=>console.log('Timeout'),1000);
setImmediate(()=>console.log('Immediate'));
process.nextTick(()=>console.log('Next Tick'));function greet(){return 'Hello';}
function run(fn){console.log(fn());}
run(greet);npm install express npm list --depth=0
const { fork } = require('child_process');
const worker = fork('worker.js');
worker.on('message', msg => console.log('Message:', msg));// math.js
module.exports.add=(a,b)=>a+b;
// app.js
const { add }=require('./math');
console.log(add(2,3));// Sync
const fs=require('fs');
fs.readFileSync('file.txt');
// Async
fs.readFile('file.txt',()=>console.log('Done'));async function loadData(){
try{
const res=await fetch('https://api.com');
const data=await res.json();
console.log(data);
}catch(err){console.error(err);}
}const assert = require('assert');
assert.strictEqual(2 + 2, 4);const connect = require('connect');
const app = connect();
app.use((req,res)=>{res.end('Hello Connect');});
app.listen(3000);const { Worker } = require('worker_threads');
new Worker('./task.js');const cluster=require('cluster');
const http=require('http');
if(cluster.isPrimary){for(let i=0;i<4;i++)cluster.fork();}
else{http.createServer((req,res)=>res.end('Hello')).listen(3000);}console.time('fetch');
await fetch('https://api.com');
console.timeEnd('fetch');const crypto=require('crypto');
const hash=crypto.createHash('sha256').update('secret').digest('hex');
console.log(hash);app.get('/users',(req,res)=>res.send('List'));
app.post('/users',(req,res)=>res.send('Created'));const mongoose=require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydb');const dns=require('dns');
dns.lookup('google.com',(err,address)=>console.log(address));const https=require('https');
const fs=require('fs');
const opts={key:fs.readFileSync('key.pem'),cert:fs.readFileSync('cert.pem')};
https.createServer(opts,(req,res)=>res.end('Secure!')).listen(443);const passport=require('passport');
app.post('/login',passport.authenticate('local'),(req,res)=>res.send('Logged in'));const punycode=require('punycode/');
console.log(punycode.encode('mañana'));node inspect index.js // open chrome://inspect for debugging
fs.createReadStream('large.txt').pipe(fs.createWriteStream('copy.txt'));const fs=require('fs');
fs.stat('file.txt',(err,stats)=>console.log(stats.size));app.use((err,req,res,next)=>{
console.error(err.stack);
res.status(500).send('Something broke!');
});try {
const data = await getData();
} catch (err) {
console.error('Error fetching data', err);
}const winston = require('winston');
const logger = winston.createLogger({ level:'info', transports:[ new winston.transports.Console() ] });
logger.info('Server started');require('dotenv').config();
const dbUrl = process.env.DATABASE_URL;const assert=require('assert');
describe('Array',()=>{
it('should return -1 when value not found',()=>{
assert.equal([1,2,3].indexOf(4),-1);
});
});test('adds 2 + 2',()=>{
expect(2+2).toBe(4);
});pm2 start app.js --name myapp pm2 logs myapp
pm2 start app.js -i max pm2 monit
process.on('SIGINT',()=>{
server.close(()=>{
console.log('Server closed gracefully');
process.exit(0);
});
});const cache=new Map();
function getUser(id){
if(cache.has(id)) return cache.get(id);
const user=db.find(id);
cache.set(id,user);
return user;
}import rateLimit from 'express-rate-limit';
const limiter=rateLimit({windowMs:60000,max:100});
app.use(limiter);fs.createReadStream('video.mp4').pipe(res);import cluster from 'cluster';
import os from 'os';
if(cluster.isPrimary){os.cpus().forEach(()=>cluster.fork());}import multer from 'multer';
const upload=multer({dest:'uploads/'});
app.post('/upload',upload.single('file'),(req,res)=>res.send('Uploaded'));import jwt from 'jsonwebtoken';
const token = jwt.sign({id:1},'secret',{expiresIn:'1h'});
const decoded = jwt.verify(token,'secret');import compression from 'compression'; app.use(compression());
FROM node:18 WORKDIR /app COPY . . RUN npm install CMD ['npm','start']
node > let x = 10; x * 2 20
setTimeout(()=>console.log('After delay'),1000);
setImmediate(()=>console.log('Next phase'));const buf = Buffer.from('Hello');
console.log(buf.toString());const util=require('util');
const wait=util.promisify(setTimeout);
await wait(1000);const dns=require('dns');
dns.lookup('google.com',(err,addr)=>console.log(addr));const redis=require('redis');
const client=redis.createClient();
client.set('user','John');const WebSocket=require('ws');
const wss=new WebSocket.Server({port:8080});
wss.on('connection',ws=>ws.send('Connected!'));const cors=require('cors');
app.use(cors({origin:'*'}));const tls=require('tls');
const server=tls.createServer({key,cert},()=>console.log('TLS Active'));console.log(process.argv.slice(2)); // node app.js arg1 arg2
Correct Answer: V8
Correct Answer: Single-threaded non-blocking
Correct Answer: require()
Correct Answer: Node Package Manager
Correct Answer: fs
Correct Answer: http.createServer()
Correct Answer: They store binary data
Correct Answer: Asynchronous
Correct Answer: They improve performance by handling multiple tasks
Correct Answer: A value that will be resolved later
Correct Answer: child_process
Correct Answer: To enable multi-core scaling
Correct Answer: Duplex
Correct Answer: Request and Response objects
Correct Answer: helmet
Correct Answer: Cross-Origin Resource Sharing
Correct Answer: NODE_ENV
Correct Answer: events
Correct Answer: Read Eval Print Loop
Correct Answer: package.json
Correct Answer: DELETE