Java 面试题经典 77 问
轉載自?Java 面試題經典 77 問(含答案)!
金三銀四了,3月底,4月初,找工作換單位的黃金時期。4月初將會有有一大批職場人士流動。。。
作為Java開發(fā)碼農的你是不是也在蠢蠢欲動,或者已經搞了幾輪車輪戰(zhàn)了?
我們?yōu)榇蠹覝蕚淞?77 道經典 Java 面試題,如果你面試不力,基礎還不夠強,那么你或許會受用!
1、什么是Java虛擬機?為什么Java被稱作是“平臺無關的編程語言”?
2、JDK和JRE的區(qū)別是什么?
3、static關鍵字是什么意思?Java中是否可以覆蓋(override)一個private或者是 static的方法?
4、是否可以在static環(huán)境中訪問非static變量?
5、Java支持的數(shù)據(jù)類型有哪些?什么是自動拆裝箱?
6、Java中的方法覆蓋(Overriding)和方法重載(Overloading)是什么意思?
7、Java中,什么是構造函數(shù)?什么是構造函數(shù)重載?什么是復制構造函數(shù)?
8、Java支持多繼承么?
9、接口和抽象類的區(qū)別是什么?
10、什么是值傳遞和引用傳遞?
11、進程和線程的區(qū)別是什么?
12、創(chuàng)建線程有幾種不同的方式?你喜歡哪一種?為什么?
13、概括的解釋下線程的幾種可用狀態(tài)。
14、同步方法和同步代碼塊的區(qū)別是什么?
15、什么是死鎖(deadlock)?
16、如何確保N個線程可以訪問N個資源同時又不導致死鎖?
17、Java集合類框架的基本接口有哪些?
18、為什么集合類沒有實現(xiàn)Cloneable和Serializable接口?
19、什么是迭代器(Iterator)?
20、Iterator和ListIterator的區(qū)別是什么?
21、快速失敗(fail--fast)和安全失敗(fail--safe)的區(qū)別是什么?
22、Java中的HashMap的工作原理是什么?
23、hashCode()和equals()方法的重要性體現(xiàn)在什么地方?
24.HashMap和Hashtable有什么區(qū)別?
25、數(shù)組(Array)和列表(ArrayList)有什么區(qū)別?什么時候應該使用Array而不是 ArrayList?
26、ArrayList和LinkedList有什么區(qū)別?
27、Comparable和Comparator接口是干什么的?列出它們的區(qū)別。
28、什么是Java優(yōu)先級隊列(Priority Queue)?
29、你了解大O符號(big--O notation)么?你能給出不同數(shù)據(jù)結構的例子么?
30、如何權衡是使用無序的數(shù)組還是有序的數(shù)組?
31、Java集合類框架的最佳實踐有哪些?
32、Enumeration接口和Iterator接口的區(qū)別有哪些?
33、HashSet和TreeSet有什么區(qū)別?
34、System.gc()和Runtime.gc()會做什么事情?
35、finalize()方法什么時候被調用?析構函數(shù)(finalization)的目的是什么?
36、果對象的引用被置為null,垃圾收集器是否會立即釋放對象占用的內存?
37、Java堆的結構是什么樣子的?什么是堆中的永久代(Perm Gen space)?
38、串行(serial)收集器和吞吐量(throughput)收集器的區(qū)別是什么?
39、在Java中,對象什么時候可以被垃圾回收?
40、JVM的永久代中會發(fā)生垃圾回收么?
41、Java中的兩種異常類型是什么?他們有什么區(qū)別?
42、Java中Exception和Error有什么區(qū)別?
43、throw和throws有什么區(qū)別?
44、異常處理完成以后,Exception對象會發(fā)生什么變化?
45、finally代碼塊和finalize()方法有什么區(qū)別?
46、什么是JDBC?
47、解釋下驅動(Driver)在JDBC中的角色。
48、Class.forName()方法有什么作用?
49、PreparedStatement比Statement有什么優(yōu)勢?
50、什么時候使用CallableStatement?用來準備CallableStatement的方法是什么?
51、數(shù)據(jù)庫連接池是什么意思?
52、什么是RMI?
53、什么是分布式垃圾回收(DGC)?它是如何工作的?
54、解釋下Serialization和Deserialization。
55、什么是Servlet?
56、說一下Servlet的體系結構。
57、GenericServlet和HttpServlet有什么區(qū)別?
58、解釋下Servlet的生命周期。
59、doGet()方法和doPost()方法有什么區(qū)別?
60、什么是服務端包含(Server Side Include)?
61、什么是Servlet鏈(Servlet Chaining)?
62、如何知道是哪一個客戶端的機器正在請求你的Servlet?
63、HTTP響應的結構是怎么樣的?
64、什么是cookie?session和cookie有什么區(qū)別?
65、瀏覽器和Servlet通信使用的是什么協(xié)議?
66、什么是HTTP隧道?
67、sendRedirect()和forward()方法有什么區(qū)別?
68、什么是URL編碼和URL解碼?
69、JSP請求是如何被處理的?
70、什么是JSP指令(Directive)?JSP中有哪些不同類型的指令?
71、什么是JSP動作(JSP action)?
72、隱含對象是什么意思?有哪些隱含對象?
73、面向對象軟件開發(fā)的優(yōu)點有哪些?
74、封裝的定義和好處有哪些?
75、多態(tài)的定義?
76、繼承的定義?
77、抽象的定義?抽象和封裝的不同點?
需要我們的參考答案可以有以下兩種方式。
1、在公眾號回復 "777" 獲取,網盤鏈接,7天有效哦。
2、 加入知識星球獲取,星球內在線閱讀,永久有效。
總結
以上是生活随笔為你收集整理的Java 面试题经典 77 问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么才可以建自己的网址(怎么才可以建自己
- 下一篇: 阿里面试回来,想和 Java 程序员谈一