面试高频题:讲讲项目中的技术难点?
原创:猿天地(微信公众号 ID:cxytiandi),欢迎分享,转载请保留出处。
相信很多人都有类似的经历,在面试快要结束的时候经常会被问到一个问题:讲讲项目中的技术难点?
这是一个比较开放的问题,首先它没有固定的答案,因为每个人做过的项目不同,使用的框架不同,对应的架构不同,自然遇到的技术难点也不同。
1. 一定要真实
在回答这个问题的时候,一定要仔细想想之前真实遇到的问题,不要随便编一个,这样很容易出问题,因为面试官会顺着细节一层层的问下去,如果你是编出来的,到最后就圆不回去了。
举个例子:
求职者说我们下单的接口最开始只能支持几百的 TPS,被我优化后 TPS 破万了,只要你说完这句话面试官就开始进入继续追问细节了。
- 破万具体是多少的 TPS?
- 有多少台机器?
- 机器分别是什么配置?
- 数据库是什么配置?
- 你们是怎么进行压测的?
- 下单链路跟多少个服务进行了交互?
- 每个服务的耗时多久?
- 如何进行优化的?
- 如何发现接口中的性能瓶颈?
你只有抗住了这一系列的连环炮追问,而且面试官通过你的描述和你说的指标进行对比,如果比较匹配那么你就过关了。如果不匹配,肯定就面失败了。
2. 技术层面的难点
技术层面的难点可以是做了 GC 的优化,从多少 GC 次优化到多少次,STW 的时间降低了多少,通过哪些手段做的优化。
可以是压测时性能一直上不去,通过什么手段进行了优化,从多少优化到多少。期间有没有加机器,有没有升配服务器,升配数据库等。
可以是项目运行一段时间后就出现假死的情况,处理不了任何请求。然后你是怎么一步步去分析并找到具体原因的,然后又是如何去解决的。
一定要有细节有数据,这样的案例才真实可信。并且面试官会认为你是具备去分析并解决问题的能力。
3. 不一定是技术层面的难点
虽然问的是技术难点,如果你确实没有遇到过什么技术难点,这个时候可以往其他方面去靠,不要直接回答说:没有遇到过什么难点。我敢保证,你要你这样回答了,面试成功的可能性不大。
可以往业务层面,领导力方面去讲,比如你可以说当时做某个业务的时候,没有这块经验。然后通过查找资料,去咨询有经验的朋友等独立的完成了某个系统的设计。并且在做完后取得了什么样的成绩,这个过程对自己来说是非常具体挑战性的,所以这是在项目中遇到的一个难点。
也可以是自己主动请缨,在领导的支持下主导了老项目的重构,给团队的同学培训了 DDD,并且通过 DDD 成功的将某个业务成功的进行了重构。这样可以体现你的主动性,分享精神,领导力等多方面综合的能力。
最后送给大家的就是:一定要先准备好,想好自己要说什么,临时发挥效果肯定没有事先准备的好。
如果对你有用,来个转发呗!
关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud 微服务-全栈技术与案例解析》, 《Spring Cloud 微服务 入门 实战与进阶》作者, 公众号猿天地发起人。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库