
金三銀四了,3月底,4月初,找工作換機關的黃金時期。4月初将會有有一大批職場人士流動。。。
作為Java開發碼農的你是不是也在蠢蠢欲動,或者已經搞了幾輪車輪戰了?
我們為大家準備了 77 道經典 Java 面試題,如果你面試不力,基礎還不夠強,那麼你或許會受用!
1、什麼是Java虛拟機?為什麼Java被稱作是“平台無關的程式設計語言”?
2、JDK和JRE的差別是什麼?
3、static關鍵字是什麼意思?Java中是否可以覆寫(override)一個private或者是 static的方法?
4、是否可以在static環境中通路非static變量?
5、Java支援的資料類型有哪些?什麼是自動拆裝箱?
6、Java中的方法覆寫(Overriding)和方法重載(Overloading)是什麼意思?
7、Java中,什麼是構造函數?什麼是構造函數重載?什麼是複制構造函數?
8、Java支援多繼承麼?
9、接口和抽象類的差別是什麼?
10、什麼是值傳遞和引用傳遞?
11、程序和線程的差別是什麼?
12、建立線程有幾種不同的方式?你喜歡哪一種?為什麼?
13、概括的解釋下線程的幾種可用狀态。
14、同步方法和同步代碼塊的差別是什麼?
15、什麼是死鎖(deadlock)?
16、如何確定N個線程可以通路N個資源同時又不導緻死鎖?
17、Java集合類架構的基本接口有哪些?
18、為什麼集合類沒有實作Cloneable和Serializable接口?
19、什麼是疊代器(Iterator)?
20、Iterator和ListIterator的差別是什麼?
21、快速失敗(fail-fast)和安全失敗(fail-safe)的差別是什麼?
22、Java中的HashMap的工作原理是什麼?
23、hashCode()和equals()方法的重要性展現在什麼地方?
24.HashMap和Hashtable有什麼差別?
25、數組(Array)和清單(ArrayList)有什麼差別?什麼時候應該使用Array而不是 ArrayList?
26、ArrayList和LinkedList有什麼差別?
27、Comparable和Comparator接口是幹什麼的?列出它們的差別。
28、什麼是Java優先級隊列(Priority Queue)?
29、你了解大O符号(big-O notation)麼?你能給出不同資料結構的例子麼?
30、如何權衡是使用無序的數組還是有序的數組?
31、Java集合類架構的最佳實踐有哪些?
32、Enumeration接口和Iterator接口的差別有哪些?
33、HashSet和TreeSet有什麼差別?
34、System.gc()和Runtime.gc()會做什麼事情?
35、finalize()方法什麼時候被調用?析構函數(finalization)的目的是什麼?
36、果對象的引用被置為null,垃圾收集器是否會立即釋放對象占用的記憶體?
37、Java堆的結構是什麼樣子的?什麼是堆中的永久代(Perm Gen space)?
38、串行(serial)收集器和吞吐量(throughput)收集器的差別是什麼?
39、在Java中,對象什麼時候可以被垃圾回收?
40、JVM的永久代中會發生垃圾回收麼?
41、Java中的兩種異常類型是什麼?他們有什麼差別?
42、Java中Exception和Error有什麼差別?
43、throw和throws有什麼差別?
44、異常處理完成以後,Exception對象會發生什麼變化?
45、finally代碼塊和finalize()方法有什麼差別?
46、什麼是JDBC?
47、解釋下驅動(Driver)在JDBC中的角色。
48、Class.forName()方法有什麼作用?
49、PreparedStatement比Statement有什麼優勢?
50、什麼時候使用CallableStatement?用來準備CallableStatement的方法是什麼?
51、資料庫連接配接池是什麼意思?
52、什麼是RMI?
53、什麼是分布式垃圾回收(DGC)?它是如何工作的?
54、解釋下Serialization和Deserialization。
55、什麼是Servlet?
56、說一下Servlet的體系結構。
57、GenericServlet和HttpServlet有什麼差別?
58、解釋下Servlet的生命周期。
59、doGet()方法和doPost()方法有什麼差別?
60、什麼是服務端包含(Server Side Include)?
61、什麼是Servlet鍊(Servlet Chaining)?
62、如何知道是哪一個用戶端的機器正在請求你的Servlet?
63、HTTP響應的結構是怎麼樣的?
64、什麼是cookie?session和cookie有什麼差別?
65、浏覽器和Servlet通信使用的是什麼協定?
66、什麼是HTTP隧道?
67、sendRedirect()和forward()方法有什麼差別?
68、什麼是URL編碼和URL解碼?
69、JSP請求是如何被處理的?
70、什麼是JSP指令(Directive)?JSP中有哪些不同類型的指令?
71、什麼是JSP動作(JSP action)?
72、隐含對象是什麼意思?有哪些隐含對象?
73、面向對象軟體開發的優點有哪些?
74、封裝的定義和好處有哪些?
75、多态的定義?
76、繼承的定義?
77、抽象的定義?抽象和封裝的不同點?