大疆后端面经
1.自我介绍+项目介绍
2.ThreadLocal咱们平时用的时候,都说要注意内存泄漏,具体是怎么避免的呢?
3.聊聊Nacos吧,它的选举机制是怎么样的?跟 Raft算法有什么关系,能讲讲Raft的原理吗?
4.分库分表这个话题,你了解哪些实现方案?分了之后,分布式ID一般是怎么生成的?
5.如果我想在线程池的父子线程之间传递 ThreadLocal里的值,有什么办法吗?
6.MySQL性能调优,你一般会从哪些方面入手?有什么方法和思路?
7.布隆过滤器,能讲讲它的原理吗?在什么场景会用到它?
8.Dubbo在做RPC调用的时候,如果调用失败了,它都有哪些处理机制?比如重试、降级这些。
9.你是怎么理解线程安全这个概念的?平时在代码里是怎么处理线程安全问题的?
10.我们常说Redis单线程快,而且是线程安全的。它的线程安全具体是怎么保证的?
11. MySQL主从同步如果出现延迟了,一般是什么原因造成的?有什么解决方案?
12.MySQL的binlog有哪几种格式?它们之间有什么区别?
13.实现分布式锁,都有哪些方案?能讲讲它们的3/4原理吗?
14.如果要你来设计一个全链路压测平台,你的设计思路是怎样的?
15.系统升级的时候,经常涉及到数据迁移,怎么才能做到平滑迁移,不影响线上业务?
16.线上服务JVM频繁Full GC,你会怎么去排查和解决?
17.数据库如果发生死锁了,一般的排查步骤是怎样的?
18.做了分库分表之后,如果某个库或表出现数据倾斜,有什么解决办法?
19.用分布式锁的时候,如果第一次加锁失败了, 4/4
后续的重试机制一般怎么设计比较合理?
20.有没有遇到过MySQL执行计划选错了索引的情况?碰到了怎么处理?
21.Spring的核心是IOC,你觉得要实现一个IOC容器,关键点有哪些?
22.Spring的声明式事务很方便,它的底层原理是什么?
23.设计一个订单超时自动取消的功能,你会怎么实现?
24.在并发编程里,线程的同步
(Synchronization)和协作(Coordination),它俩有什么区别?