搭SSM框架都困难,那Spring源码更不用说了
今天又面试了一波Java程序员,有好几位80后的。按理说,他们有将近十年的工作开发时间,无论经验还是技术都应该称得上老司机了。着重考察了Spring中bean的后置处理器相关问题,大概是这样问的:
面试官:简历上写了读过Spring源码,具体读过哪些部分?
我:比如Spring的启动过程源码,比如扫描包、执行Bean工厂后置处理器、Bean的生成过程等
面试官:你说说一个Bean是怎么生成的?
我:Bean的生成过程就是Bean的生命周期,包括Bean的实例化、属性注入、初始化等等
面试官:嗯,那可以再详细说说什么是Bean的后置处理器?什么是Bean工厂的后置处理器?
我: 这个...,我没认真深入过。
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:深入理解Springboot底层原理
-
SpringBoot是如何做到零配置的? -
SpringBoot启动过程中到底发生了什么? -
SpringBoot是怎么做到与Tomcat无缝连接使用的? -
如果你去华为,面试官会怎么问你SpringBoot相关知识点?