无情拷打,八股不行,手撕也不行。
八股:
1、介绍Map及其实现
2、线程安全如何保证并发性能
3、Synchronized和CAS的区别
4、CAS什么情况下效率会比synchronized效率低
5、介绍JVM、堆
6、如何判断哪些对象需要回收
7、垃圾收集三色标记
8、介绍G1,G1的初始标记和最终标记的区别
9、B树和B+树的区别
10、事务的隔离级别及底层是如何实现的
提示,和锁粒度相关
11、为什么主键一般采用自增的方式,它与UUID的区别?
12、回表和覆盖索引(select * 和select 列名)
13、Redis底层数据结构,zSet的底层数据结构
14、跳跃表查找和插入是如何实现的?
15、缓存一致性问题
16、从输入域名到浏览器显示涉及哪些流程
17、域名解析流程
18、HTTP1.1和HTTP2.0的区别
19、TCP三次握手,为什么不是四次或两次
20、前后端分离技术
21、问用过python吗?了解协程吗?
手撕:
单向链表排序
用了最简单的方法,将节点存List中,然后调用Collections.sort()方法。然后他说自己写个排序算法(插入排序)
对应力扣147、148
反问:
业务和技术栈
说是用go多会一些,Java也有,与数据相关的业务