面试官:看你简历写的不错,先简单自我介绍下?我:大佬好!我是小程,工作时长两年半,目前负责在公司打杂,啊不,负责维护公司的两个项目…面试官:hmmm,你们项目中Spring用的多么?我:还可以,基本上都用得到。(平时都是百度着用用啊)面试官:那你讲讲使用Spring的AOP具体是指什么?我:(这个我背过答案!)AOP是面向切面编程,能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可扩展性和可维护性。
面试官:嗯,理解的很棒啊,
那你知道有哪些Spring的扩展点吗?我:扩展点?BeanDefinition?BeanFactory?面试官:还有呢?我:没了呀。
面试官:好吧,你知道市面上哪些主流框架扩展了Spring,如何扩展?我:我知道MyBatis扩展了Spring!如何扩展的…呃,不太清楚,其他的没怎么接触过,不太了解。我也…
面试官:我懂了,那你简单阐述一下Spring bean的生命周期。我:这个,我只记得过程有点复杂,具体的,记不清了…
面试官:那再问你一点别的吧,Spring 是否支持循环依赖;哪些情况下支持?Spring体系中的beanDefinition怎么理解?讲讲 Spring在处理循环依赖为什么需要使用三级缓存?Spring体系中有些后置处理器?能讲讲主要作用不?我:这个…面试官看了看表:哟,已经下午3点了,这么晚了啊?今天就到这里吧,你有什么问题要问我吗?我:我挂了吗?
面试官:没没没,你先回去等通知吧!
Spring作为现在最流行java 开发技术,其内部源码设计非常优秀。如果你不会Spring,那么很可能面试官会让你回家等通知。
Spring是什么?
有一个工地,几百号人在用铁锹铲子挖坑。
如果开一辆挖掘机来,用一天时间干的活就相当于一个工人一个月的工作量。而且这个挖掘机是免费开源的,不用花钱买,仅仅需要学习掌握如何操作。
你会如何选择?
这几百号人的工地就是企业应用项目实施团队,而挖掘机就是Spring。
Spring框架为开发Java应用程序提供了全面的基础架构支持。Spring包含了一些很好的功能,如依赖注入和开箱即用的模块:
Spring JDBC
Spring MVC
Spring Security
Spring AOP
Spring ORM
Spring Test
这些模块能极大缩短应用程序的开发时间,提高我们的工作效率。
Spring bean的生命周期
但是现在很多程序员对于Spring的理解只停留在很浅的层面。很多人只关注自己用的那部分代码的逻辑,而并不真正去理解框架。如果你不懂Spring,那么大厂面试官也不会懂你为什么敢来面试?
我准备了一些阿里、腾讯、字节跳动等大厂面试真题并手打了答案解析,需要的朋友可以在评论区或者私信我领取哈!