3. Express / Koa 框架与中间件机制

中间件是 Node.js 后端框架的核心设计模式,面试中主要考察你对「洋葱模型」执行顺序的理解、Express 与 Koa 的设计差异,以及错误处理的闭环能力。以下先通过一张回答框架图建立结构化表达,再通过三个问答卡片拆解高频考点。

核心概念 定义与职责 执行流程 洋葱模型 框架对比 Koa vs Express 错误处理 全局捕获机制 实战要点 异步与性能 🧭 中间件面试回答框架:5 步递进 从定义 → 原理 → 对比 → 错误处理 → 实战,完整覆盖面试官考察链路
💡 面试策略:回答中间件问题时,先给出「定义」锚定概念,再用「洋葱模型」展示执行顺序,最后通过「框架对比」和「错误处理」体现深度。避免只背概念,要结合 async/await 和异常捕获讲出细节。
中间件错误处理 同步错误捕获 追问:try-catch 覆盖范围? 异步错误处理 追问:Promise 异常链断裂? 全局错误中间件 追问:4 参数签名 (err,req,res,next) 框架差异对比 追问:Koa 与 Express 错误链区别
⚠️ 避坑提醒:面试官通常在「同步 vs 异步错误处理」处设坑——如果你只说 try-catch 而忽略了 async 中间件的 catch 链,