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.

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"
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
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
Quick check
You put app.use(express.json()) after your routes. What happens to POST requests?
Go deeper
- 1Practice explaining the event loop, middleware order, and SQL vs NoSQL trade-offs out loud, from memory.
- 2Do a few live-coding practice sessions building a small API from scratch under time pressure.
- 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.