没有注册任何错误处理中间件时 Express 的内置默认错误处理器会做什么?
围绕“没有注册任何错误处理中间件时 Express 的内置默认错误处理器会做什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明默认返回 HTML、开发环境带堆栈而 NODE_ENV=production 隐藏堆栈,以及 headers 已发送时会委托关闭。
核心关键词Express 默认错误处理器 stack trace
全栈开发 · 可观测性面试题第 1 页,显示第 1–5 题,共找到 5 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“没有注册任何错误处理中间件时 Express 的内置默认错误处理器会做什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明默认返回 HTML、开发环境带堆栈而 NODE_ENV=production 隐藏堆栈,以及 headers 已发送时会委托关闭。
本题解释 Express 中间件未发响应也未调用 next() 的后果:请求挂起、连接占用、客户端超时。给出用日志分段和超时护栏定位卡住环节的排查方法,并强调中间件每个分支必须终结请求或移交控制权。
围绕“如何设计带 status 属性的自定义错误类,让 Express 错误处理中间件统一映射 HTTP 状态码”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出错误类携带 status/暴露 flag 的设计、中间件按属性决定响应与日志级别的判定逻辑,不讲具体日志库。
围绕“Express 的 app.set('trust proxy') 解决什么问题,错误配置会导致什么安全风险”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明开启后 req.ip 取自 X-Forwarded-For、供限流/日志用,但轻信不可信来源会让客户端伪造 IP 绕过限流,不讲。
围绕“NestJS 拦截器适合实现日志耗时统计与响应缓存的理由是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖从横切关注点角度说明为何选拦截器而非管道或守卫。