面试3轮差点拿到offer,还从30k降到20k,不好过啊...
扫描二维码
随时随地手机看文章
可能每个技术人都有个阿里梦,谁也不例外。最近准备跳槽,前一阵子在准备各种面试,也面了几个大厂,包括阿里,惨的是我挂在了第三轮。
因为面试的是后端高级开发工程师,所以纯粹的技术性问题比如AOP、Bean生命周期、JDK基本的并发等等进行了深入的讨论,在Bean的生命周期就栽了...
Spring官方文档对于Bean的定义:Bean就是由IOC实例化、组装、管理的一个对象。
而关于Bean的生命周期,如果不从Spring开始聊的话,很多人都下意识会想到New,通过New对象的形式来实现对Bean的实例化操作,而不再使用Bean后,这时候Java就会对这个指定的Bean来进行垃圾回收。
但是对于Spring来说,Bean的生命周期的理解可能就比较让人头疼了,毕竟Spring这么复杂,而且对Bean管理也非常的有逻辑,每一层都有每一层的步骤。
“Spring中Bean的生命周期分了哪几个步骤”,是面试中的高频问答。相信大部分的人都能回答出个大概,比如说:
通过构造方法实例化 Bean 对象
通过Setter方法设置对象的属性
通过Aware,也就是他的子类BeanNameAware,调用Bean的setBeanName()方法传递Bean的ID(XML里面注册的ID),SetBeanName方法是在bean初始化时调用的,通过这个方法可以得到BeanFactory和 Bean 在 XML 里面注册的ID
...
不过平时为了简化,会从这五个方面记忆:
构造实例化
属性赋值
完成初始化
前后处理
使用后销毁
当然这要更深层次开展的话,面试官还会问什么是BeanDefinition?它为什么非常重要?什么是Bean的后置处理器?什么是Bean工厂的后置处理器...
而大厂面试的所有的问题几乎都是围绕具体场景,你必须要知道为什么要用这个技术,以及如何做到高可用等等。
为了让大家对Spring框架掌握得更加深入,以及要进入到实际项目的开发要用到的Mysql、JVM、Mybatis等等技术,限时0元Java进阶训练营,入群即可领取听课名额。
Spring中Bean的生命周期有哪些步骤?
什么是BeanDefinition?它为什么非常重要?
什么是Bean的后置处理器?
什么是Bean工厂的后置处理器?
什么是BeanFactory?它与ApplicationContext的区别?
什么是FactoryBean?它与BeanFactory的区别?
@Import、@Component、@Bean的区别是什么?
-
什么是ImportBeanDefinitionRegistrar? 它的作用是什么?
Mysql中使用B+树来实现索引,why?
什么是覆盖索引、索引下推、索引扫描,what?
Mysql中的主键索引是如何生成的,how?
Mysql中的联合索引是如何生成的,how?
千万级数据量下如何利用索引进行优化,实战!
-
class文件被加载后在内存中是如何存储的? -
什么是方法区?永久代?元空间?热点代码缓存区? -
什么是动态链接?返回现场? -
类加载器、运行时数据区、程序计数器是如何协调工作的? -
对象是如何被回收的?回收过程中会进过哪些步骤? -
拟机栈、方法区、堆区之间的关系到底是什么? -
普通场景下我们该如何进行JVM调优? -
高并发场景下我们该如何进行JVM调优?
DAY4:深入理解阿里p7面试题Mybatis源码
传统JDBC弊端在哪儿?
Mybatis核心源码如何看?
Mybatis是如何连接数据库的?
Mybatis是如何执行sql语句的?
Mybatis如何操作数据库的?
Mybatis注解@Select源码解析与xml差役在哪儿?
到底怎样才能离阿里更近,除了要有目标,还应该持续不断的学习。本次课程限时0元,长按识别扫码进群,和更多小伙伴一起进入进阶的世界吧!
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!