news 2026/10/14 7:51:56

ASP.NET Core面试八股:依赖注入生命周期与坑点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ASP.NET Core面试八股:依赖注入生命周期与坑点

ASP.NET Core 面试八股,在 .NET 圈子里是个绕不开的话题。先讲个结论:我和不少做技术负责人、做架构师的朋友聊过,大家面试时并不指望你把概念背得一字不差,而是希望从这些高频题里听出你真正写过、踩过坑、思考过“为什么”。这篇文章算是把我在面试中常被问到、也常拿来问别人的一批 ASP.NET Core 高频题整理成精简版,每道题都给出可以直接输出的标准答案要点,再补上一些代码里才见得到的代价。适合正在准备 .NET 岗位面试的开发者,也适合想系统性查缺补漏的初级、中级后端工程师,看完你可以直接拿去对照自己的回答,不用抱着几百页文档啃。

之所以说是“精简版”,是因为这里的每一题都不是让你背的,而是帮你在面试时快速抓住题眼。面试官追问才是分水岭,所以我在每道题的答案后面会附上“为什么这么答”的说明和常见扩展追问方向,这部分往往才是真正拉开差距的地方。

1. 生命周期三兄弟:面试官绕不开的第一个大坑

1.1 AddSingleton、AddScoped、AddTransient 到底怎么答

这是 .NET 面试中出现频率几乎百分之百的题。标准答案很多人会背:Singleton 是单例,整个应用生命周期只有一个实例;Scoped 是作用域,每个请求一个实例;Transient 是瞬态,每次获取都会创建新实例。但面试官真正想听的是后面那句:你用它们的时候有没有吃过亏。

我建议的回答框架是这样的:

  • 先给出三者的注册方式和典型用途:DbContext 默认用 Scoped,因为一个请求内的数据操作应该共享同一个上下文;配置类、日志 Provider 这类无状态组件适合 Singleton;轻量级、短生命周期的服务适合 Transient。
  • 然后主动提到Captive Dependency(被捕获的依赖)问题:Singleton 不能注入 Scoped 或 Transient 服务。这是因为 Singleton 实例一旦创建会一直存活,而 Scoped 服务是跟着请求走的,请求结束就销毁,Singleton 里握着这个实例不放,就等于把本应该短命的东西拖成了“长命”,下一个请求再来时拿到的是上一个请求残留的对象,DbContext 虽然设计上能在多个请求里被复用(因为它内部有状态清理),但这样用迟早出大问题。

这里有个很经典的实际事故:有人把 ILogger 注册成 Transient,然后一个 Singleton 工作类里注入它,正

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 7:51:40

PS5折腾实战:远程串流、存档备份与媒体中心搭建指南

最近我在折腾一套叫“AnyPS5”的主机扩展玩法方案,说白了就是把家里那台PS5从“只能老老实实放在电视柜上吃灰”的状态里解放出来——远程串流到笔记本、手机接着玩,定期把存档备份到电脑里,顺便把客厅大屏变成媒体中心。这个方案的起因很朴素…

作者头像 李华
网站建设 2026/10/14 7:51:07

iOS虚拟摄像头插件开发:原理、代码骨架与踩坑实践

简介:面向苹果系统开发者的虚拟摄像头插件代码包,专注通过系统级注入工具修改相机进程,并拦截视频采集框架的相关方法,以替换原始视频流数据。核心代码实现了视频数据输出代理协议,完成视频帧的实时替换与回调处理&…

作者头像 李华
网站建设 2026/10/14 7:50:13

千笔AI与笔捷Ai实测对比:研究生论文写作工具怎么选

研究生圈的写作压力,多是被论文磨出来的。开题报告、文献综述、中期汇报、小论文、大论文……每一样都在抢时间。最近两个AI论文辅助工具在同学群里反复被提到——千笔AI和笔捷Ai。一个主打学术逻辑严谨,一个主打上手快、出稿快,口碑都不错&a…

作者头像 李华
网站建设 2026/10/14 7:50:13

订单越多利润越薄?外贸ERP精细化成本控制实操指南

1. 订单越多,利润越薄?先看钱到底漏在哪做外贸的朋友应该都有同感:业务团队拼了命地接单,销售额看着一路往上走,到月底财务一拉账,毛利反而比上个月还低。这种“订单越多,利润越薄”的怪圈&…

作者头像 李华
网站建设 2026/10/14 7:50:01

社会系统底层逻辑解析与职场实践指南

1. 理解社会系统的多层结构社会就像一台精密的机器,由表层规则和底层逻辑共同构成运转体系。我们日常接触的法律法规、公司制度、社交礼仪等都属于表层规则,它们像机器的操作界面一样清晰可见。而真正决定系统运行的,是那些隐藏在界面背后的齿…

作者头像 李华
网站建设 2026/10/14 7:49:40

NVMe读延迟trace分析:从事件时间线到瓶颈定位

1. NVMe读命令的延迟地图:先搞清楚延迟花在哪,trace才有意义1.1 一条读命令从应用到NAND的完整链路很多刚接触NVMe性能分析的朋友,一上来就抓trace,结果面对几十万条事件记录完全不知道先看哪里。我先说句实话:NVMe读命…

作者头像 李华