1.说一下几种常见的排序算法和分别的复杂度
2.什么是跳表?
3.如何确认一个链表有环? 进一步,确认环的位置
4.如何遍历一颗二叉树?
5.倒排一个LinkedList
6.HashSet 的实现方式 ### 多线程/并发
7.Java 中常见的锁,互斥锁,读写锁,信号量
自旋锁
阻塞锁
8.原子 Atomic类,如何保证原子性, CAS 硬件指令
通过cpu 的指令 cas 保证操作的原子性
9.volatile,可见性问题的原因,硬件架构, L3 Cache,QPI,乐观锁
10.如何实现一个线程安全的数据结构
11.如何避免死锁
12.如何解决 ABA 问题
什么是ABA问题?
如何解决ABA问题?