360服务端开发-java二面挂
360企业安全一面:
1 线程池构造方法的参数,具体介绍一下
2 实现线程的方法(Runnable, Thread, Callable)。Runnable和Thread哪一种比较好,哪一种比较安全。
3 介绍一下CAS,CAS存在什么问题,原子类的底层实现
4 Lock和synchronized区别,哪种性能更好以及原因
4 堆的插入和删除操作,判断单链表是否成环,介绍一下跳表、红黑树(只说了红黑树的特点,左旋右旋操作,具体的没有细问)
5 HashMap的扩容,HashMap并发操作下会有什么问题,ConcurrentHashMap怎么实现线程安全的(jdk1.7分段锁,jdk1.8CAS)
6 HashMap怎么使用才是线程安全的(只答了concurrentHashMap、Collections.synchronizedMap),好像不大满意
7 静态变量序列化
8 介绍一下jvm运行时数据区,gc算法,堆的结构,jdk1.8常量池在哪个区
二面:
1 哈希表底层实现
2 项目经验以及遇到的难题
3 技术的优点和不足
4 工作期待
5 还有什么要问的
(30分钟,over,尴尬.。。。)