Stop 23 · Interview PreparationTechnical · 1/8

Node.js, Express, Databases, APIs

Part of the Backend Developer Roadmap

In short

Most backend interviews start with your core stack: how Node handles requests, how Express middleware flows, how you'd query and index a table. Fluent answers here buy you trust for the harder rounds.

Being able to confidently explain and apply your core backend stack's fundamentals under interview pressure — not just use them, but explain why they work the way they do.

The purple blob in pads and helmet plays a shot in cricket practice nets.

Think of it like this

Batting practice in the nets

Before a match, batters face hundreds of balls in the nets until the basic shots happen without thinking. Core stack questions are those basic shots. Practise them out loud until the answers come as easily as a straight drive.

Watch it happen

"Walk me through a request in your Express app"

Request
Middleware
Router
Validate
Database
Response

1/6GET /users/7 reaches Node. The event loop hands it to Express without blocking other requests.

The big ideas

What you need to know

Node: one thread, non-blocking I/O

JavaScript runs on one thread. Database and network calls are handed off, so one slow query doesn't freeze everyone.

Express: middleware order matters

Middleware runs top to bottom. Body parsers before routes, error handlers with four arguments at the end.

Databases: indexes and transactions

Know when an index helps, how to read EXPLAIN, and why a transfer needs a transaction.

APIs: verbs, codes, versions

GET reads, POST creates, PUT replaces, PATCH updates. Use honest status codes and version breaking changes.

See it in code

Walk through the code

ts
1import express from "express";2const app = express();3app.use(express.json());4 5app.get("/users/:id", async (req, res) => {6  const user = await db.user.findUnique({ where: { id: req.params.id } });7  if (!user) return res.status(404).json({ error: "User not found" });8  res.json(user);9});10 11// Error middleware has 4 arguments. In Express 5, rejected promises land here too.12app.use((err: Error, req: express.Request, res: express.Response, next: express.NextFunction) => {13  console.error(err);14  res.status(500).json({ error: "Something went wrong" });15});16app.listen(3000);

1/3Parse JSON bodies before any route needs req.body.

Be ready to explain every line: why express.json comes first, why 404 is returned early, and why the error handler sits last.

Save yourself the pain

Common mistakes

Oops

Answering "Node is multi-threaded" or "Node is single-threaded, so it's slow".

Do this instead

Say: your JavaScript runs on one thread, while libuv and the OS handle I/O in the background, so Node handles many connections well.

Oops

Memorising definitions without examples from your own code.

Do this instead

Tie each answer to something you built: "In my URL shortener, I added an index on code because…".

Your mission

Core stack mock round

~40 min

Quick check

You put app.use(express.json()) after your routes. What happens to POST requests?

Go deeper

  1. 1Practice explaining the event loop, middleware order, and SQL vs NoSQL trade-offs out loud, from memory.
  2. 2Do a few live-coding practice sessions building a small API from scratch under time pressure.
  3. 3Review your weakest of these areas specifically — most candidates have one.

More technical at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge