阿里经典30道Java面试题,看完记得收藏保存

一:Java模块:web

  1. hashmap
  2. Arraylist和linkedlist
  3. voliate
  4. 线程池,如何根据CPU的核数来设计线程大小,若是是计算机密集型的呢,若是是IO密集型的呢?
  5. countdownlatch和CyclicBarrier底层实现原理
  6. 线程状态以及API怎么操做会发生这种转换

二:JVM模块面试

面试官说只问三个问题:redis

一、内存模型以及分区,须要详细到每一个区放什么算法

二、堆里面的分区:Eden,survival ,老年代,各自的特色。spring

三、垃圾回收算法,何时回收。sql

三:分布式:缓存

一、redis与memached选型,你更倾向于选择哪一个,为何?session

二、分布式事务解决,你知道咱们阿里巴巴是怎么作的吗?架构

三、消息队列比较和选型?框架

五、CAP

四:Spring框架必考

web框架面试问得最多的就是spring,这个阿里、百度、美团都问的贼多,都会问不少关于:IOC/AOP,spring事务、启动方式等。

五:Java虚拟机必考

JVM必考,问得最多:

Java虚拟机JVM的数据存储

Java内存区域,OOM

垃圾回收算法,垃圾收集器

类加载机制,类加载器

虚拟机字节码执行引擎(重写重载底层等)

Java内存模型JMM等

六:分布式缓存面试题目

架构设计这块都会问分布式缓存,redis、memcached的优劣,使用场景,命中率等问题,特别是redis问得很是多,好比:

redis的集群使用、回收算法、存储类型、分区、session共享等问题。

七:JVM调优

好比常见的工具:Jconsole,jProfile,VisualVM使用

线程监控

内存监控

垃圾监控

内存泄漏等

这些问题主要都是考察你对数据存储和回收是否足够了解。

关注公众号“IT老油条”免费领取资料:分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。
相关文章
相关标签/搜索