Java程式大佬全面解析面試可能遇到的面試題,你能想到多少!
Java 面試隨著時間的改變而改變。在過去的日子裡,當你知道 String 和 StringBuilder 的區別(String 類型和 StringBuffer 類型的主要性能區別其實在於 String 是不可變的對象。
因此在每次對 String 類型進行改變的時候其實都等同于生成了一個新的 String 物件,
下面是一些挺經典、全面的java面試問題
J2SE基礎:
1. 九種基底資料型別的大小,以及他們的封裝類。
2. Switch能否用string做參數?
3. equals與==的區別。
4. Object有哪些公用方法?
5. Java的四種引用,強弱軟虛,用到的場景。
6. Hashcode的作用。
7. ArrayList、LinkedList、Vector的區別。
8. String、StringBuffer與StringBuilder的區別。
9. Map、Set、List、Queue、Stack的特點與用法。
10. HashMap和HashTable的區別。
11. HashMap和ConcurrentHashMap的區別,HashMap的底層源碼。
12. TreeMap、HashMap、LindedHashMap的區別。
13. Collection包結構,與Collections的區別。
14. try catch finally,try裡有return,finally還執行麼?
15. Excption與Error包結構。OOM你遇到過哪些情況,
16. Java物件導向的三個特徵與含義。
17. Override和Overload的含義去區別。
18. Interface與abstract類的區別。
19. Static class 與non static class的區別。
20. java多態的實現原理。
21. 實現多執行緒的兩種方法:Thread與Runable。
22. 執行緒同步的方法:sychronized、lock、reentrantLock等。
23. 鎖的等級:方法鎖、物件鎖、類鎖。
24. 寫出生產者消費者模式。
25. ThreadLocal的設計理念與作用。
26. ThreadPool用法與優勢。
27. Concurrent包裡的其他東西:ArrayBlockingQueue、CountDownLatch等等。
28. wait()和sleep()的區別。
29. foreach與正常for迴圈效率對比。
30. Java IO與NIO。
31. 反射的作用于原理。
32. 泛型常用特點,List
33. 解析XML的幾種方式的原理與特點:DOM、SAX、PULL。
34. Java與C++對比。
35. Java1.7與1.8新特性。
36. 設計模式:單例、工廠、適配器、責任鏈、觀察者等等。
37. JNI的使用。
JVM:
1. 記憶體模型以及分區,需要詳細到每個區放什麼。
2. 堆裡面的分區:Eden,survival from to,老年代,各自的特點。
3. 物件創建方法,物件的記憶體分配,物件的訪問定位。
4. GC的兩種判定方法:引用計數與引用鏈。
5. GC的三種收集方法:標記清除、標記整理、複製演算法的原理與特點,分別用在什麼地方,如果讓你優化收集方法,
6. GC收集器有哪些?CMS收集器與G1收集器的特點。
7. Minor GC與Full GC分別在什麼時候發生?
8. 幾種常用的記憶體調試工具:jmap、jstack、jconsole。
9. 類載入的五個過程:載入、驗證、準備、解析、初始化。
10. 雙親委派模型:Bootstrap ClassLoader、Extension ClassLoader、ApplicationClassLoader。
11. 分派:靜態分派與動態分派。
總體來說java考察內容包括以下這些:
1,物件導向的一些基本概念:繼承,多態之類的
2, 抽象類別和介面
3, 靜態類,內部類
4, Java集合類,同步和非同步
5, Java類載入機制
6, Java記憶體模型和垃圾回收演算法
7, 執行緒同步機制(voliate,synchronized,重入鎖,threadlocal),執行緒間通信(wait,notify)
8, 異常處理
9, 多執行緒同步問題,生產者消費者,讀者寫者,哲學家就餐,用java實現
10, 瞭解java中設計模式的思想,用了哪些設計模式,有什麼好處
一位HR如果沒有相關專業知識,要想從簡歷上做出初步篩選:
Java程式師學習交流群515675832,既有技術大佬,又有老司機開車,各位對Java感興趣的可以來交流學習一下,快樂與技術一起進步。
Java程式師學習交流群515675832,既有技術大佬,又有老司機開車,各位對Java感興趣的可以來交流學習一下,快樂與技術一起進步。