专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 面试官会问中级Java工程师哪些问题?

面试官会问中级Java工程师哪些问题?

更新时间:2019-10-06 09:00:00 来源:动力节点 浏览2521次



  中级java工程师,要有扎实的java基础和面向对象编程基础,对jdk中的基础类有一定的使用积累和理解;并且在业务方面,可以担任一些模块的独立开发。


  根据上述两个必要条件进行筛选,在技术方面,作为面试官会问以下问题:


QQ截图20190702113743.jpg


  面向对象编程基础


  1简述一下面向对象的三大特征?


  回答:根据一些小例子描述封装,继承,多态,ok;通过自己开发的代码说明封装,继承,多态(重点),加分。


  举例:我们项目的用户体系很大,而我负责开发其中一种用户类型,这种用户类型是在原有的用户上追加了XX属性,所以选择了继承原有用户的模型......


  2.简述对开闭原则的理解?(其实有5大原则,而开闭原则相对比较被大家熟悉)


  回答:开放扩展,关闭修改,OK;如果结合自己的代码说明,加分


  PS:一般情况下,开闭原则的思想使用在设计最初预见到功能的扩展性的时候,或者第一次需要扩展某一项功能而对原有代码进行重构的时候。如果面试者回答出相关的,说明可能是有相关设计经验的。


  3.类和对象的关系?


  回答:类可以看做是对象的一个模板,对象是类在实际运行时的表象,类似这种意思都OK;从jvm内存角度分析从类创建出对象的过程,加分(这个属于高级开发部分)


  java基础和jdk常用类使用


  1.你在项目中使用过的集合有哪些?


  回答:ArrayList,linkedList,HashSet,HashMap就OK;如果分类回答出Collection的子类和Map的子类,加分;如果回答出ArrayList,LinkedList,Vector的区别,加分;如果回答出HashSet,LinkedHashSet,TreeSet的区别,加分;如果回答出Queue,加分;如果回答出HashMap,HashTable,TreeMap的区别,加分


  PS:有时候也会直接提问使用过的Collection的子类,这时请不要回答Map相关的子类


  2.java中的异常分为哪几类?


  回答:CheckedException和UncheckedException,OK;说出它们的区别,并列举出常用的CheckedException,加分;


  追加提问:你在项目中如何使用Uncheckedexception?(陷阱题)


  回答:在项目中,不直接抛出Uncheckedexception,而是将Uncheckedexception包装成业务异常(CheckedException)再抛出,OK;如果描述如何抛出Uncheckedexception,但是不能说明在什么情况下进行处理时,扣分


  3.有5个String类型的变量,想要直接拼接起来成为一个字符串,是使用+号拼接,还是使用其他方式?(陷阱题)


  回答:使用+号拼接,OK;能直接说明StringBuilder和StringBuffer,并且解释不适用题目情况的理由,加分


  看面试者的回答追加提问:为什么使用/不使用StringBuilder或者StringBuffer?


  回答:直接拼接现有字符串,使用+号直接拼接并不存在内存浪费,而StringBuilder和StringBuffer在执行效率上比+号拼接要差。


  4.简述一下hashcode的作用?


  回答:int类型的对象的散列码,是为了更好的支持基于哈希机制的Java集合类,例如Hashtable,HashMap,HashSet,意思描述正确就OK;和equals的使用做比较,重写equals必须重写hashcode。equals返回true,hashcode一定返回true;而hashcode一定返回true,equals不一定返回true。加分。


  5.什么时候使用finally关键字?


  回答:try...catch后书写finally代码块,finally代码块一般是用于释放try代码块中使用的资源,OK;回答出代码块调用顺序,加分。


  设计模式


  (对于中级java工程师来说,单例和工厂模式是最为常用的,也许他们在不知不觉中一直在使用,但是如果可以描述清楚的话,那么更好)


  1.描述或者写出一个你在项目中编写的单例模式的类


  回答:描述清楚或者写清楚了,ok;能回答出多种单例模式方案和比较的,加分


  2.描述或者写出一个你在项目中编写的工厂模式的类


  回答:工厂模式有多种,描述一种就OK:能回答多种工厂模式的并且思路清晰的,加分


  Spring相关


  (99%Java面试者的简历中都会写熟悉Spring框架。但是真要提问概念性的东西,IOC、AOP等等,最多就是背一个概念,所以Spring提问的出发点还是中级工程师平时用到的一些基础性的东西)


  1.描述一下如何使用@Autowired注解和@Qualifier注解


  回答:@Autowired是Spring在任意粒度进行自动装配控制的注解,@Qualifier是在自动装配多个同源实现时,指定唯一实现使用的注解,意思对就OK;结合项目说明使用方式,加分。


  2.Spring的配置方式有哪些?


  回答:XML配置,注解配置,java代码配置,OK;说明区别,加分


  追加提问:举例java代码配置?


  回答:使用@Configuration和@Bean注解,OK;使用过@Condition系列,@Import等等注解,加分


  中级java工程师阶段是工程师中基数最大的人群,基础参差不齐,选拔定位都比较困难,所以问题的广度也很大。中级java工程师的面试中,除了上面的一些技术问题外,结合简历中的项目经验的提问也很多,但是这个就无法总结了,需要根据实际情况提问和回答。


  以上就是动力节点java培训机构小编介绍的“面试官会问中级Java工程师哪些问题?”的内容,希望对大家有帮助,更多java最新资讯请继续关注动力节点java培训机构官网,每天会有精彩内容分享与你。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>