蚂蚁金服关于spring部分面试问题:
Spring bean的生命周期能不能结合源码回答一下这个问题
Spring容器当中包含了哪些常用组件(至少说5个),作用是什么,场景是什么;
Spring自动注入的原理是什么?能不能从源码来说明一下这个问题;
我们常常说的自动注入,到底怎么注入的?有什么坑?
Spring源码当中如何来搞定循环依赖的?Spring支持循环依赖?
如何来二次扩展Spring,比如自定义一个实现自动注入的注解;
mybatis源码当中利用了Spirng的那些扩展?mybatis扩展Spring之后有哪些问题是无法解决的?比如二级缓存怎么解决
spring学习思维导图(xmind):
蚂蚁金服关于JVM面试的问题:
- 描述一下jvm加载class文件的原理机制?
- GC是什么?为什么要有GC?
- 如何判断一个对象是否存活?
- 垃圾回收的优点和原理。
- Java虚拟机内存模型能说说吗?
- 类加载器的双亲委派模型是什么?
- JVM诊断调优工具用过哪些?
JVM学习思维导图(xmind)
一、JVM 内存区域划分
二、JVM 执行子系统
三、垃圾回收器和内存分配策略
四、编写高效优雅Java程序
五、性能优化
蚂蚁金服关于并发编程面试问题:
- Synchronized用过吗,其原理是什么?
- 什么是重入锁,为什么说Synchronized是可重入锁?
- JVM对java的原生锁做了哪些优化
- 为什么说Synchronized是非公平锁?
- 什么是锁消除和锁粗化?
- 为什么说Synchronized是一个悲观锁?乐观锁的实现原理又是什么?
- 那么请谈谈AQS框架是怎么回事?
- ReentrantLock是如何实现可重入性的?
Java并发核心知识整理:
第1章并发编程的挑战
第2章Java并发机制的底层实现原理
第3章Java内存模型
第4章Java并发编程基础
第5章Java中的锁
第6章Java并发容器和框架
第7章Java中的13个原子操作类
第8章Java中的并发工具类
第9章Java中的线程池
第10章Executor框架