java大厂社招面试题有哪些?附面试答案!

面试java岗位,如果平时不积累一些相关面试题心里肯定没有底,毕竟java是技术岗,需要的是专业知识以及技能,那java大厂社招面试题有哪些?下面来我们就来给大家分享一些。

1. Java的Object类中有哪些方法,各自的用途?

clone()方法是用来进行拷贝一个对象的,他使用的是一种浅拷贝的方式。

finalize() 方法是Object对象的protected修饰的方法,当虚拟机在进行回收一个对象之前的时候,会去调用该对象的finalize()方法,这个方法只能是被动的被调用,就算是我们主动去调用该方法去回收一个对象,也不会起到作用的,因为他是有虚拟机自己去决定的。

2. 讲一讲泛型,有没有在jdk源码层面研究过泛型?

其实泛型的本质目的就是为了参数化类型,但是泛型的底层其实是经过了一个泛型擦除的过程,只在代码编译阶段才会起到作用,而在进入JVM之前,与泛型有关的信息就会被擦除,这个过程就叫做泛型擦除。

泛型不仅可以对一个对象进行使用泛型,还可以是接口、方法。那就说说泛型擦除吧,他其实在JVM中还是那个类,不会因为你加了泛型,就把泛型和加泛型的类、方法、接口绑定一起,但是在利用反射的时候,其实只能获取到原本的类、方法、接口,根本就没有泛型这一说(在进入JVM中之后),List l1 = new ArrayList() 和 List l2 = new ArrayList(),其实l1和l2通过泛型得到的字节码都是一样的没有什么区别。

这里就使用了泛型擦除,但是泛型擦除也有例外的情况,比如说你在定义一个类的时候,你给这个类(定义的类)加了一个泛型上界public Class Teacher ,那么此时通过反射得到Teacher 这个定义类类型其实就是Teacher 类型,如果么没有加这个泛型上界的话,就还是Object类型。

3. switch中可以用String吗?

在Java5以前,switch(expr)中,exper只能是byte,short,char,int类型(或其包装类)的常量表达式。

从Java5开始,java中引入了枚举类型,即enum类型。

从Java7开始,exper还可以是String类型。

但是long在所有版本中都是不可以的。

jdk1.7并没有新的指令来处理switch string,而是通过调用switch中string.hashCode,将string转换为int从而进行判断。hashcode返回的是int型。

4. 说一下重载和重写的区别?

首先重载是发生在同一个类中的,他的参数个数、参数顺序、参数类型都可以不同,但是重载的方法名必须相同。

重写的话,一般发生在父子类中,方法名、参数类型、参数列表都必须相同。典型的例子就是定义一个接口,我们去实现一个接口其实就是一种典型的重写。

要想成功面试java岗位,一些面试题还是要积累的,因为面试考的就是你的相关技能,而面试题中正好也能测试技能,多积累一些没有坏处!最后大家如果想要了解更多大厂面试题知识,敬请关注奇Q工具网。

推荐阅读:

java序列化漏洞搭建怎么弄?

java面试老是面试不上什么原因?如何解决?

java程序员能做多久?程序员如何提升能力?