一面:
1. 自我介绍
2. 项目相关
(团队人数 | 项目应用到的框架等 | 表设计)
3. Java中常用的集合类
(先说Collection和Map接口,再分别说子接口和实现类,以及大概的区别,没让细讲源码)
4. 有一组数据,需要按照顺序对它进行加密,如果用集合做的话你会选哪个集合?比如一个数组,其元素本身无序,每个元素是字母或者数字都行,对它从小到大进行排序,你会选哪个集合去存储?
(我当时好像选的TreeMap?忘记了...)
5. Java中线程同步的方案有哪些
(参考《深入理解Java虚拟机》第13章第2节,从“阻塞同步方案 | 非阻塞同步方案 | 无同步方案”三部分说明)
6. Lock接口的实现类
(参考《Java并发编程的艺术》第5章,Lock接口的实现基本都是通过聚合了一个同步器的子类来完成线程访问控制的,引出了队列同步器AQS,实现类讲了ReentrantLock和ReentrantReadWriteLock)
7. MySQL查询比较慢的话,通过什么方式来优化
(情况①:偶尔很慢,可能是数据库在查询脏页,或者没拿到锁
情况②:一直很慢,可能是没有索引,或者有索引但没走索引,或者表数据量太大需要分库分表)
8. http协议
(http是哪一层的协议,其传输层协议是什么,三次握手和四次挥手的完整过程)