动不动问原理,面试官你来讲讲 Spring 的原理?讲出来我给你开 25K
面试官拿起程序员小马的简历看了看,原本平平无奇的内容丝毫提不起面试官的兴趣,看到技能那一栏时,突然出现的“精通”二字显得格外的耀眼。
面试官猛地抬起头看着这位年轻人,生着一副 27 岁的人本就有的面孔,面试官略显失望,再从衣着搭配上下打量一番过后,面试官的目光终于落在了程序员小马茂密的头发上,眼底顿时闪过一丝不屑。
呵~终究是个年轻人...
面试官:小伙子,看起来挺年轻的啊!
程序员小马(以为是夸奖自己):哪里哪里,您看起来也年轻!
面试官(眉头一皱):胡说八道,我这头顶白秃的吗?
程序员小马本意是礼貌的回捧面试官,但没想到面试官突如其来的变脸,一时有点不知所措...
面试官(打破了面试现场短暂的平静):看你简历上写的精通 Spring,那我们就先从你熟悉开始问吧!你先说说你对 Spring 的理解?
程序员小马:我觉得 Spring 就像是个万能接口,可以对接非常多的开源接口。像我接触过的项目有规则引擎,做推荐,做营销活动,做秒杀等等。
面试官:讲一下你用 Spring 的一些初衷?
程序员小马:首先,Spring 其实有很多特点,这些也是我们用它的原因。Spring 本身占用的空间就很小,也就是我们在技术用语中说的轻量级;
其它的特点还有控制反转啊,面向切面啊,事务管理,异常处理等等;
其次,对我来说 Spring 方便解耦,简化开发,主要还是避免重复造轮子!
Spring 可以说已经是业界标准了,经过了无数项目的实战检验。遇到问题也可以向全世界的开发人员请教,可以帮忙指出思路或解决方案。
面试官:嗯,不错。你知道 spring 的生命周期初始化回调方法有几种方法实现?或者说他们的执行时机和在 bean 的生命周期哪里体现了?
程序员小马:额~Spring 的生命周期初始化方法官方有三种实现,分别是 xml 自定义方法实现,接口的形式实现和在方法上加注解实现,三者可以共存,但是执行时机和顺序不同。Spring 的 bean 在完成实例化后调用 beanpostprocessor 的 after 方法之前会回调这些初始化方法。
面试官:有点东西哦~能不能说说 Spring AOP 的实现原理?
程序员小马:这个...
面试官:那 SpringMVC 呢?
程序员小马:...
面试官:那还有,ApplicationContext 通常的实现是什么?@Required 注解?@Autowired 注解?
@Qualifier 注解?...
程序员小马:这我知道一些...
面试官:但你这不是精通啊!
程序员小马:
程序员小马(终于忍不了了):动不动问原理,你自己知道吗?面试官你来把 Spring 的原理讲清楚?讲出来我给你开 25K!
面试官:哦!不用了,我现在年薪 80W...
Spring 学习笔记
Spring 作为现在最流行 Java 开发技术,其内部源码设计非常优秀。但是相当一部分程序员没有用过 Spring,很多用过的程序员对于 Spring 的理解也只停留在很浅的层面,只关注自己用的那部分代码的逻辑,而并不真正去理解框架,完全不懂 Spring 源码。
不懂 Spring,你怎么敢去面试啊?
以下资料都是可以免费领取的
上面这份目录算是 Spring 比较核心的知识了,大家可以在看看里面的内容,能够掌握这些,自然就算得上是合格了。
部分内容展示:
当然,关于 Spring 的还不止这些,比如说电子书:
以及与 Spring 相关的面试真题(含解析):
以上资料已整理成文档,免费获取,需要的小伙伴可以+ VX: mxk6072
评论