首页 课程 师资 教程 报名

2020年面试常用题:最新Java面试题及答案

  • 2019-12-31 11:41:44
  • 2023次 动力节点


2020年面试常用题:最新Java面试题及答案


  面向对象编程基础


  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中的异常分为哪几类?


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


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


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


  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等等注解,加分


2020年面试常用题:最新Java面试题及答案


      以上就是动力节点Java培训机构小编介绍的“2020年面试常用题:最新Java面试题及答案”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


相关推荐


最新最全java面试题及答案(初级到高级)


史上最全的中高级JAVA工程师面试题及答案汇总


Java高级开发工程师面试题


2019史上最全java面试题题库大全800题


哪有资深java工程师面试题


选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交