1、了解j2EE規(guī)范,選擇幾點進行重點消化。
2、異常分類,一般性異常和運行期異常,異常捕獲。
3、了解spring mvc框架,和struts mvc框架的區(qū)別。
4、要對spring和ibatis非常熟悉,必須,熟知。
5、應適當關注需求分析和產品方面的知識。
6、了解多線程相關知識
7、了解java5以及java6新特性
8、熟悉linux相關命令操作。
9、工廠模式,簡單工廠、抽象工廠的區(qū)別
10、動態(tài)代理模式
11、
一、String,StringBuffer, StringBuilder 的區(qū)別是什么?String為什么是不可變的?
二、VECTOR,ARRAYLIST, LINKEDLIST的區(qū)別是什么?
三、HASHTABLE, HASGMAQ,TreeMap區(qū)別
四、ConcurrentMap和HashMap的區(qū)別
五、Tomcat,apache,jboss的區(qū)別
六、GET POST區(qū)別
七、SESSION, COOKIE區(qū)別
八、Servlet的生命周期
九、HTTP 報文包含內容
十、Statement與PreparedStatement的區(qū)別,什么是SQL注入,如何防止SQL注入
十一、redirect, foward區(qū)別
十二、關于JAVA內存模型,一個對象(兩個屬性,四個方法)實例化100次,現在內存中的存儲狀態(tài),
幾個對象,幾個屬性,幾個方法。
十三、談談Hibernate的理解,一級和二級緩存的作用,在項目中Hibernate都是怎么使用緩存的
十四、反射講一講,主要是概念,都在哪需要反射機制,反射的性能,如何優(yōu)化
十五、談談Hibernate與Ibatis的區(qū)別,哪個性能會更高一些
十六、對Spring的理解,項目中都用什么?怎么用的?對IOC、和AOP的理解及實現原理
十七、線程同步,并發(fā)操作怎么控制
十八、描述struts的工作流程。
十九、Tomcat的session處理,如果讓你實現一個tomcatserver,如何實現session機制
二十、關于Cache(Ehcache,Memcached)
二一、sql的優(yōu)化相關問題
二二、oracle中 rownum與rowid的理解,一千條記錄我查200到300的記錄怎么查?
二三、如何分析ORACLE的執(zhí)行計劃?
二四、 DB中索引原理,種類,使用索引的好處和問題是什么?
二五、JVM垃圾回收實現原理。垃圾回收的線程優(yōu)先級。
二六、jvm 最大內存設置。設置的原理。結合垃圾回收講講。
Java面試寶典2010版
一. Java基礎部分 7
1、一個".java"源文件中是否可以包括多個類(不是內部類)?有什么限制? 7
2、Java有沒有goto? 7
3、說說&和&&的區(qū)別。 8
4、在JAVA中如何跳出當前的多重嵌套循環(huán)? 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方法究竟有什么區(qū)別? 11
12、靜態(tài)變量和實例變量的區(qū)別? 12
13、是否可以從一個static方法內部發(fā)出對非static方法的調用? 12
14、Integer與int的區(qū)別 13
15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 13
16、下面的代碼有什么不妥之處? 13
17、請說出作用域public,private,protected,以及不寫時的區(qū)別 13
18、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型? 14
19、構造器Constructor是否可被override? 15
20、接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承具體類(concrete class)? 抽象類中是否可以有靜態(tài)的main方法? 15
21、寫clone()方法時,通常都有一行代碼,是什么? 15
22、面向對象的特征有哪些方面 15
23、java中實現多態(tài)的機制是什么? 17
24、abstract class和interface有什么區(qū)別? 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!";這兩行代碼執(zhí)行后,原始的String對象中的內容到底變了沒有? 22
32、是否可以繼承String類? 23
33、String s = new String("xyz");創(chuàng)建了幾個String Object? 二者之間有什么區(qū)別? 23
34、String 和StringBuffer的區(qū)別 23
35、如何把一段逗號分割的字符串轉換成一個數組? 24
36、數組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法? 24
37、下面這條語句一共創(chuàng)建了多少個對象:String s="a"+"b"+"c"+"d"; 24
38、try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后? 25
39、下面的程序代碼輸出的結果是多少? 25
40、final, finally, finalize的區(qū)別。 27
41、運行時異常與一般異常有何異同? 27
42、error和exception有什么區(qū)別? 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() 有什么區(qū)別? 30
48、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。 32
49. 下面兩個方法同步嗎?(自己發(fā)明) 33
50、多線程有幾種實現方法?同步有幾種實現方法? 33
51、啟動一個線程是用run()還是start()? . 33
52、當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法? 33
53、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關系 34
54、簡述synchronized和java.util.concurrent.locks.Lock的異同 ? 34
55、設計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。寫出程序。 36
56、子線程循環(huán)10次,接著主線程循環(huán)100,接著又回到子線程循環(huán)10次,接著再回到主線程又循環(huán)100,如此循環(huán)50次,請寫出程序。 38
57、介紹Collection框架的結構 43
58、Collection框架中實現比較要實現什么接口 43
59、ArrayList和Vector的區(qū)別 44
60、HashMap和Hashtable的區(qū)別 44
61、List 和 Map 區(qū)別? 45
62、List, Set, Map是否繼承自Collection接口? 45
63、List、Map、Set三個接口,存取元素時,各有什么特點? 45
64、說出ArrayList,Vector, LinkedList的存儲性能和特性 46
65、去掉一個Vector集合中重復的元素 46
66、Collection 和 Collections的區(qū)別。 47
67、Set里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還是equals()? 它們有何區(qū)別? 47
68、你所知道的集合類都有哪些?主要方法? 47
69、兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對? 48
70、TreeSet里面放對象,如果同時放入了父類和子類的實例對象,那比較時使用的是父類的compareTo方法,還是使用的子類的compareTo方法,還是拋異常! 48
71、說出一些常用的類,包,接口,請各舉5個 49
72、java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類? 49
73、字節(jié)流與字符流的區(qū)別 50
74、什么是java序列化,如何實現java序列化?或者請解釋Serializable接口的作用。 51
75、描述一下JVM加載class文件的原理機制? 52
76、heap和stack有什么區(qū)別。 52
77、GC是什么? 為什么要有GC? 52
78、垃圾回收的優(yōu)點和原理。并考慮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、編寫一個截取字符串的函數,輸入為一個字符串和字節(jié)數,輸出為按字節(jié)截取的字符串,但要保證漢字不被截取半個,如“我ABC”,4,應該截取“我AB”,輸入“我ABC漢DEF”,6,應該輸出“我ABC”,而不是“我ABC+漢的半個”。 65
4、有一個字符串,其中包含中文字符、英文字符和數字字符,請統(tǒng)計和打印出各個字符的個數。 65
5、說明生活中遇到的二叉樹,用java實現二叉樹 66
6、從類似如下的文本文件中讀取出所有的姓名,并打印出重復的姓名和重復的次數,并按重復次數排序: 71
7、寫一個Singleton出來。 75
8、遞歸算法題1 77
9、遞歸算法
[java工程師面試寶典]