回覆列表
-
1 # 雲和資料西安中心
-
2 # 桌球愛好者
作為從事java開發6年的程式猿,參於的面試有七八十場吧,程式猿面試問題是根據企業的招聘需求而定的,三年和五年的程式設計師遇到的問題是有區別的,所以不能一概而論。
三年開發經驗的程式設計師基礎相關java的基本資料型別有哪些java中用到的集合的區別,比如ArrayList和LinkedList的區別什麼是自動裝箱和自動拆箱stringbuffer和Stringbulider有什麼區別hashmap的實現原理HashMap和hashtable有什麼區別過載和重寫的區別介面和抽象類的區別開發中使用過哪些設計模式請實現一個單利模式jsp和servlet有沒有區別如何實現自定義Filterjava中實現多執行緒的方式框架相關spring的特性spring AOP有哪些應用struct2的工作原理hibernate和mybaits的區別hibernate總如何實現一對多、多對多hibernate如何解決N+1查詢問題資料庫相關請手寫一個oracle分頁查詢一張成績表包含語數外三門課程,請幫我查詢“小明同學的排名”如何解決sql查詢緩慢的問題五年開發經驗的程式設計師五年開發經驗的程式設計師問道的問題會更趨向於原理方面,當然三年經驗的問題依然會問道,但是側重點不一樣了
基礎相關java多執行緒的實現方式java執行緒池的實現原理以及工作流程請寫一個死鎖程式ConcurrentHashMap的實現原理
java併發中的最佳實踐有哪些
volatile關鍵字的用途
是否用過訊息佇列
是否用過zookeeper和dubbo
zookeeper的選舉機制說一下
以上就是一些面試會遇到的問題,當然只是列舉了一些,因為每個面試官的側重點不一樣,有的面試官喜歡連環炮是的發問,問完一個接著深入問另一個相關的問題,知道自己回答不上來為止,有的是東一個問題西一個問題,所以沒有什麼面試寶典,唯一能做的就是加深自己的修煉
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你遇到過哪些情況,SOF你遇到過哪些情況。
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能否轉為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中設計模式的思想,用了哪些設計模式,有什麼好處
如果可以對於上邊的問題,逐一搜資料進行專題突破,不僅對面試有效,也能幫助java基礎不夠紮實的同學紮實基礎。