Boarding pass · Node.js Beginner
Node.js · Beginner interview
An AI mock interview for developers new to Node.js (0–2 years). Practise the runtime model, modules and npm, asynchronous basics, and building a simple HTTP API — out loud, with a readiness score.
- Voice interview
- Live feedback
- Browser-only
- No installation required
Your report · sample
AI Readiness Score
Finish the mock and get this report — scored on content and English, with concrete tips and a model answer for every question, plus a study plan.
Your flight path
Five steps to interview-ready.
From a quick warm-up to a personalised study plan — here's the whole loop, and what you get at each gate.
Step 01
Preparation
Skim the topics and warm up — you're briefed before takeoff.
Step 02
AI Interview
A realistic AI interviewer asks tailored questions — answer by voice or text.
Step 03
Instant Score
Finish and get a 0–100 readiness score across content and English.
Step 04
AI Feedback
Concrete tips and a rewritten model answer for every response.
Step 05
Study Plan
A personalised plan targets your weakest areas — so the next run scores higher.
Preview the AI demo
See one answer scored, end to end.
The whole loop on sample data — question, your answer, instant feedback and a study plan. Hover to pause.
Interviewer · Question 1
“Tell me about yourself.”
Who it's for
- Developers new to Node.js
- Frontend devs moving to the backend
- Anyone targeting junior Node roles
- Self-taught devs prepping for interviews
What you'll practice
- Explaining what Node is and when to use it
- CommonJS vs ES modules and npm
- Callbacks, promises and async/await
- Building a basic HTTP server and Express app
Topics covered
What this level expects.
Core & runtime
- What Node is
- Single-threaded model
- Node vs browser
Modules & npm
- require / import
- package.json
- npm & node_modules
Async basics
- Callbacks
- Promises & async/await
- Sync vs async APIs
HTTP & APIs
- http server
- Express
- Middleware
Practice questions
12 questions, with model answers.
Read them, then run the live mock to answer out loud and get scored. Tap any question to reveal a model answer.
01What is Node.js and what is it used for?Core & runtime
Node.js is a runtime that lets you run JavaScript outside the browser, built on Chrome's V8 engine. It's event-driven and non-blocking, which makes it well suited to I/O-heavy services — REST and GraphQL APIs, real-time apps, CLIs, and tooling. You'd reach for it when you want one language across the stack and high throughput on I/O rather than CPU-bound work.
02Is Node single-threaded? How does it handle many requests at once?Core & runtime
Your JavaScript runs on a single main thread, but Node isn't purely single-threaded: I/O is delegated to libuv, which uses the OS and a small thread pool, and results come back via the event loop. So while one request waits on the database, the single thread is free to handle others. It scales well for I/O, but CPU-heavy work blocks that one thread and hurts everyone.
03What's different about running JavaScript in Node versus the browser?Core & runtime
There's no DOM, window, or document in Node, and no direct user UI. Instead you get server APIs — the filesystem, networking, processes, and modules like fs, http, and path — plus globals like process and Buffer. The browser sandboxes you for safety; Node gives you access to the machine.
04What's the difference between CommonJS require and ES module import?Modules & npm
CommonJS (require / module.exports) is Node's original module system: synchronous and the default in .cjs or plain .js without "type": "module". ES modules (import / export) are the standard, support static analysis and top-level await, and are enabled by "type": "module" or .mjs files. The main practical differences are syntax, that ESM is asynchronous, and that you can't use require and import interchangeably without care.
// CommonJS
const fs = require("fs");
module.exports = doThing;
// ES modules
import fs from "fs";
export default doThing;05What is package.json, and what's the difference between dependencies and devDependencies?Modules & npm
package.json is the manifest for a Node project — its name, version, scripts, and the packages it needs. dependencies are required at runtime in production (e.g. express); devDependencies are only needed while developing or building (e.g. typescript, eslint, test runners) and are skipped with npm install --production. Keeping them separated keeps production installs lean.
06What is npm, and what is package-lock.json for?Modules & npm
npm is Node's package manager and registry — it installs dependencies into node_modules and runs scripts. package-lock.json records the exact resolved version of every package (including nested ones) so installs are reproducible across machines and CI; you commit it. node_modules itself is generated and gitignored.
07What are callbacks, and what is 'callback hell'?Async basics
A callback is a function you pass to an async operation to run when it finishes. Callback hell is the deeply nested, hard-to-read pyramid you get when callbacks depend on each other, which also makes error handling repetitive. Promises and async/await were introduced to flatten that nesting.
08How do promises and async/await improve asynchronous code?Async basics
A promise represents a value that will exist later and can be chained with .then/.catch instead of nesting callbacks. async/await is syntax on top of promises that lets you write asynchronous code that reads top-to-bottom, with normal try/catch for errors. It's the same machinery — await just pauses the function until the promise settles.
async function load(id) {
try { return await db.user(id); }
catch (e) { logError(e); throw e; }
}09What's the difference between fs.readFile and fs.readFileSync?Async basics
fs.readFileSync is blocking: it stops the single thread until the file is read, which is fine in a startup script but bad in a server because it freezes all other requests. fs.readFile is non-blocking: it returns immediately and delivers the result via a callback or promise, letting the event loop keep serving other work. Prefer the async versions in anything that handles concurrent requests.
10How do you create a simple HTTP server in Node?HTTP & APIs
Use the built-in http module: createServer takes a handler that receives the request and response, and you call listen on a port. For real apps most people use a framework like Express on top of this, but the core module is what's underneath.
const http = require("http");
http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello");
}).listen(3000);11What is Express and why would you use it?HTTP & APIs
Express is a minimal web framework for Node that adds routing, middleware, and convenient request/response helpers over the raw http module. You use it because it removes the boilerplate of parsing URLs, handling methods, and wiring up middleware, letting you define routes like app.get('/users', handler) cleanly.
12What is middleware in Express?HTTP & APIs
Middleware are functions that run in order during a request, each receiving (req, res, next). They can read or modify the request and response, end the response, or call next() to pass control along. They're how you add cross-cutting behaviour like logging, body parsing, authentication, and error handling.
app.use((req, res, next) => { console.log(req.method, req.url); next(); });Preparation tips
Walk in ready.
- Build a small REST API with Express
- Be able to explain the event loop in one sentence
- Practise converting a callback to async/await
- Know the difference between dependencies and devDependencies
Ready for the real thing?
Run a 6-question Node.js mock interview, answer out loud, and get a readiness score with tips and model answers.
More beginner interviews