鏈接:https://www.zhihu.com/question/29800631/answer/109486025
http://www.importnew.com/17232.html
著作權(quán)歸作者所有君编。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)盟步,非商業(yè)轉(zhuǎn)載請注明出處。
下面copy一些我覺得挺經(jīng)典、全面的java面試問題:
J2SE基礎(chǔ):
1. 九種基本數(shù)據(jù)類型的大小伦连,以及他們的封裝類。
2. Switch能否用string做參數(shù)漱病?
3. equals與==的區(qū)別浊洞。
4. Object有哪些公用方法?
5. Java的四種引用犁跪,強弱軟虛椿息,用到的場景歹袁。
6. Hashcode的作用。
7. ArrayList寝优、LinkedList条舔、Vector的區(qū)別。
8. String乏矾、StringBuffer與StringBuilder的區(qū)別孟抗。
9. Map、Set钻心、List凄硼、Queue、Stack的特點與用法捷沸。
10. HashMap和HashTable的區(qū)別摊沉。
11. HashMap和ConcurrentHashMap的區(qū)別,HashMap的底層源碼亿胸。
12. TreeMap坯钦、HashMap、LindedHashMap的區(qū)別侈玄。
13. Collection包結(jié)構(gòu)婉刀,與Collections的區(qū)別。
14. try catch finally序仙,try里有return突颊,finally還執(zhí)行么?
15. Excption與Error包結(jié)構(gòu)潘悼。OOM你遇到過哪些情況律秃,SOF你遇到過哪些情況。
16. Java面向?qū)ο蟮娜齻€特征與含義治唤。
17. Override和Overload的含義去區(qū)別棒动。
18. Interface與abstract類的區(qū)別。
19. Static class 與non static class的區(qū)別宾添。
20. java多態(tài)的實現(xiàn)原理船惨。
21. 實現(xiàn)多線程的兩種方法:Thread與Runable。
22. 線程同步的方法:sychronized缕陕、lock粱锐、reentrantLock等。
23. 鎖的等級:方法鎖扛邑、對象鎖怜浅、類鎖。
24. 寫出生產(chǎn)者消費者模式蔬崩。
25. ThreadLocal的設(shè)計理念與作用恶座。
26. ThreadPool用法與優(yōu)勢搀暑。
27. Concurrent包里的其他東西:ArrayBlockingQueue、CountDownLatch等等奥裸。
28. wait()和sleep()的區(qū)別险掀。
29. foreach與正常for循環(huán)效率對比沪袭。
30. Java IO與NIO湾宙。
31. 反射的作用于原理。
32. 泛型常用特點冈绊,List能否轉(zhuǎn)為List侠鳄。
33. 解析XML的幾種方式的原理與特點:DOM、SAX死宣、PULL伟恶。
34. Java與C++對比。
35. Java1.7與1.8新特性毅该。
36. 設(shè)計模式:單例博秫、工廠、適配器眶掌、責(zé)任鏈挡育、觀察者等等。
37. JNI的使用朴爬。
JVM:
1. 內(nèi)存模型以及分區(qū)即寒,需要詳細到每個區(qū)放什么。
2. 堆里面的分區(qū):Eden召噩,survival from to母赵,老年代,各自的特點具滴。
3. 對象創(chuàng)建方法凹嘲,對象的內(nèi)存分配,對象的訪問定位构韵。
4. GC的兩種判定方法:引用計數(shù)與引用鏈周蹭。
5. GC的三種收集方法:標(biāo)記清除、標(biāo)記整理贞绳、復(fù)制算法的原理與特點谷醉,分別用在什么地方,如果讓你優(yōu)化收集方法冈闭,有什么思路俱尼?
6. GC收集器有哪些?CMS收集器與G1收集器的特點萎攒。
7. Minor GC與Full GC分別在什么時候發(fā)生遇八?
8. 幾種常用的內(nèi)存調(diào)試工具:jmap矛绘、jstack、jconsole刃永。
9. 類加載的五個過程:加載货矮、驗證、準(zhǔn)備斯够、解析囚玫、初始化。
10. 雙親委派模型:Bootstrap ClassLoader读规、Extension ClassLoader抓督、ApplicationClassLoader。
11. 分派:靜態(tài)分派與動態(tài)分派束亏。
(來源:面試心得與總結(jié)---BAT铃在、網(wǎng)易、蘑菇街)
總體來說java考察內(nèi)容包括以下這些:
1,面向?qū)ο蟮囊恍┗靖拍睿豪^承,多態(tài)之類的
2豺旬, 抽象類和接口
3, 靜態(tài)類揣炕,內(nèi)部類
4, Java集合類赖捌,同步和非同步
5祝沸, Java類加載機制
6, Java內(nèi)存模型和垃圾回收算法
7越庇, 線程同步機制(voliate,synchronized,重入鎖罩锐,threadlocal),線程間通信(wait,notify)
8卤唉, 異常處理
9涩惑, 多線程同步問題,生產(chǎn)者消費者桑驱,讀者寫者竭恬,哲學(xué)家就餐,用java實現(xiàn)
10熬的, 了解java中設(shè)計模式的思想痊硕,用了哪些設(shè)計模式,有什么好處