连Spring三级缓存都答不好,自己走还是我送你?
面试官:简历上写了精通Spring,那你回答一下Spring为什么用“三级缓存”去解决循环依赖?
我:.......应该有三个缓存的map结构
面试官:具体回答一下
我:平时没认真深入过
面试官:公司的门在那里,自己走还是我送你?
很多开发者在开发 Spring 程序的时候,被动接受了已经做好的 Spring 特性案例。虽然这样减少了开发成本,但是也限制了自身的横向扩展能力。
只知道如何使用,却不知道做了什么,那么注定只可能是一个码农。因为Spring 框架几乎集成了一半 Java Web 开发的江山,而只知道写,却不知道为什么这么写、不知道如何优化,是非常危险的。
作为一个轻量级的 Java 开发框架,Spring将面向接口的编程思想贯穿整个 Java 系统应用,所以在面试中一直是高频考察点。而Spring两大特性IOC和AOP,也是通过面试必须要掌握的知识点。在几次参与面试的经历中我发现了一个问题:很多Java程序员并没有彻底的理解IOC和AOP,只是仅限于IOC就是控制反转和AOP就是面向切面。
以IOC为突破口,它是控制反转,表示Spring接管了创建对象的工作,程序员只需要定义对象即可。被Spring创建的对象叫做Bean,而Spring在创建一个对象时,并不是仅仅只会简单的new出来一个对象,而是有一套Bean的生命周期,所以,在说到IOC时,请务必说一下Bean的生命周期。
于是发现,每天都在使用的Spring中还有很多的技术和问题是我们不知道的。
经常听说要学会造轮子,因为只有这样才会在用别人的轮子时明白其原理,用的得心应手。如果对一个框架的理解只是停留在使用的熟练程度,那么也可能会长期停留在“码畜”的阶段,别人随时有可能替代你。
所以,这里给大家推荐一个Java进阶训练营。除了会精讲大厂Spring面试题详解以外,JVM调优、Springboot底层原理、MYSQL索引实现原理等都会涉及到。训练营为期4天,每晚20:00,进群即可0元领取听课名额。
训练营详细技术课程大纲:
2、方法区、永久代、元空间、热点代码缓存区
3、精讲虚拟机栈:动态链接、返回现场
4、堆、进入老年代的情况、GC
5、类加载器、运行时数据区、程序计数器如何协调工作
6、理清虚拟机栈、方法区、堆区之间的关联
2. springboot如何做到内嵌tomcat
3. springboot启动流程原理
4. 常见面试考点SPI规范讲解