Java面试宝典版.docx
《Java面试宝典版.docx》由会员分享,可在线阅读,更多相关《Java面试宝典版.docx(208页珍藏版)》请在冰豆网上搜索。
Java面试宝典版
一.Java基础部分......................................................................................................2
1、一个".java"源文件中是否可以包括多个类(不是内部类)?
有什么限制?
.....2
2、Java有没有goto?
..........................................................................................2
3、说说&和&&的区别。
......................................................................................2
4、在JAVA中如何跳出当前的多重嵌套循环?
...................................................2
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
...2
6、shorts1=1;s1=s1+1;有什么错?
shorts1=1;s1+=1;有什么错?
..................2
7、char型变量中能不能存贮一个中文汉字?
为什么?
............................................2
8、用最有效率的方法算出2乘以8等於几?
2
9、请设计一个一百亿的计算器..........................................................................2
10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
2
11、"=="和equals方法究竟有什么区别?
...........................................................2
12、静态变量和实例变量的区别?
.....................................................................2
13、是否可以从一个static方法内部发出对非static方法的调用?
........................2
14、Integer与int的区别.....................................................................................2
15、Math.round(11.5)等於多少?
Math.round(-11.5)等於多少?
...............................2
16、下面的代码有什么不妥之处?
.......................................................................2
17、请说出作用域public,private,protected,以及不写时的区别.......................2
18、Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型?
2
19、构造器Constructor是否可被override?
..........................................................2
20、接口是否可继承接口?
抽象类是否可实现(implements)接口?
抽象类是否可继承具体类(concreteclass)?
抽象类中是否可以有静态的main方法?
.......................................................................2
21、写clone()方法时,通常都有一行代码,是什么?
.........................................2
22、面向对象的特征有哪些方面.........................................................................2
23、java中实现多态的机制是什么?
..................................................................2
24、abstractclass和interface有什么区别?
...........................................................2
25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
2
26、什么是内部类?
StaticNestedClass和InnerClass的不同。
..........................2
27、内部类可以引用它的包含类的成员吗?
有没有什么限制?
...........................2
28、AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
...................................................................................................................2
29、super.getClass()方法调用.....................................................................2
30、String是最基本的数据类型吗?
.....................................................................2
31、Strings="Hello";s=s+"world!
";这两行代码执行后,原始的String对象中的内容到底变了没有?
2
32、是否可以继承String类?
..............................................................................2
33、Strings=newString("xyz");创建了几个StringObject?
二者之间有什么区别?
2
34、String和StringBuffer的区别.......................................................................2
35、如何把一段逗号分割的字符串转换成一个数组?
...........................................2
36、数组有没有length()这个方法?
String有没有length()这个方法?
...................2
37、下面这条语句一共创建了多少个对象:
Strings="a"+"b"+"c"+"d";.................2
38、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
.................................................................................................2
39、下面的程序代码输出的结果是多少?
...........................................................2
40、final,finally,finalize的区别。
......................................................................2
41、运行时异常与一般异常有何异同?
..............................................................2
42、error和exception有什么区别?
.....................................................................2
43、Java中的异常处理机制的简单原理和应用。
................................................2
44、请写出你最常见到的5个runtimeexception。
...............................................2
45、JAVA语言如何进行异常处理,关键字:
throws,throw,try,catch,finally分别代表什么意义?
在try块中可以抛出异常吗?
............................................................................................................2
46、java中有几种方法可以实现一个线程?
用什么关键字修饰同步方法?
stop()和suspend()方法为何不推荐使用?
..........................................................................................................................2
47、sleep()和wait()有什么区别?
.....................................................................2
48、同步和异步有何异同,在什么情况下分别使用他们?
举例说明。
.................2
49.下面两个方法同步吗?
(自己发明)...........................................................2
50、多线程有几种实现方法?
同步有几种实现方法?
.............................................2
51、启动一个线程是用run()还是start()?
............................................................2
52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
2
53、线程的基本概念、线程的基本状态以及状态之间的关系...............................2
54、简述synchronized和java.util.concurrent.locks.Lock的异同?
.......................2
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。
写出程序。
2
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
..................................................................................2
57、介绍Collection框架的结构..........................................................................2
58、Collection框架中实现比较要实现什么接口..................................................2
59、ArrayList和Vector的区别............................................................................2
60、HashMap和Hashtable的区别.......................................................................2
61、List和Map区别?
......................................................................................2
62、List,Set,Map是否继承自Collection接口?
....................................................2
63、List、Map、Set三个接口,存取元素时,各有什么特点?
............................2
64、说出ArrayList,Vector,LinkedList的存储性能和特性......................................2
65、去掉一个Vector集合中重复的元素..............................................................2
66、Collection和Collections的区别。
...............................................................2
67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
是用==还是equals()?
它们有何区别?
2
68、你所知道的集合类都有哪些?
主要方法?
....................................................2
69、两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
2
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!
.................................................2
71、说出一些常用的类,包,接口,请各举5个................................................2
72、java中有几种类型的流?
JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2
73、字节流与字符流的区别................................................................................2
74、什么是java序列化,如何实现java序列化?
或者请解释Serializable接口的作用。
2
75、描述一下JVM加载class文件的原理机制?
...................................................2
76、heap和stack有什么区别。
..........................................................................2
77、GC是什么?
为什么要有GC?
.......................................................................2
78、垃圾回收的优点和原理。
并考虑2种回收机制。
.........................................2
79、垃圾回收器的基本原理是什么?
垃圾回收器可以马上回收内存吗?
有什么办法主动通知虚拟机进行垃圾回收?
..........................................................................................................................2
80、什么时候用assert。
.....................................................................................2
81、java中会存在内存泄漏吗,请简单描述。
....................................................2
82、能不能自己写个类,也叫java.lang.String?
.................................................2
83.Java代码查错......................................................................................................2
二.算法与编程.........................................................................................................2
1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。
...................................................2
2、编写一个程序,将d:
\java目录下的所有.java文件复制到d:
\jad目录下,并将原来文件的扩展名从.java改为.jad。
..........................................................................................................................2
3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。
....................................................................................2
4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
2
5、说明生活中遇到的二叉树,用java实现二叉树..............................................2
6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:
2
7、写一个Singleton出来。
................................................................................2
8、递归算法题1................................................................................................2
9、递归算法题2................................................................................................2
10、排序都有哪几种方法?
请列举。
用JAVA实现一个快速排序。
.....................2
11、有数组a[n],用java代码将数组元素顺序颠倒.............................................2
12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:
(¥1011)->(一千零一拾一元整)输出。
2
三.html&JavaScript&ajax部分...................................................................................2
1.判断第二个日期比第一个日期大....................................................................2
2.用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。
...................................................................................................................2
3、HTML的form提交之前如何验证数值文本框的内容全部为数字?
否则的话提示用户并终止提交?
2
4、请写出用于校验HTML文本框中输入的内容全部为数字的javascript代码......2
5、说说你用过那些ajax技术和框架,说说它们的区别.......................................2
四.Javaweb部分......................................................................................................2
1、Tomcat的优化经验........................................................................................2
2、HTTP请求的GET与POST方式的区别.........................................................2
3、解释一下什么是servlet;.................................................................................2
4、说一说Servlet的生命周期?
...........................................................................2
5、Servlet的基本架构........................................................................................2
6、SERVLETAPI中forward()与redirect()的区别?
...........................................2
7、什么情况下调用doGet()和doPost()?
..................