论offer拿到手软是一种什么样的体验?精选BAT校招87道java面试题

Java核心技术部分的面试题,可能覆盖Java基本语法、面向对象(包括类定义、方法、构造器、递归、继承、抽象类、接口、枚举以及final、static等关键字)、Java常用API、Java集合框架(需要重点掌握)、注解(Annotation)、泛型、输入/输出、多线程、网络通信、反射、内存管理等相关内容。

一、面试精选题

1、面向对象的特征有哪些?
2、Java中实现多态的机制是什么?
3、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
4、String是基本数据类型吗?
5、int和Integer有什么区别
6、Java有没有goto?
7、String和StringBuffer、StringBuilder的区别
8、Collection和Collections的区别。
9、说说&和&&的区别。
10、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
11、Java如何跳出当前的多重嵌套循环?
12、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
13、String s = new String(“xyz”);创建了几个String Object?
14、数组有没有length()这个方法? String有没有length()这个方法?
15、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
16、char型变量中能不能存储一个中文字符?为什么?
17、用最有效率的方法算出2乘以8等于几?
18、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
19、"==“和equals方法究竟有什么区别?
20、静态变量和实例变量的区别?
21、是否可以从一个static方法内部调用非static方法?
22、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
23、请说出作用域public,private,protected,以及不写时的区别
24、外部类能用private、protected修饰吗?内部类可以用private、protected修饰吗?
25、一个类定义多个重载方法,参数分别是int ,char,和double,然后将double x = 2,传递进去,会选择哪个方法?
26、说说has a与is a的区别。
27、ClassLoader如何加载class。
28、GC是什么?为什么要有GC?
29、垃圾回收的优点和原理。并考虑2种回收机制。
30、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
31、什么时候用assert。
32、Java中会存在内存泄漏吗,请简单描述。
33、能不能自己写个类,也叫java.lang.String?
34、ArrayList如何实现插入的数据按自定义的方式有序存放
35、序列化接口的版本号(id)有什么用?
36、hashCode()方法的作用?
37、编写一个函数将一个十六进制数的字符串参数转换成整数返回。
38、银行还款问题
39、任意数字序列“123456”之类,输出它们所有的排列组合
40、构造器Constructor是否可被override?
41、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?抽象类中是否可以有静态的main方法?
42、写clone()方法时,通常都有一行代码,是什么?
43、abstract class和interface有什么区别?
44、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
45、什么是内部类?Static Nested Class和Inner Class的不同。
46、内部类可以引用它的外部类的成员吗?有没有什么限制?
47、Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
48、super.getClass()方法调用
49、JDK中哪些类是不能继承的?
50、String s = “Hello”;s = s + " world!”;这两行代码执行后,原始的String对象中的内容到底变了没有?
51、是否可以继承String类?
52、如何把一段逗号分割的字符串转换成一个数组?
53、下面这条语句一共创建了多少个对象:Strings=“a”+“b”+“c”+“d”;
54、Collection框架中实现比较要实现什么接口
55、ArrayList和Vector的区别
56、HashMap和Hashtable的区别
57、List和Map区别?
58、List, Set, Map是否继承自Collection接口?
59、List、Map、Set三个接口,存取元素时,各有什么特点?
60、说出ArrayList,Vector, LinkedList的存储性能和特性
61、去掉一个Vector集合中重复的元素

62、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?

63、你所知道的集合类都有哪些?主要方法?
64、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
65、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo()方法,还是使用的子类的compareTo()方法,还是抛异常!
66、说出一些常用的类,包,接口,请各举5个
67、Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
68、字节流与字符流的区别
69、什么是Java序列化,如何实现Java序列化?或者请解释Serializable接口的作用。
70、描述一下JVM加载class文件的原理机制?
71、heap和stack有什么区别。
72、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
73、下面的程序代码输出的结果是多少?
74、final, finally, finalize的区别。
75、运行时异常与一般异常有何异同?
76、error和exception有什么区别?
77、Java中的异常处理机制的简单原理和应用。
78、请写出你最常见到的5个runtime exception。
79、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别代表什么意义?在try块中可以抛出异常吗?
80、Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
81、sleep()和wait()有什么区别?
82、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
83、多线程有几种实现方法?同步有几种实现方法?
84、启动一个线程是用run()还是start()?
85、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
86、线程的基本概念、线程的基本状态以及状态之间的关系
87、简述synchronized和java.util.concurrent.locks.Lock的异同?

二、总结

如果觉得本文对你有帮助的话,请你也不要吝啬你的赞,你们的支持是对我最大的鼓励。今天的Java知识分享就到这里!点关注,不迷路,关注程序员曾曾,每天分享不同的Java基础知识,想要知道更多Java基础知识和面试答案的我这边整理了一个我自己的GitHub仓库:Java小白修炼手册,大家如果有需要可以自行查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值