40分钟被狠狠拷打了,面试官体验很好,只是我太菜了,很多八股还没背完
1.自我介绍
2.说一下Java中常见的集合
3.说一下arraylist和linkedlist的区别
4.linkedlist使用场景,有没有使用linkedlist比arraylist更好的场景
5.说一下jvm的结构
6.栈里面会放什么
7.堆里面会放什么
8.有遇到过栈溢出吗,栈溢出怎么调优
9.堆溢出遇到过吗,堆溢出怎么调优
10.java创建对象有几种方式
11.介绍一下hashmap的数据结构
12.哈希冲突怎么办,除了拉链法还有什么别的方法,怎么样尽量的减少哈希冲突
13.常用的锁对象有哪些
14.介绍一下cas
15.有哪些线程池对象
16.为什么要用线程池
17.线程池应该是单例的还是多例的
18.介绍一下线程池和并发的区别
19.索引有哪些类别
20.索引覆盖,索引下推,回表
21.索引下推和联合索引有什么区别
22.如果有ab两个索引,mysql怎么选择用哪个,有了解过选择的策略吗
23mysql慢查询怎么优化
24.慢查询,explain,explain出现什么信息可以知道触发了索引下推
25.用了哪些redis常用类型
26.redis的string的底层数据结构
27.redis的string是怎么做到保证什么二进制安全性的(好像是这样问的)
28.redis的持久化机制,Redis7.0后混合持久化机制了解吗
29.redis为什么快
30.redis单线程为什么快
(因为redis我还没有背完,他就没有对我追问了,失去了兴趣)
然后就是结合项目问苍穹外卖的AOP加反射加注解完成公共字段填充的那个
mybatis也可以完成公共字段填充,为什么不用,有没有了解过mybatis的插件接口
如果我在一个方法里既进行增又进行改你应该怎么填充
项目问的少,主要是八股