如标题所示,我的个人背景非常简单,Java开发经验1年半,学历普通,2本本科毕业,毕业后出来就一直在Crud,在公司每天重复的工作对我的技术提升并没有什么帮助,但小镇出来的我也深知自我努力的重要性,想要改变“命运”,没有背景没有资本的人,只能通过勤奋获得。
幸运女神往往会眷顾努力的人,所以当好运降临到我头上,我并不诧异,目前拿到了美团30K的offer,下文也不说废话,主要分享我这次“美团面试经历”和“个人学习方法”,希望能帮助到你们。
Spring 主要有如下特点:
Spring 是一个分层架构,主要由如下 7 大模块所构成。Spring 模块位于核心容器,定义了创建、配置和管理 Bean 的方式。
Spring 通过一个配置文件来描述 Bean
之间的相互依赖关系,利用 Java 的反射功能来实例化 Bean
并建立 Bean
之间的依赖关系。Spring 的 IoC 容器在完成这些底层工作的基础上,还提供 Bean
实例缓存、生命周期管理、Bean
实例代理、事件发布、资源装载等高级服务;
总结而言:IOC 负责创建对象、管理对象(通过依赖注入)、整合对象、配置对象以及管理对象的生命周期;
Bean
配置信息,并在 Spring 容器中生成一份对应的 Bean
配置注册表;Bean
配置注册表来实例化 Bean
,并装配好 Bean
之间的依赖关系;Bean
装载到 Spring 容器中的 Bean
缓存池中,供上层的应用程序使用;Spring 中,用来组成应用程序的主体以及由 Spring IoC 容器所管理的对象叫做 Bean。简而言之,Bean 就是由 IoC 容器来进行初始化、装配和管理的对象。
Bean 的作用域主要有如下几种:
作用域为 Singleton
,该模式在多线程下不安全,表明 IoC 容器中只会存在一个共享 Bean 实例,而且所有对 Bean 的请求,主要 id
和该 Bean 定义相匹配,那么就会返回 Bean 的同一实例。Singleton
是单例模型,即在从创建容器的同时就会自动创建一个 Bean 的对象,无论是否使用,而且 每次获取到的对象都是同一对象。
作用域为 Prototype
,表明一个 Bean 定义对应多个实例,该作用域中的 Bean 会导致在 每次对该 Bean 请求时均创建一个新的 Bean 实例。Prototype
是一个原型类型,在我们创建容器时并未实例化,而是当我们获取 Bean 时才去创建一个对象,而且每次获取到的对象都不一样。
作用域为 Request
,表明在一次 HTTP
请求中,容器返回该 Bean 的同一个实例,即每个 HTTP
请求均有各自的 Bean 实例,依据某个 Bean 定义创建而成,只在基于 Web 的 Spring ApplicationContext 情形下有效。当一次 HTTP
请求处理结束时,该作用域中的 Bean 实例均被销毁。
作用域为 Session
,表明 在一个 HTTP Session
中,容器返回该 Bean 的同一个实例,对不同的 Session
请求则创建新的实例,该 Bean
实例仅在当前 Session
内有效,只在基于 Web 的 Spring ApplicationContext 情形下有效。当一个 HTTP Session
被废弃时,在该作用域内的 Bean 也将失效。
setBeanFactory()
方法,将 Bean 所在应用引用传入进来;setApplicationContext()
方法,将 Bean 所在应用的引用传入进来;post-ProcessBeforeInitalization()
方法;InitializingBean
接口,Spring 将调用他们的 after-PropertiesSet()
方法,类似地,如果 Bean 使用 init-method
声明了初始化方法,则该方法也会被调用;post-ProcessAfterInitialization()
方法;destory()
接口方法;同样,若 Bean 使用 destroy-method
声明了销毁方法,该方法也将被调用;看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。
开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题。
注意:不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友,直接戳这里即可免费下载
互联网工程师必备的面试1000题
而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。
上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。