Explain middleware in Express.
Assesses fundamental understanding of Node.js conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
Middleware are functions with the signature (req, res, next) that run in order and can inspect or modify the request/response, end the cycle, or pass control with next().
- Application-level: app.use(logger).
- Router-level: router.use(auth).
- Error-handling: four arguments (err, req, res, next), registered last.
- Built-in: express.json, express.static.
- Third-party: cors, helmet, morgan.
app.use((req, res, next) => {
req.startedAt = Date.now();
next();
});
app.use((err, req, res, next) => {
console.error(err);
res.status(500).json({ error: 'Internal error' });
});
Order matters: authentication and parsing must precede routes that depend on them.
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.