遇到的面试题(76-100)
76.零跑汽车二面:画一下你们项目的架构图(现场面试)¶
77.工商银行二面:项目是如何做maven的依赖管理的?(线上视频面试)¶
微服务和分布式不一样,微服务需要把配置文件放到nacos这样的配置中心,做集中式配置、统一管理,还可以环境隔离; 但是分布式是有一个专门的pom做依赖管理的,版本号都写到一起,公共的依赖专门抽取出来做common,需要再引入。
78.工商银行二面:同步异步的区别?项目怎么做异步?(线上视频面试)¶
79.工商银行二面:说一说你项目的经验或者觉得做的还可以的地方?(线上视频面试)¶
这类问题略。啥都可以说,只要说的还可以经得起问。
80.工商银行一、二面:Spring Boot的启动流程(一面电话、二面线上视频)¶
要求比较详细的说出来,简单一点的看不上。
81.中国移动一面:数据库的全局ID生成有哪些想法?(视频面试)¶
82.中国移动一面:消息队列消息丢失可能有哪些原因?都怎么解决?(视频面试)¶
相关链接🔗
83.数据库死锁如何排查?¶
- 可以先使用
SHOW ENGINE INNODB STATUS
命令查看当前InnoDB存储引擎的状态信息,其中包括最近一次发生的死锁信息。执行该命令后,在输出结果中查找“LATEST DETECTED DEADLOCK
”部分以了解死锁详情。 - 一旦发生死锁,可以查看MySQL的 错误日志 来获取详细的死锁信息。这些信息包括死锁涉及的事务、锁定的表、行以及SQL语句等。前提是确保MySQL服务器配置了死锁记录功能
-
分析导致死锁的原因:
- 1️⃣事务的隔离级别:不同的隔离级别可能导致不同的并发问题。
- 2️⃣SQL语句的顺序:两个或多个事务以不同顺序访问相同的资源可能会导致死锁。
- 3️⃣锁定策略:长时间持有锁或者不必要的锁定都可能增加死锁的风险。
-
解决死锁的方法通常包括但不限于:
- 1️⃣优化事务处理逻辑:尽量减少事务的范围,即让事务尽可能短。
- 2️⃣统一访问资源的顺序:确保所有事务按照相同的顺序访问资源。
- 3️⃣使用较低的隔离级别:如果应用允许,可以考虑降低事务的隔离级别以减少锁竞争。
- 4️⃣重试机制:对于因死锁而回滚的事务,可以设计自动重试机制,但需注意控制重试次数避免无限循环。