2020年七月份朋友面试总结:
叮咚买菜一面:
1、参与的项目介绍;
2、服务调用:dubbo 的运行原理; dubbo整合第三方功能;dubbo的SPI机制,与jdkSPI机制的区别;
3、mybatis是否看过源码,mybatis的原理;
4、spring的事务传播机制;
5、spring的循环依赖解决方案;
6、springboot的自动装配的原理;
7、是否了解springCloud, springcloud 接口的调用方式有哪些?
8、HashMap的底层原理;
9、HashSet的底层原理;
10、AQS锁的认识;
11、线程池的运行机制(几个参数的介绍);
12、 redis的数据结构及项目中的使用;
叮咚二面:
1、介绍自己比较有成就的项目;
2、mq消息堆积时怎么处理;mq怎么保证消息不丢失;
3、mysql索引,B+树结构,聚簇索引、非聚簇索引;
4、JVM的调优经验;
长投学堂一面:
1、介绍参与的项目, 项目中的比较好的地方,不好的地方,为什么不好,怎么改进,连环问;
2、五分钟左右的自我介绍;
3、mq的使用,解耦异步削峰;
4、mysql 索引为什么是B+树,B+树的优点;
5、redis的 缓存穿透、缓存雪崩 的解决方案;
6、面对一个需求,你会做哪些处理; 数据建模、流程设计啥的
7、JVM中 年轻代设置两个S区的优点;
8、如何保证redis和数据库的数据一致性问题
9、分库分表如何实现,消息丢失如何处理,数据一致性如何处理,jvm,如何防止redis缓存穿透,还有多线程相关的
10、redis的hash表存储上千万数据有什么危害
其他:
乐观锁,悲观锁
什么时候使用乐观,什么时候悲观
arraylist和linkedlist区别
间隙锁。
网关加解密,
二级缓存,自己缓存实现
多例,threadloal
spring多例,有变量时,使用多例。
分片
springbean加载。springboot自定义配置。mybatis数据库二级缓存。
springboot自定义start
springbean加载