当前位置: 首页 / 技术干货 / 正文
好程序员Java培训分享Java架构师常见基础面试题

2020-03-04

好程序员 Java培训 Java教程

  好程序员Java培训分享Java架构师常见基础面试题随着每日确诊病例人数的减少以及治愈患者人数增多,随着这场抗“疫”战争即将以胜利告终,接踵而来的是企业复工、金三银四求职高峰季的来临。有很多Java工程师想要把握住这个机会,实现升职加薪、成为Java架构师。但你知道企业在招聘面试时会提问什么吗?接下来的好程序员Java培训求职指南就给大家分享一些基础面试题答疑。

Java工程师

  1、什么是Spring框架?Spring框架有哪些主要模块?

  Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,WebAOP(面向切面编程)、工具、消息和测试模块。

  2SpringMVC工作原理?

  1)客户端发送请求到DispatcherServlet

  2)DispatcherServlet查询handlerMapping找到处理请求的Controller

  3)Controller调用业务逻辑后,返回ModelAndView

  4)DispatcherServlet查询ModelAndView,找到指定视图

  5)视图将结果返回到客户端

  3、讲下MyBatis的缓存

  MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置。

  4、简述Mybatis的插件运行原理,以及如何编写一个插件?

  1)Mybatis仅可以编写针对ParameterHandlerResultSetHandlerStatementHandlerExecutor4种接口的插件,Mybatis通过动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandlerinvoke()方法,当然,只会拦截那些你指定需要拦截的方法。

  2)实现MybatisInterceptor接口并复写intercept()方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。

  5springmvcstruts2的区别?

  机制:springmvc的入口是servlet,struts2的入口是filter

  性能:springmvc会比struts2快一点。springmvc是基于方法设计,struts2是基于类,每次发一次请求都会实例一个action,每个Action都会被注入属性。

  参数传递:struts2是在接受参数的时候,可以采用属性来接收参数,这家说明可以让多个方法共享。

  拦截器机制:struts2有自己的interceptor机制,springmvc用的是独立的AOP方式,strtus2的配置文件还是比springmvc大,springmvc使用简洁,springMVCstruts2开发效率要高。

  6、谈谈SSH整合?

  struts(表示层)+spring(业务层)+hibernate(持久层)

  struts是一个表示层的框架,主要用于接收请求,分发请求。struts其实属于MVC中的VC层次的;

  hibernate是一个持久层的框架,主要负责与关系数据库的操作;

  spring是一个业务层的框架,是一个整合的框架,能够很好的黏合表示层和持久层。

  想了解更多Java架构师所需技能,你可以关注“好程序员”微信公众号,定期发布技术文章和行业趋势分析。你也可以参加好程序员Java培训班,跟随大牛讲师学习高端技能,快速实现技能提升,更有大量免费Java教程供大家参考学习。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号