自我介绍
实习介绍
介绍一下实习遇到的困难?
ForkJoinPool原理和实现?
如果有很多模块需要抽象一个模块,你会用哪种设计模式?
装饰器模式和适配器模式有什么区别呢?
责任链模式你如何使用?
幂等性是如何解决的?
HTTP请求哪些方法不是幂等的?
reentrantLock,公平锁原理如何实现的,从源码的角度理解?
synchronized和reentrantLock区别?并发量少的时候哪个性能更高?
synchronized并发量很高的情况下会有什么问题呢?如何解决?
通过什么命令可以设置禁止偏向锁?(-XX:-UseBiasedLocking)
mySQL给一个字段建立了索引的话,那么这个查找过程是如何实现的?(我以为是底层语法树方面,面试官想问的是二分查找)
mySQL的MVCC是如何实现,它是如何实现事务的隔离级别的?
如何设计一个幂等id,生成原则?
如何自己设计一个限流中间件?从各方面来进行讨论
重构和重写的区别是什么?
如果有一个模块你会如何重构?
重构时怎么提取重复的代码比较好?
你重构的手法用的是什么?
问了一下力扣刷题的情况
反问环节:
介绍了业务
让面试官推荐重构相关的东西,然后推荐了一个网站(Refactoring)和书籍
很好的一个面试官,能力很强的同时又很谦逊,让我学到了很多