前言
具体部门就不说了,用的语言是java(无疑问…),面试官人都挺好的,包括Hr小姐姐!
一面(100分钟)
自我介绍
没看我简历,问我要从哪里开始聊起,我说线程池…(埋雷)
线程池
线程池的四组成,七参数
四种常见的线程池
cachedThreadPool的工作原理(我说了线程池的工作流程)
超过keepAliveTime的线程如何了
HashMap
hashmap在jdk1.7和jdk1.8的区别(链表和红黑树、扩容时的头插和尾插)
在多线程下头插法引起的环化
红黑树的数据结构,如何维持相对平衡
concurrentHashMap线程安全,分段式锁
多线程
ReentrantLock和synchronized的区别
ReentrantLock的实现(AQS)
AQS中A代表什么,S代表什么(不清楚…我只知道实现原理…)
什么是公平锁,用什么数据结构实现
什么是线程安全
CAS
如何解决ABA问题(增加版本号)
版本号是什么类型的
Volatile是什么,有什么特性(可见性、非原子性、禁止指令重排)
Happen-before原则