Skip to content

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.

20–30 minEstimated6 questionsTailored live12 model answersTo study
  • Voice interview
  • Live feedback
  • Browser-only
  • No installation required

Your report · sample

AI Readiness Score

/100
Content score English 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.

  1. Step 01

    Preparation

    Skim the topics and warm up — you're briefed before takeoff.

  2. Step 02

    AI Interview

    A realistic AI interviewer asks tailored questions — answer by voice or text.

  3. Step 03

    Instant Score

    Finish and get a 0–100 readiness score across content and English.

  4. Step 04

    AI Feedback

    Concrete tips and a rewritten model answer for every response.

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

aevrofy.com/session · live demoPlaying

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?

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?

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?

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?

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?

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?

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'?

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?

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?

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?

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?

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?

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

Aevrofy · Node.js beginner interview prep