java工程师面试宝典

学人智库 时间:2018-01-12 我要投稿
【www.unjs.com - 学人智库】

1、了解j2EE规范,选择几点进行重点消化。

2、异常分类,一般性异常和运行期异常,异常捕获。

3、了解spring mvc框架,和struts mvc框架的区别。

4、要对spring和ibatis非常熟悉,必须,熟知。

5、应适当关注需求分析和产品方面的知识。

6、了解多线程相关知识

7、了解java5以及java6新特性

8、熟悉linux相关命令操作。

9、工厂模式,简单工厂、抽象工厂的区别

10、动态代理模式

11、

一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?

二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?

三、HASHTABLE, HASGMAQ,TreeMap区别

四、ConcurrentMap和HashMap的区别

五、Tomcat,apache,jboss的区别

六、GET POST区别

七、SESSION, COOKIE区别

八、Servlet的生命周期

九、HTTP 报文包含内容

十、Statement与PreparedStatement的区别,什么是SQL注入,如何防止SQL注入

十一、redirect, foward区别

十二、关于JAVA内存模型,一个对象(两个属性,四个方法)实例化100次,现在内存中的存储状态,

几个对象,几个属性,几个方法。

十三、谈谈Hibernate的理解,一级和二级缓存的作用,在项目中Hibernate都是怎么使用缓存的

十四、反射讲一讲,主要是概念,都在哪需要反射机制,反射的性能,如何优化

十五、谈谈Hibernate与Ibatis的区别,哪个性能会更高一些

十六、对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理

十七、线程同步,并发操作怎么控制

十八、描述struts的工作流程。

十九、Tomcat的session处理,如果让你实现一个tomcatserver,如何实现session机制

二十、关于Cache(Ehcache,Memcached)

二一、sql的优化相关问题

二二、oracle中 rownum与rowid的理解,一千条记录我查200到300的记录怎么查?

二三、如何分析ORACLE的执行计划?

二四、 DB中索引原理,种类,使用索引的好处和问题是什么?

二五、JVM垃圾回收实现原理。垃圾回收的线程优先级。

二六、jvm 最大内存设置。设置的原理。结合垃圾回收讲讲。

Java面试宝典2010版

一. Java基础部分 7

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

2、Java有没有goto? 7

3、说说&和&&的区别。 8

4、在JAVA中如何跳出当前的多重嵌套循环? 8

5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9

6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9

7、char型变量中能不能存贮一个中文汉字?为什么? 9

8、用最有效率的方法算出2乘以8等於几? 9

9、请设计一个一百亿的计算器 9

10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11

11、"=="和equals方法究竟有什么区别? 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

19、构造器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,是否可同时是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 = "Hello";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、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d"; 24

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

39、下面的程序代码输出的结果是多少? 25

40、final, finally, finalize的区别。 27

41、运行时异常与一般异常有何异同? 27

42、error和exception有什么区别? 28

43、Java中的异常处理机制的简单原理和应用。 28

44、请写出你最常见到的5个runtime exception。 28

45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? 29

46、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 29

47、sleep() 和 wait() 有什么区别? 30

48、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 32

49. 下面两个方法同步吗?(自己发明) 33

50、多线程有几种实现方法?同步有几种实现方法? 33

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次,接着再回到主线程又循环100,如此循环50次,请写出程序。 38

57、介绍Collection框架的结构 43

58、Collection框架中实现比较要实现什么接口 43

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, LinkedList的存储性能和特性 46

65、去掉一个Vector集合中重复的元素 46

66、Collection 和 Collections的区别。 47

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

68、你所知道的集合类都有哪些?主要方法? 47

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

70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48

71、说出一些常用的类,包,接口,请各举5个 49

72、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 49

73、字节流与字符流的区别 50

74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51

75、描述一下JVM加载class文件的原理机制? 52

76、heap和stack有什么区别。 52

77、GC是什么? 为什么要有GC? 52

78、垃圾回收的优点和原理。并考虑2种回收机制。 52

79、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 52

80、什么时候用assert。 53

81、java中会存在内存泄漏吗,请简单描述。 53

82、能不能自己写个类,也叫java.lang.String? 57

83. Java代码查错 57

二. 算法与编程 61

1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61

2、编写一个程序,将d:java目录下的所有.java文件复制到d:jad目录下,并将原来文件的扩展名从.java改为.jad。 62

3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。 65

4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 65

5、说明生活中遇到的二叉树,用java实现二叉树 66

6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序: 71

7、写一个Singleton出来。 75

8、递归算法题1 77

9、递归算法

[java工程师面试宝典]