JAVA 常见面试题,进大厂必备

JAVA 常见面试题,进大厂必备

篇幅有限,只有前面十题的答案,第十题以后的答案见

示例 1 : 面向对象的特征有哪些方面?

封装
最常见的是把属性私有化封装在一个类里面,只能通过方法去访问
继承
子类继承父类,从而继承了父类的方法和属性
抽象
比如一个英雄类,抽象出了name,hp这些属性,使得开发过程中更加易于理解
多态
多态分操作符的多态和类的多态。 类的多态指父类引用指向子类对象,并且有继承,有重写。

示例 2 : String是最基本的数据类型吗?

String是类类型,不是基本类型。
基本类型 有八种
这八种基本类型分别是:
整型 (4种)
字符型 (1种)
浮点型 (2种)
布尔型(1种)

示例 3 : int 和 Integer 有什么区别?

int 是基本类型32位长度的整数

Integer 是类类型,是int的封装类

int和Integer之间可以通过自动装箱 自动拆箱 互相转换

示例 4 : String 和StringBuffer的区别?

String是immutable的,其内容一旦创建好之后,就不可以发生改变。
StringBuffer 是可以变长的,内容也可以发生改变
改变的原理是StringBuffer内部采用了字符数组存放数据,在需要增加长度的时候,创建新的数组,并且把原来的数据复制到新的数组这样的办法来实现。
更多细节可以参考 模仿StringBuffer的 MyStringBuffer 类是如何实现的。

示例 5 : 运行时异常与一般异常有何异同?

运行时异常 又叫做非可查异常,在编译过程中,不要求必须进行显示捕捉
一般异常又叫做可查异常,在编译过程中,必须进行处理,要么捕捉,要么通过throws 抛出去.

示例 6 : 说出ArrayList,Vector, LinkedList的存储性能和特性。

先说ArrayList和Vector
两者都继承了抽象类AbstractList,但是Vector是线程安全的,而ArrayList是非线程安全

再说ArrayList和LinkedList的区别
ArrayList 是数组结构,所以定位很快,但是插入和删除很慢
LinkedList 是双向链表结构,所以插入和删除很快,但是定位很慢

示例 7 : Collection 和 Collections的区别。

首先不要说成了一个是单数,一个是复数。。。
Collection是接口,是List和Set的父接口
Collections是工具类,提供了排序,混淆等等很多实用方法

示例 8 : &和&&的区别

& 有两个作用,分别是 位与逻辑与
&& 就是逻辑与
作为逻辑与, & 和 && 分别表示长路与和短路与
长路与 两侧,都会被运算
短路与 只要第一个是false,第二个就不进行运算了

示例 9 : HashMap和Hashtable的区别

HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式
区别1:
HashMap可以存放 null
Hashtable不能存放null
区别2:
HashMap不是线程安全的类
Hashtable是线程安全的类

示例 10 : final, finally, finalize的区别

final
final修饰类,方法,基本类型变量,引用的时候分别有不同的意思
修饰类 表示该类不能被继承
修饰方法 表示该方法不能被重写
修饰基本类型变量 表示该变量只能被赋值一次
修饰引用 表示该引用只有一次指向对象的机会
finally
finally 是用于异常处理的场面,无论是否有异常抛出,都会执行
finalize
finalize是Object的方法,所有类都继承了该方法。 当一个对象满足垃圾回收的条件,并且被回收的时候,其finalize()方法就会被调用

第十题以后的答案
互联网大厂

示例 11 : Overload和Override的区别,即重载和重写的区别。 Overloaded的方法是否可以改变返回值的类型?

示例 12 : Error和Exception有什么区别?

示例 13 : abstract class和interface有什么区别?

示例 14 : heap和stack有什么区别

示例 15 : GC是什么? 为什么要有GC?

示例 16 : short s1 = 1; s1 = s1 + 1;有什么错?

示例 17 : Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

示例 18 : String s = new String(“xyz”);创建了几个String Object?

示例 19 : Java有没有goto?

示例 20 : 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

示例 21 : List, Set, Map是否继承自Collection接口?

示例 22 : abstract的method是否可同时是static,是否可同时是synchronized?

示例 23 : 数组有没有length()这个方法? String有没有length()这个方法?

示例 24 : Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?

示例 25 : 构造器Constructor是否可被override?是否可以继承String类?

示例 26 : switch 是否能作用在byte上,是否能作用在long上,是否能作用在String上?

示例 27 : try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

示例 28 : 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

示例 29 : 垃圾回收的优点和原理。并考虑2种回收机制。

示例 30 : 你所知道的集合类都有哪些?主要方法?

示例 31 : char型变量中能不能存贮一个中文汉字?为什么?

示例 32 : 解析XML文档有哪几种方式?

示例 33 : 关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

示例 34 : 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

示例 35 : java中有几种类型的流?

示例 36 : java中会存在内存泄漏吗,请简单描述。

示例 37 : java中实现多态的机制是什么?

示例 38 : 静态变量和实例变量的区别?

示例 39 : 什么是java序列化,如何实现java序列化?

示例 40 : 是否可以从一个static方法内部发出对非static方法的调用?

示例 41 : 在JAVA中,如何跳出当前的多重嵌套循环?

示例 42 : List、Map、Set三个接口,存取元素时,各有什么特点?

示例 43 : Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以 implements(实现)interface(接口)?

示例 44 : 内部类可以引用外部类的成员吗?有没有什么限制?

示例 45 : 多线程有几种实现方法,都是什么?

示例 46 : sleep() 和 wait() 有什么区别?

示例 47 : 说出数据连接池的工作机制是什么?

示例 48 : 简述synchronized和java.util.concurrent.locks.Lock的异同 ?

示例 49 : Class.forName的作用?为什么要用?

示例 50 : 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法

示例 51 : 给我五个你最常见到的runtime exception。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值