Spring面试题一 |
0.题型划分 |
怎么样做到心里不慌? 一是要经历多次历练 ,二是学会问题的总结。我个人对面试题大致划分了题型: 和平题, 实在题,硬记题,攻击题, 绝望题。 和平题: 看似和平 其实是王炸 不好回答; 实在题: 比较实惠,容易答到点; 硬记题:当前不能消化,只能暂时记住 ;攻击题: 主要是些场景题,遇到就能答上; 绝望题:题目站的角度比较大,一般很难回答。 |
1.和平题 |
什么是IOC? |
答:咋一看,还以为问springIOC ,其实不是 ,这个问题 ,问的是 IOC思想 ,我们且看 大牛如何回答这个问题,简单地说:IoC 是反转控制,类似于好莱坞原则,主要有依赖查找和依赖注入实现。真的牛,就是不明白 ,IOC 是个啥。 我个人体会,浅谈理解, 大牛是回答没有直接解释 什么是IOC ,而是找了个相似的思想来阐述,这个思想就是好莱坞原则。我们来看下,好莱坞原则是啥 ,你不要打电话给我 ,我打电话给你。 细细体会 确实有点反转控制的味道。 大牛又举例 这个思想实现方式有两种依赖查找和依赖注入。那么你又会问 依赖查找和依赖注入是啥,且看下题。 |
Spring中的依赖注入是什么? |
答:依赖注入作为控制反转(IOC)的一个层面,在这个概念中,你不用创建对象而只需要描述如何创建它们。你不必通过代码直接的将组件和服务连接在一起,而是通过配置文件说明哪些组件需要什么服务。之后IOC容器负责衔接。 有没有醍醐灌顶的感觉。 |
2.实在题 |
Spring Framework 有哪些核心模块? |
答:spring-core: spring 基础API模块, 如资源管理 spring-beans: spring Bean相关,如依赖查找 依赖注入 spring-aop: spring AOP 处理,如动态代理 spring-context: 如 注解驱动 模块驱动 spring-expression: spring 表达式语言模块 |
如果你只回答了 spring-core、sprig-beans、 spring-aop、 spring-context、 spel,只能说了解 如果你不仅回答了 上面内容,你还回答了 模块一些功能 ,说明你有点熟悉 如果你上面都回答了,但是你还能举例 源码中一些相关类,说明你还真是熟悉很多补冲知识, spring到底有多少模块? |
AOP有哪些实现方式? |
答 : AOP实现的关键在于 代理模式,AOP代理主要分为静态代理和动态代理。静态代理的代表为AspectJ;动态代理则以Spring AOP为代表。 |
AspectJ是静态代理的增强,所谓静态代理,就是AOP框架会在编译阶段生成AOP代理类,因此也称为编译时增强,他会在编译阶段将AspectJ(切面)织入到Java字节码中,运行的时候就是增强之后的AOP对象。 |
Spring AOP使用的动态代理,所谓的动态代理就是说AOP框架不会去修改字节码,而是每次运行时在内存中临时为方法生成一个AOP对象,这个AOP对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。 |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |