有很多java工程师想升级为java架构师,因为成为Java架构师,就会实现升职加薪,但是大家知道在面试java架构师的时候会问哪些问题吗?下面我们就给大家分享一些java架构师面试题以及答案。
1.方法重载和方法重写的概念和区别是什么?
方法重写(override):即方法覆盖。指的是父子类中方法的关系。父类A中有方法method1,在子类中想要使用method1这个方法签名而又要实现与父类method1方法不同的功能,这个时候就要用到方法重写。即子类使用父类的方法签名,但子类方法体与父类不同,实现的功能不同。(实现了父类方法内部逻辑,即覆盖,方法名称和参数保持一致)
方法重载(overload):同一个类中方法之间的关系。这里要弄清楚如何区别是两个方法签名是否同一个方法的签名。方法签名的区分规则:方法签名的区分是以方法的参数类型、排序与个数为标准的。如果两个方法签名有相同的参数类型、参数排序和参数个数,那么这两个方法使用的同一个签名。在同一个类中两个方法使用同一个方法签名会报错。而方法重载就是两个方法使用了相同的方法名而方法的参数不一致。(方法名称一致,但是参数类型和个数不一样)
2.什么是Spring框架?Spring框架有哪些主要模块?
Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。
3.简述Mybatis的插件运行原理,以及如何编写一个插件?
1)Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这4种接口的插件,Mybatis通过动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法。
2)实现Mybatis的Interceptor接口并复写intercept()方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。
4.谈谈SSH整合。
struts(表示层)+spring(业务层)+hibernate(持久层)
struts是一个表示层的框架,主要用于接收请求,分发请求。struts其实属于MVC中的VC层次的;
hibernate是一个持久层的框架,主要负责与关系数据库的操作;
spring是一个业务层的框架,是一个整合的框架,能够很好的黏合表示层和持久层。
想成为java架构师除了要积累一些面试题之外,还要不断的实践提高自己的专业技能,这样会更有利于面试成功!最后大家如果想要了解更多java面试题知识,敬请关注奇Q工具网。
推荐阅读: