Node.js 中 Buffer 分配的内存归谁管理,为什么大量 Buffer 可能导致 RSS 高但堆不大?
Node.js 中 Buffer 分配的内存归谁管理,为什么大量 Buffer 可能导致 RSS 高但堆不大? 本文先给出可直接复述的结论,再用最小代码说明Node.js Buffer 堆外内存 RSS高堆不大的工作方式、判断依据、项目边界和常见误区。
Node.js · 服务端工程面试题第 1 页,显示第 1–42 题,共找到 42 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
Node.js 中 Buffer 分配的内存归谁管理,为什么大量 Buffer 可能导致 RSS 高但堆不大? 本文先给出可直接复述的结论,再用最小代码说明Node.js Buffer 堆外内存 RSS高堆不大的工作方式、判断依据、项目边界和常见误区。
Node.js 长驻服务中 setInterval 定时任务在模块重建或关闭时不清理会造成什么问题? 本文先给出可直接复述的结论,再用最小代码说明Node.js setInterval 不清理 clearInterval 问题的工作方式、判断依据、项目边界和常见误区。
Node.js HTTP 的 clientError 在什么阶段触发,监听后要负责什么? 本文先给出可直接复述的结论,再用最小代码说明Node.js server clientError 事件 HPE_INVALID的工作方式、判断依据、项目边界和常见误区。
Node.js 服务支持配置热更新时,哪些配置项可以安全热更、哪些必须重启进程? 本文先给出可直接复述的结论,再用最小代码说明Node.js 配置热更新 哪些必须重启的工作方式、判断依据、项目边界和常见误区。
在 Node.js 中为什么数据库访问必须使用连接池而不是每请求新建连接,池大小如何确定? 本文先给出可直接复述的结论,再用最小代码说明Node.js 数据库连接池必要性 池大小确定的工作方式、判断依据、项目边界和常见误区。
Node.js 生产服务中大量使用 console.log 可能带来哪些性能问题? 本文先给出可直接复述的结论,再用最小代码说明Node.js console.log 同步阻塞 性能问题的工作方式、判断依据、项目边界和常见误区。
Node.js 服务 CPU 飙高时,如何不重启进程通过 inspector 信号或 --cpu-prof 采集 CPU profile? 本文先给出可直接复述的结论,再用最小代码说明Node.js CPU飙高 --cpu-prof 在线采集的工作方式、判断依据、项目边界和常见误区。
Node.js 的 diagnostics_channel 模块如何用于在不侵入业务代码的情况下做请求链路埋点? 本文先给出可直接复述的结论,再用最小代码说明Node.js diagnostics_channel 无侵入埋点的工作方式、判断依据、项目边界和常见误区。
Node.js 的 domain 模块为什么被废弃,现在用什么机制做请求级错误上下文传播? 本文先给出可直接复述的结论,再用最小代码说明Node.js domain 废弃 AsyncLocalStorage 替代的工作方式、判断依据、项目边界和常见误区。
Node.js 服务的配置为什么推荐通过环境变量注入,如何用 process.env 做带校验与默认值的配置加载? 本文先给出可直接复述的结论,再用最小代码说明Node.js 环境变量配置 process.env 校验默认值的工作方式、判断依据、项目边界和常见误区。
Node.js 的 MaxListenersExceededWarning 警告出现说明什么,真的是内存泄漏吗? 本文先给出可直接复述的结论,再用最小代码说明Node.js MaxListenersExceededWarning 是否内存泄漏的工作方式、判断依据、项目边界和常见误区。
Node.js 如何度量事件循环延迟(event loop lag),该指标升高说明服务出了什么问题? 本文先给出可直接复述的结论,再用最小代码说明Node.js event loop lag 度量 升高原因的工作方式、判断依据、项目边界和常见误区。
Node.js 服务进程退出码(0/1 及 process.exitCode 与 process.exit())应该如何规范使用? 本文先给出可直接复述的结论,再用最小代码说明Node.js 退出码 exitCode 与 process.exit 规范的工作方式、判断依据、项目边界和常见误区。
在 Express 4 中如何为所有异步路由统一建立错误边界而不漏掉 Promise 拒绝? 本文先给出可直接复述的结论,再用最小代码说明Express 4 异步路由统一错误边界的工作方式、判断依据、项目边界和常见误区。
Express 的错误处理中间件为什么必须是四个参数,异步路由抛错为何不会自动进入它? 本文先给出可直接复述的结论,再用最小代码说明Express 错误中间件 四参数 异步错误捕获的工作方式、判断依据、项目边界和常见误区。
Node.js 收到 SIGTERM 后怎样设计有截止时间的优雅停机? 本文先给出可直接复述的结论,再用最小代码说明Node.js SIGTERM graceful shutdown 优雅停机的工作方式、判断依据、项目边界和常见误区。
Node.js 进程句柄(handle)泄漏导致无法退出,如何用 process._getActiveHandles 或 why-is-node-running 思路定位? 本文先给出可直接复述的结论,再用最小代码说明Node.js 进程不退出 active handles 排查的工作方式、判断依据、项目边界和常见误区。
Node.js 服务的 liveness 与 readiness 健康检查接口应该分别检查什么,为什么不能混用? 本文先给出可直接复述的结论,再用最小代码说明Node.js liveness readiness 健康检查设计的工作方式、判断依据、项目边界和常见误区。
Node.js 出站 HTTP 请求如何通过 http.Agent 的 keepAlive 与 maxSockets 实现连接复用与并发限制? 本文先给出可直接复述的结论,再用最小代码说明Node.js http.Agent keepAlive maxSockets 连接复用的工作方式、判断依据、项目边界和常见误区。
Node.js 的 keepAliveTimeout、headersTimeout 和 requestTimeout 怎样区分? 本文先给出可直接复述的结论,再用最小代码说明Node.js keepAliveTimeout headersTimeout 设置的工作方式、判断依据、项目边界和常见误区。
Node.js 实现静态资源服务时如何正确响应 Range 请求头(206/416)? 本文先给出可直接复述的结论,再用最小代码说明Node.js Range 请求 206 Content-Range 实现的工作方式、判断依据、项目边界和常见误区。
解释请求体应在读取时累计真实字节,区分 Content-Length 提前拒绝、分块传输、UTF-8 字节数和解压上限,提供可测试预算函数,并说明 413 与 socket 关闭的协调。
Node.js 的 close、closeIdleConnections 和 closeAllConnections 有何区别? 本文先给出可直接复述的结论,再用最小代码说明Node.js server.close closeAllConnections closeIdleConnections 区别的工作方式、判断依据、项目边界和常见误区。
Node.js HTTP 监听失败的 EADDRINUSE、EACCES 应怎样处理? 本文先给出可直接复述的结论,再用最小代码说明Node.js http server error 事件 EADDRINUSE 处理的工作方式、判断依据、项目边界和常见误区。
Node.js HTTP 服务器的 timeout、requestTimeout 设置为 0 与有限值分别意味着什么? 本文先给出可直接复述的结论,再用最小代码说明Node.js server timeout requestTimeout 为0含义的工作方式、判断依据、项目边界和常见误区。
Node.js 中 http2 模块与 http/1.1 服务在多路复用与连接管理上有哪些工程差异,什么时候选 HTTP/2? 本文先给出可直接复述的结论,再用最小代码说明Node.js http2 与 http1 服务端差异 选型的工作方式、判断依据、项目边界和常见误区。
Node.js 通过 server.maxHeadersCount 或 --max-http-header-size 防护了什么攻击,调大会有什么后果? 本文先给出可直接复述的结论,再用最小代码说明Node.js max-http-header-size 防护攻击 调大风险的工作方式、判断依据、项目边界和常见误区。
Node.js 的 --max-old-space-size 应该根据什么设定,容器内存限制下为什么要显式配置? 本文先给出可直接复述的结论,再用最小代码说明Node.js --max-old-space-size 容器内存设置的工作方式、判断依据、项目边界和常见误区。
Node.js 服务内存持续上涨时,如何借助 --heapsnapshot-signal 或 heapdump 对比快照定位泄漏对象? 本文先给出可直接复述的结论,再用最小代码说明Node.js 内存泄漏 heap snapshot 对比定位的工作方式、判断依据、项目边界和常见误区。
Node.js 中 NODE_ENV=production 到底改变了什么,框架与依赖库据此做了哪些不同行为? 本文先给出可直接复述的结论,再用最小代码说明NODE_ENV=production 改变了什么的工作方式、判断依据、项目边界和常见误区。
Node.js 服务出现请求排队但 CPU 很低,如何判断是数据库连接池耗尽并处理? 本文先给出可直接复述的结论,再用最小代码说明Node.js 连接池耗尽诊断 CPU低请求排队的工作方式、判断依据、项目边界和常见误区。
Node.js 进程中 SIGINT、SIGTERM、SIGHUP、SIGKILL 的默认行为分别是什么,哪些不能被捕获? 本文先给出可直接复述的结论,再用最小代码说明Node.js process signal SIGINT SIGTERM 默认行为的工作方式、判断依据、项目边界和常见误区。
Node.js 中为什么请求处理时 req 与 res 上的 error 事件都要监听,漏掉会怎样? 本文先给出可直接复述的结论,再用最小代码说明Node.js req res error 事件 漏监听后果的工作方式、判断依据、项目边界和常见误区。
Node.js 服务返回大文件时为什么不能 readFile 进内存再 res.end,正确做法是什么? 本文先给出可直接复述的结论,再用最小代码说明Node.js 大文件响应 createReadStream 流式的工作方式、判断依据、项目边界和常见误区。
Node.js 的 process.memoryUsage() 中 rss、heapTotal、heapUsed、external 各自含义及排查内存问题时看哪个? 本文先给出可直接复述的结论,再用最小代码说明Node.js memoryUsage rss heapUsed external 含义的工作方式、判断依据、项目边界和常见误区。
Node.js 服务管理密钥(数据库密码等)时为什么不能写进代码或镜像,推荐的注入与访问方式是什么? 本文先给出可直接复述的结论,再用最小代码说明Node.js 密钥管理 注入方式 防泄漏的工作方式、判断依据、项目边界和常见误区。
Node.js 中 socket.end() 与 socket.destroy() 的区别是什么,回收连接时该用哪个? 本文先给出可直接复述的结论,再用最小代码说明Node.js socket.end 与 destroy 区别的工作方式、判断依据、项目边界和常见误区。
Node.js 中为什么推荐用 stream.pipeline 串联流而不是手工 pipe,背压在服务端防内存暴涨中起什么作用? 本文先给出可直接复述的结论,再用最小代码说明Node.js stream.pipeline 背压 防内存暴涨的工作方式、判断依据、项目边界和常见误区。
Node.js 服务端为什么应输出结构化 JSON 日志而不是拼字符串,关键字段有哪些? 本文先给出可直接复述的结论,再用最小代码说明Node.js 结构化日志 JSON 关键字段的工作方式、判断依据、项目边界和常见误区。
解释未捕获异常为何可能留下部分修改状态,区分业务错误边界、uncaughtException 和只观察的 Monitor,给出独立崩溃示例及外部重启、最小同步诊断的处理原则。
逐项解释未处理 Promise 拒绝的五种 Node.js 模式,区分 throw 与 strict 的事件顺序、警告与退出码,以及监听器对行为的影响,提供独立进程验证方法。
Node.js 的 worker_threads 池大小应该如何确定,线程间通信成本如何影响设计? 本文先给出可直接复述的结论,再用最小代码说明Node.js worker_threads 池大小 通信成本的工作方式、判断依据、项目边界和常见误区。