NestJS 中如何用 onModuleDestroy 等钩子实现数据库连接的优雅关闭?
NestJS 中如何用 onModuleDestroy 等钩子实现数据库连接的优雅关闭? 本文先给出可直接复述的结论,再用最小代码说明NestJS onModuleDestroy 优雅关闭 enableShutdownHooks的工作方式、判断依据、项目边界和常见误区。
程序员面试题库第 54 页,收录第 2651–2700 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
NestJS 中如何用 onModuleDestroy 等钩子实现数据库连接的优雅关闭? 本文先给出可直接复述的结论,再用最小代码说明NestJS onModuleDestroy 优雅关闭 enableShutdownHooks的工作方式、判断依据、项目边界和常见误区。
NestJS 的 onModuleInit 和 onApplicationBootstrap 分别在什么时机触发? 本文先给出可直接复述的结论,再用最小代码说明NestJS 生命周期 onModuleInit onApplicationBootstrap的工作方式、判断依据、项目边界和常见误区。
NestJS 中间件无法拿到路由处理器的哪些信息,导致应改用拦截器? 本文先给出可直接复述的结论,再用最小代码说明NestJS 中间件 拦截器 执行时机 ExecutionContext的工作方式、判断依据、项目边界和常见误区。
解释NestJS中imports、providers、exports的协作规则:Provider默认私有,必须导出才能被其他模块注入。通过机制说明、具体场景和边界条件,帮助理解模块作用域与依赖可见性。
NestJS 中模块可以再导出另一个模块吗?这样做意味着什么? 本文先给出可直接复述的结论,再用最小代码说明NestJS 模块 re-export 再导出的工作方式、判断依据、项目边界和常见误区。
NestJS 的 ModuleRef 如何在运行时动态获取 Provider 实例? 本文先给出可直接复述的结论,再用最小代码说明NestJS ModuleRef 动态获取 Provider的工作方式、判断依据、项目边界和常见误区。
NestJS 中如何用 @Optional() 处理可能不存在的依赖? 本文先给出可直接复述的结论,再用最小代码说明NestJS @Optional 可选依赖的工作方式、判断依据、项目边界和常见误区。
NestJS 管道的验证与数据转换两类职责分别如何实现? 本文先给出可直接复述的结论,再用最小代码说明NestJS Pipe 管道 验证 转换的工作方式、判断依据、项目边界和常见误区。
NestJS 支持属性注入吗?与构造函数注入相比应如何选择? 本文先给出可直接复述的结论,再用最小代码说明NestJS 属性注入 构造函数注入 区别的工作方式、判断依据、项目边界和常见误区。
NestJS Provider 的 DEFAULT、REQUEST、TRANSIENT 三种作用域有什么区别? 本文先给出可直接复述的结论,再用最小代码说明NestJS Provider 作用域 REQUEST TRANSIENT的工作方式、判断依据、项目边界和常见误区。
为什么 NestJS 中请求作用域的 Provider 会影响整个依赖链的性能? 本文先给出可直接复述的结论,再用最小代码说明NestJS request scope 性能影响 冒泡的工作方式、判断依据、项目边界和常见误区。
NestJS 如何用 Reflector 配合元数据实现基于角色的 RBAC 守卫? 本文先给出可直接复述的结论,再用最小代码说明NestJS RBAC Roles Guard Reflector的工作方式、判断依据、项目边界和常见误区。
NestJS 测试中如何 overrideGuard 绕过认证以专注业务逻辑测试? 本文先给出可直接复述的结论,再用最小代码说明NestJS 测试 overrideGuard 绕过守卫的工作方式、判断依据、项目边界和常见误区。
NestJS 单元测试中如何用 overrideProvider 替换掉真实的数据库服务? 本文先给出可直接复述的结论,再用最小代码说明NestJS 测试 overrideProvider mock的工作方式、判断依据、项目边界和常见误区。
NestJS 请求作用域的 Provider 在测试中如何被 mock? 本文先给出可直接复述的结论,再用最小代码说明NestJS 测试 request scoped provider mock的工作方式、判断依据、项目边界和常见误区。
NestJS 单元测试与 E2E 测试在 TestingModule 搭建上有什么关键差异? 本文先给出可直接复述的结论,再用最小代码说明NestJS 单元测试 E2E 测试 TestingModule的工作方式、判断依据、项目边界和常见误区。
NestJS 中的依赖注入机制是如何工作的? 本文先给出可直接复述的结论,再用最小代码说明NestJS 依赖注入 IoC 容器的工作方式、判断依据、项目边界和常见误区。
TLS 的 ALPN 扩展起什么作用,它和 HTTP/2 的协商有什么关系? 本文先给出可直接复述的结论,再用最小代码说明ALPN 协议协商 HTTP/2的工作方式、判断依据、项目边界和常见误区。
ALPN 和 SNI 都是 TLS ClientHello 的扩展,它们解决的问题有何本质区别? 本文先给出可直接复述的结论,再用最小代码说明ALPN SNI 区别的工作方式、判断依据、项目边界和常见误区。
证书透明(Certificate Transparency)是什么,它如何帮助发现被错误签发的证书? 本文先给出可直接复述的结论,再用最小代码说明证书透明 CT 日志的工作方式、判断依据、项目边界和常见误区。
DNS 中 A 记录和 CNAME 记录有什么区别,为什么根域名通常不能直接使用 CNAME? 本文先给出可直接复述的结论,再用最小代码说明DNS A记录 CNAME 区别 根域名的工作方式、判断依据、项目边界和常见误区。
DNS 的 CAA 记录起什么作用,它如何降低证书被错误签发的风险? 本文先给出可直接复述的结论,再用最小代码说明DNS CAA记录 证书签发限制的工作方式、判断依据、项目边界和常见误区。
本题讲清 DNS 缓存的三个层级:浏览器内存缓存、操作系统缓存、递归解析器缓存的查询顺序、各自作用与 TTL 失效边界,并给出改 DNS 不生效时的逐层排查方法。
DNS 如何配合 CDN 实现按地理位置返回不同 IP,这种调度有什么局限? 本文先给出可直接复述的结论,再用最小代码说明DNS CDN 智能解析 负载均衡的工作方式、判断依据、项目边界和常见误区。
怀疑 DNS 被劫持或污染时,如何用 dig 等工具定位问题出在哪一环? 本文先给出可直接复述的结论,再用最小代码说明DNS 劫持 污染 诊断 dig的工作方式、判断依据、项目边界和常见误区。
网页加载中 DNS 查询会带来多少延迟,前端可以用哪些手段减少解析开销? 本文先给出可直接复述的结论,再用最小代码说明DNS 查询延迟 dns-prefetch preconnect的工作方式、判断依据、项目边界和常见误区。
DNS 的否定缓存(negative caching)是什么,为什么查询不存在的域名也会被缓存? 本文先给出可直接复述的结论,再用最小代码说明DNS 否定缓存 NXDOMAIN的工作方式、判断依据、项目边界和常见误区。
DNS over HTTPS(DoH)解决了什么问题,它和传统 DNS 查询在链路上有何不同? 本文先给出可直接复述的结论,再用最小代码说明DNS over HTTPS DoH 加密的工作方式、判断依据、项目边界和常见误区。
修改 DNS 记录后为什么不会立即全球生效,如何缩短切换时间? 本文先给出可直接复述的结论,再用最小代码说明DNS 生效时间 传播 缓存的工作方式、判断依据、项目边界和常见误区。
DNS 域名解析的完整过程是怎样的,递归查询和迭代查询有什么区别? 本文先给出可直接复述的结论,再用最小代码说明DNS 解析过程 递归 迭代的工作方式、判断依据、项目边界和常见误区。
什么是 Split-horizon DNS(内外网分离解析),企业内网为什么要用它? 本文先给出可直接复述的结论,再用最小代码说明Split DNS 内外网分离解析的工作方式、判断依据、项目边界和常见误区。
DNS 的 MX 记录和 SRV 记录分别解决什么问题,与 A 记录的定位方式有何不同? 本文先给出可直接复述的结论,再用最小代码说明DNS MX记录 SRV记录的工作方式、判断依据、项目边界和常见误区。
DNS 记录中的 TTL 起什么作用,TTL 设置过长或过短分别带来什么问题? 本文先给出可直接复述的结论,再用最小代码说明DNS TTL 缓存时间 权衡的工作方式、判断依据、项目边界和常见误区。
DNS 查询什么时候用 UDP、什么时候会切换到 TCP? 本文先给出可直接复述的结论,再用最小代码说明DNS UDP TCP 切换 512字节的工作方式、判断依据、项目边界和常见误区。
HSTS 解决了什么问题,max-age、includeSubDomains 和 preload 各自有什么作用? 本文先给出可直接复述的结论,再用最小代码说明HSTS preload includeSubDomains的工作方式、判断依据、项目边界和常见误区。
把站点从 HTTP 迁移到 HTTPS 时,301 重定向和 HSTS 应如何配合设计,迁错会有什么后果? 本文先给出可直接复述的结论,再用最小代码说明HTTP 迁移 HTTPS 重定向 HSTS的工作方式、判断依据、项目边界和常见误区。
线上出现间歇性 TLS 握手失败,如何用 openssl s_client 和抓包定位是证书、协议版本还是 SNI 问题? 本文先给出可直接复述的结论,再用最小代码说明TLS 握手失败 排查 openssl s_client的工作方式、判断依据、项目边界和常见误区。
用户首次访问一个 HTTPS 站点时,从输入域名到加密连接建立,DNS 与 TLS 各自发生在哪个阶段? 本文先给出可直接复述的结论,再用最小代码说明HTTPS 建立连接 流程 DNS TLS的工作方式、判断依据、项目边界和常见误区。
HTTPS 页面加载 HTTP 资源的混合内容问题是什么,浏览器对主动与被动混合内容分别如何处理? 本文先给出可直接复述的结论,再用最小代码说明混合内容 mixed content 阻止的工作方式、判断依据、项目边界和常见误区。
明文 SNI 会泄露用户访问的域名,ECH(Encrypted Client Hello)如何缓解这个问题? 本文先给出可直接复述的结论,再用最小代码说明ESNI ECH SNI 加密的工作方式、判断依据、项目边界和常见误区。
TLS 中的 SNI 是什么,没有 SNI 会导致一台服务器托管多个 HTTPS 站点时出现什么问题? 本文先给出可直接复述的结论,再用最小代码说明SNI 虚拟主机 HTTPS的工作方式、判断依据、项目边界和常见误区。
SSL 剥离攻击是如何实现的,为什么仅靠 301 跳转到 HTTPS 不足以防御? 本文先给出可直接复述的结论,再用最小代码说明SSL 剥离 攻击 HSTS的工作方式、判断依据、项目边界和常见误区。
TLS 1.3 的 0-RTT 恢复为什么可能遭受重放攻击,什么请求适合用 0-RTT 发送? 本文先给出可直接复述的结论,再用最小代码说明TLS 0-RTT 重放攻击的工作方式、判断依据、项目边界和常见误区。
TLS 1.3 中基于 PSK 的会话恢复是如何实现的,相比 Session Ticket 有何变化? 本文先给出可直接复述的结论,再用最小代码说明TLS 1.3 PSK 会话恢复的工作方式、判断依据、项目边界和常见误区。
TLS 1.3 相比 TLS 1.2 在握手流程和安全性上做了哪些关键改进? 本文先给出可直接复述的结论,再用最小代码说明TLS 1.3 改进 握手 0-RTT的工作方式、判断依据、项目边界和常见误区。
如何用 ACME 协议(如 Let's Encrypt)实现证书自动签发与续期,DNS-01 和 HTTP-01 挑战有何区别? 本文先给出可直接复述的结论,再用最小代码说明ACME 证书自动签发续期 DNS-01 HTTP-01 区别的工作方式、判断依据、项目边界和常见误区。
TLS 证书链是什么,浏览器如何从服务器证书验证到受信任的根证书? 本文先给出可直接复述的结论,再用最小代码说明TLS 证书链 验证 根证书的工作方式、判断依据、项目边界和常见误区。
访问 https://example.com 时证书签发给 www.example.com 会怎样,证书中哪些字段参与域名校验? 本文先给出可直接复述的结论,再用最小代码说明证书 域名不匹配 CN SAN的工作方式、判断依据、项目边界和常见误区。
证书私钥泄露后如何吊销证书,CRL 和 OCSP 各自有什么缺点? 本文先给出可直接复述的结论,再用最小代码说明证书吊销 CRL OCSP的工作方式、判断依据、项目边界和常见误区。
浏览器提示证书不受信任可能有哪几类原因,如何分别排查? 本文先给出可直接复述的结论,再用最小代码说明证书不受信任 原因 排查的工作方式、判断依据、项目边界和常见误区。