# java30
# Java模块
- hashmap
- Arraylist和linkedlist
- voliate
- 线程池,如何根据CPU的核数来设计线程大小,如果是计算机密集型的呢,如果是IO密集型的呢?
- countdownlatch和CyclicBarrier底层实现原理
- 线程状态以及API怎么操作会发生这种转换
# JVM模块
- 内存模型以及分区,需要详细到每个区放什么
- 堆里面的分区:Eden,survival ,老年代,各自的特点。
- 垃圾回收算法,什么时候回收。
# 分布式
- redis与memached选型,你更倾向于选择哪个,为什么?
- 分布式事务解决,你知道我们阿里巴巴是怎么做的吗?
- 消息队列比较和选型?
- CAP
# Spring框架必考
web框架面试问得最多的就是spring,这个阿里、百度、美团都问的贼多,都会问很多关于:IOC/AOP,spring事务、启动方式等
# Java虚拟机必考
- JVM必考,问得最多
- Java虚拟机JVM的数据存储
- Java内存区域,OOM
- 垃圾回收算法,垃圾收集器
- 类加载机制,类加载器
- 虚拟机字节码执行引擎(重写重载底层等)
- Java内存模型JMM等
# 分布式缓存面试题目
- 架构设计这块都会问分布式缓存,redis、memcached的优劣,使用场景,命中率等问题,特别是redis问得非常多,比如:
redis的集群使用、回收算法、存储类型、分区、session共享等问题。
# JVM调优
- 比如常见的工具:Jconsole,jProfile,VisualVM使用
- 线程监控
- 内存监控
- 垃圾监控
- 内存泄漏等