杭州端点实习面试
- 能讲一下HashMap吗,追问hashmap的容量为什么设置为2^n?(OS:答成如何保证容量是2的n次方的)
- hashmap是线程不安全的,如果想要保证线程安全,需要怎么做?(答:使用ConcurrentHashMap)
- ConcurrentHashMap是怎么保证线程安全的,底层时是使用什么手段加锁? -->如果要做并发度优化的话,你会怎么考虑?
- 讲一下ReentrantLock,condition和synchronized本身的等待队列有什么区别?
- 讲一下对象头中的MarkWord
- 锁升级的过程,各种锁的使用场景
- 对java并发包有了解吗
- ReentrantLock的实现原理(这里似乎想问的是AQS)
- 线程的生命周期(新建、就绪、运行、阻塞、死亡)
- 为什么使用线程池去实现多线程?
- 线程池的核心参数,以及怎么运行的
- 讲一下ThreadLocal(会出现内存泄漏问题)
- JVM垃圾回收有什么了解吗,讲一下CMS,标记清除算法的缺点?针对该问题CMS有做什么优化吗?
- 哪些可以作为GC Root对象?
- 可达性分析的过程中出现跨代引用怎么办?(不会。这里我真是一个大猪b,先问我cms作用在哪,我说成了永久代。。。)
- 了解G1垃圾回收器吗,它的垃圾回收策略
- 了解双亲委派模型吗,目的是什么?什么情况会打破这种模型
- MySQL的索引结构
- 平常有做过什么sql优化吗,常见的调优手段?
- 场景题:对表中的手机号的前三位和后四位进行匹配,怎么做效率更高?(不会)
- MySQL怎么实现事务?(这里没想到和日志有关,很减分)
- MySQL和redis怎么保证数据一致性?