1、Java 面试宝典 一 . Java 基础部分 . 7 1、一个 “.java“源文件中是否可以包括多个类(不是内部类)?有什么限制? . 7 2、 Java 有没有 goto? . 8 3、说说 s1 = s1 + 1;有什么错 ? short s1 = 1; s1 += 1;有什么错 ? . 9 7、 char 型变量中能不能存贮一个中文汉字 ?为什么 ? . 9 8、用最有效率的方法算出 2 乘以 8 等於几 ? . 9 9、请设计一个一百亿的计算器 . 9 10、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?.11 11、 “=“和 equals 方法究竟
2、有什么区别? .11 12、静态变量和实例变量的区别? . 12 13、是否可以从一个 static 方法内部发出对非 static 方法的调用? . 12 14、 Integer 与 int 的区别 . 13 15、 Math.round(11.5)等於多少 ? Math.round(-11.5)等於多少 ? . 13 16、下面的代码有什么不妥之处 ? . 13 17、请说出作用域 public, private, protected,以及不写时的区别 . 13 18、 Overload 和 Override 的区别。 Overloaded 的方法是否可以改变返回值的类 型 ?. 14 1
3、9、构造器 Constructor 是否可被 override?. 15 20、接口是否可继承接口 ? 抽象类是否可实现 (implements)接口 ? 抽象类是否可继承具体类 (concrete class)? 抽象类中是否可以有静态的 main 方法? . 15 21、写 clone()方法时,通常都有一行代码,是什么? . 15 22、面向对象的特征有哪些方面 . 15 23、 java 中实现多态的机制是什么? . 17 24、 abstract class 和 interface 有什么区别 ?. 17 25、 abstract 的 method 是否可同时是 static,是否可
4、同时是 native,是否可同时是synchronized? . 18 26、什么是内部类? Static Nested Class 和 Inner Class 的不同。 . 19 27、内部类可以引用它的包含类的成员吗?有没有什么限制? . 20 28、 Anonymous Inner Class (匿名内部类 ) 是否可以 extends(继承 )其它类,是否可以 implements(实现 )interface(接口 )? . 21 29、 super.getClass()方法调用 . 21 30、 String 是最基本的数据类型吗 ?. 22 31、 String s = “Hell
5、o“;s = s + “ world!“;这两行代码执行后,原始的 String 对象中的内容到底变了没有? . 22 32、是否可以继承 String 类 ? . 23 33、 String s = new String(“xyz“);创建了几个 String Object? 二者之间有什么区别?. 23 34、 String 和 StringBuffer 的区别 . 23 35、如何把一段逗号分割的字符串 转换成一个数组 ? . 24 36、数组有没有 length()这个方法 ? String 有没有 length()这个方法? . 24 37、下面这条语句一共创建了多少个对象: Str
6、ing s=“a“+“b“+“c“+“d“; . 24 38、 try 里有一个 return 语句,那么紧跟在这个 try 后的 finally 里的 code 会不会被执行,什么时候被执行,在 return 前还是后 ? . 25 39、下面的程序代码输出的结果是多少? . 26 40、 final, finally, finalize 的区别。 . 27 41、运行时异常与一般异常有何异同? . 28 42、 error 和 exception 有什么区别 ? . 28 43、 Java 中的异常处理机制的简单原理和应用。 . 28 44、请写出你最常见到的 5 个 runtime ex
7、ception。 . 28 45、 JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义?在 try 块中可以抛出异常吗? . 29 46、 java 中有几种方法可以实现一个线程?用什么关键字修饰同步方法 ? stop()和suspend()方法为何不推荐使用? . 29 47、 sleep() 和 wait() 有什么区别 ? . 30 48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 . 32 49. 下面两个方法同步吗?(自己发明) . 33 50、多线程有几种实 现方法 ?同步有几种实现方法 ? . 3
8、3 51、启动一个线程是用 run()还是 start()? . . 33 52、当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法 ? . 33 53、线程的基本概念、线程的基本状态以及状态之间的关系 . 34 54、简述 synchronized 和 java.util.concurrent.locks.Lock 的异同 ? . 34 55、设计 4 个线 程,其中两个线程每次对 j增加 1,另外两个线程对 j每次减少 1。写出程序。 . 36 56、子线程循环 10 次,接着主线程循环 100,接着又回到子线程循环 10 次,接着再回到主线
9、程又循环 100,如此循环 50 次,请写出程序。 . 38 57、介绍 Collection 框架的结构 . 43 58、 Collection 框架中实现比较要实现什么接口 . 44 59、 ArrayList 和 Vector 的区别 . 44 60、 HashMap 和 Hashtable 的区别 . 44 61、 List 和 Map 区别 ? . 45 62、 List, Set, Map 是否继承自 Collection 接口 ? . 45 63、 List、 Map、 Set 三个接口,存取元素时,各有什么特点? . 45 64、说出 ArrayList,Vector, Lin
10、kedList 的存储性能和特性 . 46 65、去掉一个 Vector 集合中重复的元素 . 46 66、 Collection 和 Collections 的区别。 . 47 67、 Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢 ? 是用 =还是equals()? 它们有何区别 ? . 47 68、你所知道的集合类都有哪些?主要方法? . 47 69、两个对象值相同 (x.equals(y) = true),但却可有不同的 hash code,这句话对不对 ?. 48 70、 TreeSet 里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的 是父类的 comp
11、areTo 方法,还是使用的子类的 compareTo 方法,还是抛异常!. 48 71、说出一些常用的类,包,接口,请各举 5 个 . 49 72、 java 中有几种类型的流? JDK 为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? . 50 73、字节流与字符流的区别 . 50 74、什么是 java 序列化,如何实现 java 序列化?或者请解释 Serializable 接口的作用。 . 51 75、描述 一下 JVM 加载 class 文件的原理机制 ? . 52 76、 heap 和 stack 有什么区别。 . 52 77、 GC 是什么 ? 为什么要有 GC
12、? . 52 78、垃圾回收的优点和原理。并考虑 2 种回收机制。 . 52 79、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? . 53 80、什么时候用 assert。 . 53 81、 java 中会存在内存泄漏吗,请简单描述。 . 54 82、能不能自己写个类,也叫 java.lang.String? . 57 83. Java 代码查错 . 57 二 . 算法与编程 . 61 1、编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符分隔, b.txt
13、 文件中用回车或空格进行分隔。 61 2、编写一个程序,将 d:java 目录下的所有 .java 文件复制到 d:jad 目录下,并将原来文件的扩展名从 .java 改为 .jad。 . 63 3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我 ABC”, 4,应该截取“我AB”,输入“我 ABC 汉 DEF”, 6,应该输出“我 ABC”,而不是“我 ABC+汉的半个”。 . 65 4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 . 66 5、说明生活中遇到的二叉树,用 java 实现二
14、叉树 . 67 6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序: . 72 7、写一个 Singleton 出来。 . 75 8、递归算法题 1 . 77 9、递归算法题 2 . 78 10、排序都有哪几种方法?请列举。用 JAVA 实现一个快速排序。 . 79 11、有数组 an,用 java 代码将数组元素顺序颠倒 . 80 12金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥ 1011) (一千零一拾一元整)输出。 . 81 三 . html. 86 4、说一说 Servlet 的生命周期 ? . 86 5、 Servlet 的基本架构
15、 . 86 6、 SERVLET API 中 forward() 与 redirect()的区别? . 86 7、什么情况下调用 doGet()和 doPost()? . 87 8、 Request 对象的主要方法: . 87 9、 forward 和 redirect 的区别 . 88 10、 request.getAttribute() 和 request.getParameter() 有何区别 ? . 88 11. jsp 有哪些内置对象 ?作用分别是什么 ? 分别有什么方法? . 88 12. jsp 有哪些动作 ?作用分别是什么 ? . 89 13、 JSP 的常用指令 . 89 1
16、4. JSP 中动态 INCLUDE 与静态 INCLUDE 的区别? . 89 15、两种跳转方式分别是什么 ?有什么区别 ? . 89 16、页面间对象传递的方法 . 90 17、 JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? . 90 18、 MVC 的各个部分都有那些技术来实现 ?如何实现 ?. 90 19、我们在 web 应用开发过程中经常遇到输出某种编码的字符,如 iso8859-1 等,如何输出一个某种编码的字符串? . 90 20现在输入 n 个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供 reset
17、 . 91 五 . 数据库部分 . 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的 信息。 . 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序 . 91 3、存储过程与触发器必须讲,经常被面试到 ? . 92 4、数据库三范式是什么 ? . 94 5、说出一些数据库优化方面的经验 ? . 95 6、 union 和 union all 有什么不同 ? . 96 7.分 页语句 . 97 8.用一条 SQL 语句 查询出每门课都大于 80 分的学生姓名 .100 9.所有部门之间的比赛组合 .100 10.每个月份的发生额都 比 101 科目
18、多的科目 .101 11.统计每年每月的信息 .102 12.显示文章标题,发帖人、最后回复时间 .103 13.删除除了 id 号不同 ,其他都相同的学生冗余信息 .104 14.航空网的几个航班查询题: .104 15.查出比经理薪水还高的员工信息: .105 16、求出小于 45 岁 的各个老师所带的大于 12 岁的学生人数 .106 17.求出发帖最多的人: .107 18、一个用户表中有一个积分字段,假如数据库中有 100 多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决 ? .107 19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用
19、户。 .108 20. xxx 公司的 sql 面试 .108 21、注册 Jdbc 驱动程序的三种方式 .109 22、用 JDBC 如何调用存储过程 .109 23、 JDBC 中的 PreparedStatement 相比 Statement 的好处 . 110 24. 写一个用 jdbc 连接并访问 oracle 数据的程序代码 . 111 25、 Class.forName 的作用 ?为什么要用 ?. 111 26、大数据量下的分页解决方法。 . 111 27、用 JDBC 查询学生成绩单 , 把主要代码写出来(考试概率极大) . . 112 28、这段代码有什么不足之处 ?. 112 29、说出数据连接池的工作机制是什么 ?. 113 30、为什么要用 ORM? 和 JDBC 有何不一样 ?. 113 六 . XML 部分 . 113 1、 xml 有哪些解析技术 ?区别是什么 ? . 113 2、你在项目中用到了 xml 技术的哪些方面 ?如何实现的 ? . 114 3、用 jdom 解析 xml 文件时如何解决中文问题 ?如何解析 ? . 114 4、编程用 JAVA 解析 XML 的方式 . . 115 5、 XML文档定义有几种形式?它们之间有何本质区别?解析 XML文档有哪几种方式? .