蚂蚁金服二面被血虐, 鬼知道面试的我经历了什么?
蚂蚁金服关于 spring 部分面试问题:
Spring bean 的生命周期能不能结合源码回答一下这个问题
Spring 容器当中包含了哪些常用组件(至少说 5 个),作用是什么,场景是什么;
Spring 自动注入的原理是什么?能不能从源码来说明一下这个问题;
我们常常说的自动注入,到底怎么注入的?有什么坑?
Spring 源码当中如何来搞定循环依赖的?Spring 支持循环依赖?
如何来二次扩展 Spring,比如自定义一个实现自动注入的注解;
mybatis 源码当中利用了 Spirng 的那些扩展?mybatis 扩展 Spring 之后有哪些问题是无法解决的?比如二级缓存怎么解决
下面分享我花了 60 天的时间肝出了这些 spring,jvm,并发编程等学习笔记,经过这次大厂面试之旅我已经充分意识到自己与大厂的差距,准备春暖花开之日再战大厂!只要功夫深,我把铁杵磨成针,平时准备好,面试不用慌。资料分享给大家,希望可以和大家共同进步!
由于篇幅原因,有需要 spring,jvm,并发编程等,面试答案、学习笔记、思维脑图(xmind)的朋友
需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取
![](https://static001.geekbang.org/infoq/ea/ea88bf86507dfb312cd9c4de0c6db881.png)
spring 学习思维导图(xmind):
![](https://static001.geekbang.org/infoq/56/560d62b63d33edbaf293e3f67a8aee76.png)
spring 学习笔记:
从 spring 最基础的特点分析,将 spring 将会有机会考到的知识点都整理在了一起,可以说是非常全面了
(1)目录:
![](https://static001.geekbang.org/infoq/ae/ae3bd5bd157cd00f417c4c367c61d082.png)
![](https://static001.geekbang.org/infoq/b9/b9b623297011841d8fb3fca2ed8a5c38.png)
(2)内容展示:
![](https://static001.geekbang.org/infoq/c7/c703e9cdd24dac7c9df4b842b92ba703.png)
蚂蚁金服关于 JVM 面试的问题:
描述一下 jvm 加载 class 文件的原理机制?
GC 是什么?为什么要有 GC?
如何判断一个对象是否存活?
垃圾回收的优点和原理。
Java 虚拟机内存模型能说说吗?
类加载器的双亲委派模型是什么?
JVM 诊断调优工具用过哪些?
JVM 学习思维导图(xmind)
![](https://static001.geekbang.org/infoq/08/085fffccba4975449f36755b442283e9.png)
JVM 核心知识整理:
(1)目录:
![](https://static001.geekbang.org/infoq/54/5461a1a90749e1c37ae33104ebaba192.png)
![](https://static001.geekbang.org/infoq/dd/ddfe22e93033a666dac619a92d269993.png)
一、JVM 内存区域划分
![](https://static001.geekbang.org/infoq/63/632ad359dd3f527e94c7966ed334776d.png)
二、JVM 执行子系统
![](https://static001.geekbang.org/infoq/1f/1f1155f47ce67d10369066779a1deb58.png)
三、垃圾回收器和内存分配策略
![](https://static001.geekbang.org/infoq/99/99aff603a06e2436265bfe2fededef69.png)
四、编写高效优雅 Java 程序
![](https://static001.geekbang.org/infoq/33/336cbb237b275b325397a87f361b1fb3.png)
五、性能优化
![](https://static001.geekbang.org/infoq/8e/8e2b5cceb732a2aed727c0c92a048b11.png)
蚂蚁金服关于并发编程面试问题:
Synchronized 用过吗,其原理是什么?
什么是重入锁,为什么说 Synchronized 是可重入锁?
JVM 对 java 的原生锁做了哪些优化
为什么说 Synchronized 是非公平锁?
什么是锁消除和锁粗化?
为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?
那么请谈谈 AQS 框架是怎么回事?
ReentrantLock 是如何实现可重入性的?
Java 并发核心知识整理:
![](https://static001.geekbang.org/infoq/de/de00b4e6416d84739edccb056324cfd9.png)
![](https://static001.geekbang.org/infoq/66/665636a575f35957ba18c4bba8e94e02.png)
第 1 章并发编程的挑战
![](https://static001.geekbang.org/infoq/fc/fce291d5eac718e9b1f98ad67273d99c.png)
第 2 章 Java 并发机制的底层实现原理
![](https://static001.geekbang.org/infoq/a6/a6fa1a1ccf16f80857cf66bf5cccdfdc.png)
第 3 章 Java 内存模型
![](https://static001.geekbang.org/infoq/be/be412f88f88d7347811a3f23ed632757.png)
第 4 章 Java 并发编程基础
![](https://static001.geekbang.org/infoq/54/54b557b892291b88ec57312990ce84b2.png)
第 5 章 Java 中的锁
![](https://static001.geekbang.org/infoq/f6/f604986c74de9249a0163fc61b7e68e1.png)
第 6 章 Java 并发容器和框架
![](https://static001.geekbang.org/infoq/57/5797799524318f4f2b5339f8d385ae3f.png)
第 7 章 Java 中的 13 个原子操作类
![](https://static001.geekbang.org/infoq/5f/5ff97b647dc4e08e2f65eca525073062.png)
第 8 章 Java 中的并发工具类
![](https://static001.geekbang.org/infoq/d8/d8caebba3dd0b70a6072e747db20952d.png)
第 9 章 Java 中的线程池
![](https://static001.geekbang.org/infoq/21/215cd8e8d88c0580bfa5eb86d5780d3e.png)
第 10 章 Executor 框架
![](https://static001.geekbang.org/infoq/6e/6e087f1652cd30bcdb79498109759697.png)
第 11 章 Java 并发编程实践
![](https://static001.geekbang.org/infoq/d1/d1c6a3b68053c831588136febd244f04.png)
写在最后的话
要面试这种一线大厂之前一定要做好充足的准备,自从在蚂蚁金服碰壁之后,我花了 60 天的时间肝出了这些 spring,jvm,并发编程等学习笔记,准备春暖花开之日再战大厂!,只要功夫深,我把铁杵磨成针,平时准备好,面试不用慌。资料分享给大家,希望可以和大家共同进步!
重要的事再来亿亿亿亿遍:
需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取
![](https://static001.geekbang.org/infoq/ea/ea88bf86507dfb312cd9c4de0c6db881.png)
评论 (1 条评论)