# java30

back

# 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使用
  • 线程监控
  • 内存监控
  • 垃圾监控
  • 内存泄漏等