当前位置: 首页 > article >正文

这个Java框架面试题,竟然难倒了工作4年的程序员!

一个工作了四年的小伙伴,他说自己从线下培训就开始接触spring,到现在已经快五年时间。他从来没有想过为什么要使用spring框架?结果在面试的时候,突然遇到这样一个问题,大脑一时间短路了,来求助好程序员老师这一类问题怎么样去回答?

下面我们来看一看普通人和高手的回答!

普通人的回答:,为什么要使用什么框架?我认为它核心是有AOP和IOC这两个组件,那么他能够帮我们在程序里面去做一些对象的管理,比如B的管理。我们的程序去构建这种对象的时候,它的耦合性就会更低,因为它统一相对于一个容器。还有它本身类似于黏合剂作用,可以帮我们把很多框架集成进来,对整个做外部开发来说会更加方便。

高手的回答:spring是一个轻量级的应用框架,它提供了AOP和IOC这两个核心的功能,它的核心目的是为了简化企业级的应用开发,使得开发者只需要关心业务的需求,不需要关心BEAN的一些管理,以及通过切片的方式对功能进行增强,从而去减少代码的一个侵入性。从spring本身的特性来看,我认为有几个关键点:

第一,它一个轻量级的框架,它的基本版本只有2MB。

第二,spring通过IOC的容器来去实现BEAN的生命周期管理,以及通过Di来实现依赖注入,从而去实现对象依赖的松耦合管理。

第三,spring提供了AOP的面向切面编程功能,它可以把我们业务逻辑和系统功能之间进行一个切分。

第四,MVC框架,spring MVC提供的功能更加强大且更加灵活的一个框架支持。

第五,事务管理,spring通过AOP去实现一个事的统一管理,对应用开发中的事务处理。

第六,Spring从第一个版本发布到现在,它的整个生态是非常庞大的,在业务开发的领域里面,spring生态几乎提供了非常完善的一个支持,更重要的一个点是它的整个社区的活跃度和技术的成熟度都非常高,所以我们在遇到问题的时候能够得到快速的一个响应。

以上就是小源对这个问题的理解。任何一个技术框架一定是为了解决某些特定场景问题的,只是大家忽略了这个点,为什么要用?再往高一点来说,其实就是技术的选型。能回答这个问题意味着在面对业务场景或者技术问题的解决方案上会有自己的见解和思考。所以啊,我自己也喜欢去在面试的时候问这一类的问题。好的,本期的普通人VS高手的面试系列的视频就到这结束了,有任何不懂的技术面试题欢迎随时私信我。另外三月份的面试文档已经整理好了,需要的可以在主页上加我


http://www.kler.cn/a/513.html

相关文章:

  • 【C语言】库函数常见的陷阱与缺陷(二):字符串转化函数[3]--strtol
  • PDF书籍《手写调用链监控APM系统-Java版》第7章 插件与链路的结合:Tomcat插件实现
  • 【ES6复习笔记】函数参数的默认值(6)
  • 计算机毕业设计Python+Spark知识图谱酒店推荐系统 酒店价格预测系统 酒店可视化 酒店爬虫 酒店大数据 neo4j知识图谱 深度学习 机器学习
  • css改变输入右下角图标
  • 观察者模式和发布-订阅模式有什么异同?它们在哪些情况下会被使用?
  • 多项式回归初探及实践
  • 大学生考研的意义?
  • web实现太极八卦图、旋转动画、定位、角度、坐标、html、css、JavaScript、animation
  • 学会这12个Python装饰器,让你的代码更上一层楼
  • Android 9.0 Launcher3双层(抽屉)高斯模糊(毛玻璃)背景功能的实现
  • Springboot——自定义Filter使用测试总结
  • 【python绘图】matplotlib+seaborn+pyecharts学习过程中遇到的好看的绘图技巧(超实用!)(持续更新中!)
  • Pandas数据分析实战练习
  • 图像修复与去噪
  • Python 基础教程【2】:条件语句和循环语句
  • 蓝桥杯刷题冲刺 | 倒计时24天
  • 【pygame游戏】Python实现蔡徐坤大战篮球游戏【附源码】
  • 17.电话号码的字母组合(深度递归遍历解决经典老题)
  • Python的30个编程技巧
  • 软测面试了一个00后,绝对能称为是内卷届的天花板
  • 数据结构One——绪论
  • ChatGPT是如何训练得到的?通俗讲解
  • 程序员必会技能—— 使用日志
  • 【IoT】嵌入式驱动开发:IIC子系统
  • Qt浏览器开发:关于QCef以及qcefview开发原理