主要针对Java,星星数量就是问的次数,代表重要程度。

IoC 的原理?⭐⭐⭐

IoC 控制反转,把对象创建、依赖反转给容器实现,需要创建一个容器和一种描述让容器知道对象间的依赖关系,Spring 通过 IoC 容器管理对象及其依赖关系。IoC 的主要实现方式是 DI,对象不是从容器中查找依赖的类,而是容器实例化对象时主动为它注入依赖的类。

不懂可以看这个博客https://www.cnblogs.com/superjt/p/4311577.html

AOP 的原理?⭐⭐⭐

AOP 面向切面编程,将代码中重复的部分抽取出来,使用动态代理技术,在不修改源码的基础上对方法进行增强。

如果目标对象实现了接口,默认采用 JDK 动态代理,也可以强制使用 CGLib(动态字节码增强技术);如果目标对象没有实现接口,采用 CGLib 的方式。

常用场景包括权限认证、自动缓存、错误处理、日志、调试和事务等。

相关注解

@Aspect:声明被注解的类是一个切面 Bean。

@Before:前置通知,指在某个连接点之前执行的通知。

@After:后置通知,指某个连接点退出时执行的通知(不论正常返回还是异常退出)。

@AfterReturning:返回后通知,指某连接点正常完成之后执行的通知,返回值使用 returning 属性接收。

@AfterThrowing:异常通知,指方法异常退出时执行的通知,和 @AfterReturning 只会有一个执行,异常使用 throwing 属性接收。

相关术语

Aspect:切面,一个关注点的模块化,这个关注点可能会横切多个对象。

Joinpoint:连接点,程序执行过程中的某一行为,即业务层中的所有方法。

Advice:通知,指切面对于某个连接点所产生的动作,包括前置通知、后置通知、返回后通知、异常通知和环绕通知。

Pointcut:切入点,指被拦截的连接点,切入点一定是连接点,但连接点不一定是切入点。

Proxy:代理,Spring AOP 中有 JDK 动态代理和 CGLib 代理,目标对象实现了接口时采用 JDK 动态代理,反之采用 CGLib 代理。

Target:代理的目标对象,指一个或多个切面所通知的对象。

Weaving :织入,指把增强应用到目标对象来创建代理对象的过程。

Spring 中有哪些设计模式?

简单工厂模式:Spring 中的 BeanFactory,根据传入一个唯一的标识来获得 Bean 实例。

工厂方法模式:Spring 的 FactoryBean 接口的 getObject 方法。

单例模式:Spring 的 ApplicationContext 创建的 Bean 实例都是单例对象。

代理模式:Spring 的 AOP。

适配器模式:Spring MVC 中的 HandlerAdapter,由于 handler 有很多种形式,包括 Controller、HttpRequestHandler、Servlet 等,但调用方式又是确定的,因此需要适配器来进行处理,根据适配规则调用 handle 方法。

整理农行面试软开最常问到的题---------框架相关推荐

  1. 面试官十大常问面试问题总结

    面试时,有几个问题是面试人员常常会提出的,针对这些问题好好准备,在面试时也就不会哑口无言,无言以对了,现在找工作,得面试.面试技巧也是一大学问,面试的功夫做到家了,找工作很容易的.下面就面试官十大常问 ...

  2. 面试常问的算法题,吐血总结,转载请注明出处,然后不要忘记点赞!

    面试常问的算法题,吐血总结,转载请注明出处,然后不要忘记点赞! 本人是硕士,西北地区一个末流211,投了四十家公司,面试了二十五次左右,公司大概有百度.阿里.腾讯.字节.华为.海康.美团(给我一天打了 ...

  3. 面试中人力资源部常问的问题

    面试中HR常问的问题: 1.先简单介绍一下自己,以及工作经历. 2.为什么离开原来的公司? 3.如何看待加班?(外包公司最喜欢问) 4.你认为原来的公司怎么样? 5.如何看待现在的软件行业? 6.对自 ...

  4. 前端面试官常问javaScript编程题,隔壁王大爷看了都会了

    目录 1.数组排序. 2.数组元素的去重: 3.用递归的方法求数组的求和: 4.防抖节流的思路. 5.深拷贝.浅拷贝: 6.做一个10秒的倒计时: 7.setTimeout()和setInterval ...

  5. 【面试必背】 常问的15个MySQL数据库查询语句,

    一.什么是数据库? 数据库是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是在文件中读写 ...

  6. Python程序员面试中,被常问的七道题!(详细解题思路)

    俗话说的好,打仗之前知晓敌方的军情越多,获胜的把握也会越大,知己知彼方能百战不殆嘛!换个角度来说,如今的面试不正是和古代打战一样嘛,知晓的越多,成功几率也就越大. 如今,Python是个非常受欢迎的编 ...

  7. 面试中C语言常问问题(含答案)

    1. 什么是 C 语言?它与其他编程语言的异同点是什么? C 语言是一种通用的.高级的编程语言,它可以在不同的平台上编写可重用的代码.相比于其他编程语言,C 语言拥有更高的执行效率和更好的内存控制能力 ...

  8. 【面试】815- 面试官常问的 webpack 插件

    Plugin ❝ 何为插件(Plugin)?专注处理 webpack 在编译过程中的某个特定的任务的功能模块,可以称为插件.plugin 是一个扩展器,它丰富了 webpack 本身,针对是 load ...

  9. 测开工程师-面试常问测试用例

    测开工程师-面试常问测试用例 一.网络测试的一般流程 二.弱网功能测试 四.微信红包测试 五.无网状态测试 三.微信朋友圈点赞测试 六.登陆界面测试 七.直播APP测试 八.微信搜索界面测试 九.水杯 ...

  10. BTA 常问的 Java基础40道常见面试题及详细答案,java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

最新文章

  1. luogu p4767 邮局
  2. C#编程(三十五)----------foreach和yield
  3. EJB和JavaBean的区别
  4. ES6 异步编程之二:Promise
  5. python 窗口函数_太好用了!Python中8种流行的SQL窗口函数了解一下!
  6. java求根号函数_一般实系数四次方程的一种求根公式与根的判别法则及其推导...
  7. redis_基础_基本使用
  8. 搭建第一个Docker
  9. Docker 更新版本
  10. CTF加密题型解析:RSA算法的CTF解法之一
  11. matlab最速下降法例子,matlab 最速下降法 steepest descent (实例并附有详细说明)
  12. Hadoop_MapperContextInputSplitFileSplit源码浅析
  13. LeetCode 分数加减运算
  14. c语言中位运算符及用法
  15. getDerivedStateFromProps填坑
  16. TOP100summit:【分享实录】爆炸式增长的斗鱼架构平台的演进
  17. 大数据_数据来源类型
  18. 小白有这六个Python学习网站,比那些收费几百几千的还要好用
  19. linux交互式进程初始化失败怎么办,电脑进入安全方式仍然显示交互式登录进程初始化失败...
  20. RHEL7——进程管理

热门文章

  1. 最新Python使用键鼠模拟,DNF拍卖行
  2. c# 超时时间已到.在操作完成之前超时时间已过或服务器未响应,超时过期了。在操作完成或服务器没有响应之前经过的超时时间。声明已被终止...
  3. mybatis实战之拦截器
  4. altium designer14的Import wizard 没有内容或为空的解决方法
  5. NAS安装迅雷远程下载
  6. Web前端开发工程师需要掌握哪些核心技能?
  7. 收集最全的工业软件大集合
  8. screentogif能录制声音吗_学会了吗?使用GoldWave录制电脑中的声音
  9. ISP浅谈-Demosaic
  10. html添加购买按钮,萤火小程序商城给前端和商品组件增加“购买”按钮的方法...