在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
众所周知,想要从普通的Java开发程序员成长为Java架构师,并不是一件轻松的事。首先Java架构师需要了解框架源码分析、性能优化、池技术等等知识技能。本文为大家整理了Java架构师经典能力提升笔试题汇总,感兴趣的同学赶紧来做一做吧!
1、什么是Spring框架?Spring框架有哪些主要模块?
答:Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。
2、使用Spring框架能带来哪些好处?
答:(1)DependencyInjection(DI)方法使得构造器和JavaBeanproperties文件中的依赖关系一目了然。与EJB容器相比较,IoC容器更加趋向于轻量级。这样一来IoC容器在有限的内存和CPU资源的情况下进行应用程序的开发和发布就变得十分有利。
(2)Spring并没有闭门造车,Spring利用了已有的技术比如ORM框架、logging框架、J2EE、Quartz和JDKTimer,以及其他视图技术。
(3)Spring框架是按照模块的形式来组织的。由包和类的编号就可以看出其所属的模块,开发者仅仅需要选用他们需要的模块即可。
(4)要测试一项用Spring开发的应用程序十分简单,因为测试相关的环境代码都已经囊括在框架中了。更加简单的是,利用JavaBean形式的POJO类,可以很方便的利用依赖注入来写入测试数据。
(5)Spring的Web框架亦是一个精心设计的WebMVC框架,为开发者们在web框架的选择上提供了一个除了主流框架比如Struts、过度设计的、不流行web框架的以外的有力选项。
(6)Spring提供了一个便捷的事务管理接口,适用于小型的本地事物处理(比如在单DB的环境下)和复杂的共同事物处理(比如利用JTA的复杂DB环境)。
3、请讲述String 和StringBuffer的区别。
答:String 类所定义的对象是用于存放“长度固定”的字符串。StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。
4、请解释下Spring框架中的IoC?
答:Spring中的org.springframework.beans包和org.springframework.context包构成了Spring框架IoC容器的基础。BeanFactory接口提供了一个先进的配置机制,使得任何类型的对象的配置成为可能。ApplicationContex接口对BeanFactory(是一个子接口)进行了扩展,在BeanFactory的基础上添加了其他功能,比如与Spring的AOP更容易集成,也提供了处理messageresource的机制(用于国际化)、事件传播以及应用层的特别配置,比如针对Web应用的WebApplicationContext。org.springframework.beans.factory.BeanFactory是SpringIoC容器的具体实现,用来包装和管理前面提到的各种bean。BeanFactory接口是SpringIoC容器的核心接口。IOC:把对象的创建、初始化、销毁交给spring来管理,而不是由开发者控制,实现控制反转。
5、什么是SpringMVC?
答:SpringMvc是spring的一个模块,基于MVC的一个框架,无需中间整合层来整合。
SpringMVC的优点:(1)它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件.并且和Spring提供的其他基础结构紧密集成.
(2)不依赖于ServletAPI(目标虽是如此,但是在实现的时候确实是依赖于Servlet的)
(3)可以任意使用各种视图技术,而不仅仅局限于JSP
(4)支持各种请求资源的映射策略
(5)它应是易于扩展的
6、SpringMVC工作原理?
(1)客户端发送请求到DispatcherServlet
(2)DispatcherServlet查询handlerMapping找到处理请求的Controller
(3)Controller调用业务逻辑后,返回ModelAndView
(4)DispatcherServlet查询ModelAndView,找到指定视图
(5)视图将结果返回到客户端
7、什么是MyBatis?
答:MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。讲下MyBatis的缓存:MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置。
8、Mybatis是如何进行分页的?分页插件的原理是什么?
(1)Mybatis使用RowBounds对象进行分页,也可以直接编写sql实现分页,也可以使用Mybatis的分页插件。
(2)分页插件的原理:实现Mybatis提供的接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql。举例:selectfromstudent,拦截sql后重写为:selectt.from(select*fromstudent)tlimit0,10
9、简述Mybatis的插件运行原理,以及如何编写一个插件?
答:(1)Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这4种接口的插件,Mybatis通过动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法。
(2)实现Mybatis的Interceptor接口并复写intercept()方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。
10、谈谈你对抽象类和接口的理解。
答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。
以上就是Java架构师经典能力提升笔试题汇总。大家都刷过一遍了吗?不明白的地方可以多看看参考答案,或是复习一下相关知识点,查漏补缺。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
成为Java架构师需要学习哪些知识?
成为 Java 架构师需要学习哪些知识?相信 Java 架构师是很多程序员的终极目标,其实立志成为Java 架构师,最应该做好准备的是保持一颗持之以恒学习的心。学习专业技能知识固然重要,但是如果没有这个前提,许多人在通往梦想的路上就已经放弃了。因此,学习态度是一切的前提和决定成败的关键因素。
5861
2020-06-19 10:52:01
成为Java架构师需要具备的基础知识有哪些?
行业中对于Java架构师的要求较高,需要掌握秒杀技术架构百万并发代理设计、动静分离架构思想、熔断限流实战、异步消息通信设计、垂直日志收集设计、秒杀冷热商品抢单实战、LVS+Nginx集群抢单百万并发实战等技术,入门学习了解可以先学习一下基础的部门。
3970
2020-11-20 14:46:09
如何才能快速成为一名Java架构师?
如何才能快速成为一名Java架构师?很多程序员从业2、3年后都会进入一个迷茫期,或是瓶颈期,不知道如何进一步提升成为一名Java架构师。解决这个问题其本质是知道如何学习才能快速成为架构师。接下来我们就具体的了解一下。
2909
2022-09-29 16:42:05
Redis持久化机制实现原理是什么?流程是什么?
Redis持久化机制实现原理是什么?流程是什么?持久化就是把内存中的数据存放到磁盘中,防止宕机后内存数据丢失。按照指定的时间间隔内将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump.rdb。通过配置文件中的save参数来定义快照的周期。
2265
2022-05-18 16:02:24
目前Java架构师现状如何?前景怎么样?
架构师是什么?各种架构师没有严格意义上的规定,往往各个公司根据自己业务的领域接合架构师所做的事情来划分,从互联网开发领域来看,各个软件分层上,大致区分为:业务架构、间件架构、系统架构。
3168
2022-06-30 09:30:31
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
