本人是廣東某二本科班,無比賽無專案,學校帶學院字尾的那種,至今沒有面試官聽過我的學校,這兩個月不斷掙扎,曾與阿里、騰訊面試官面對面討論技術,最終成功斬獲多家名企的感謝信,包括但不限於阿里、騰訊、位元組、美團、網易,人稱「感謝信收藏家」,收穫感upup~
下面是我面試的時候面試官問到的一些問題,記錄下來分享給大家~
1、類載入機制概念、載入步驟、雙親委託機制、全盤委託機制、類載入器種類及繼承關係
2、如何實現讓類載入器去載入網路上的資原始檔?怎麼自定義類載入器?自定義的載入器還符合雙親委託機制嗎?怎麼打破雙親委託機制?
3、範例化物件的方式有幾種?
4、由Object類的clone方法引申到深複製和淺複製的區別
5、反射的概念、用法、實踐
6、Java記憶體模型和JVM記憶體結構
7、有一臺4核8G的機器,該給JVM裡的堆區和虛擬機器器棧分配多大的記憶體?(初始值、最大值、堆區年輕代和老年代的分配比例等等)
8、堆記憶體中的年輕代分配記憶體過少或過多分別有什麼影響?複製算***導致Stop-the-World嗎?
9、哪些引數可以設定JVM中的記憶體分配?
10、需要線上程範圍內去共用一個變數,怎麼實現?ThreadLocal原始碼實現、Key弱參照導致的記憶體洩露、怎麼避免?
(這道題我一直理解成在多個執行緒之間去共用變數,說了volatile,面試官一直說不對,後來我猜意識到是線上程範圍內共用量....)
11、volatile的作用、實現機制、快取—致性實現
12、AtomicInteger原子類的作用、原始碼實現機制
13、CAS無鎖演演算法概念、原始碼實現機制、Unsafe類原始碼延伸到HotSpot虛擬機器器對應的C++方法再延伸對應的組合函數
14、ReentrantLock中非公平鎖的原始碼實現、AQS原始碼實現、為什麼需要自旋鎖?鎖膨脹的過程?
15、執行緒池的使用場景、常用引數、拒絕策略
16、阻塞佇列的種類、底層資料結構和使用場景
17、手寫BIO的Socket程式設計、BIO和NIO的區別
18、Netty執行緒模型、零拷貝、粘包拆包、心跳機制、Pipeline原始碼
19、責任鏈模型、策略模式、模板模式、設計模式裡的原則
20、Top K問題,找到上千萬個數位中從大到小的前10個數位
21、MySQL中的聚集索引和稀疏索引區別、索引是越多越好嗎?什麼樣的欄位適合建索引?
22、索引覆蓋和回表的概念、怎麼避免回表?
23、為什麼採用B+樹而不用AVL樹?
24、事務的底層實現
25、MVCC的概念及實現機制
26、Redis為什麼這麼快?為什麼不用多執行緒?
27、雜湊表查詢的時間複雜度、雜湊衝突的解決方法?
28、Sorted Set的應用場景、跳錶的實現、查詢和插入的時間複雜度?
29、Dubbo的應用場景、底層通訊元件、服務降級、負載均衡、介面暴露、序列化方式、讓你實現一個簡單的RPC框架你會怎麼做?
30、Zookeeper的應用場景、watch機制、領導者選舉演演算法、ZK實現分散式鎖
31、對稱加密、非對稱加密、數位憑證、HTTPS的連線過程、SSL加密一定安全嗎?SSL在哪—層實現加密?
32、OSI七層協定?路由器工作在那—層?HTTP、TCP、FTP、DNS工作在哪—層?
33、ARP協定的作用及流程
34、Git的操作、程式碼衝突的解決方法
35、Redis的快取穿透、快取雪崩、資料—致性的解決方案
36、Elasticsearch的倒排索引、index和document的概念、腦裂問題
37、RabbitMQ應用場景、生產/消費者和釋出/訂閱模式概念和應用、資料丟失問題
38、商品超賣的解決方法、MySQL樂觀鎖和Redis樂觀鎖
1、Hashmap和Concurrenthashmap
2、執行緒池核心引數、拒絕策略
3、SynchroQueue的應用場景?可以存幾個元素?
4、Lock的公平鎖和非公平鎖的怎麼實現的
5、說說AQS
6、Lock是怎麼給執行緒分配鎖的?
7、Spring Bean的生命週期
8、說一說Spring的AOP
9、SpringBoot啟動過程的原始碼
10、怎麼學習開源框架
11、Netty零拷貝?心跳機制?粘包拆包?
12、ASM怎麼實現cglib
13、說—說資料庫有哪些索引?聚簇索引和非聚簇索引區別?什麼是索引覆蓋和回表?什麼是索引下推?
14、二元樹和B+樹的區別
15、瞭解哪些常用的Linux命令
16、Linux根目錄下有哪些資料夾
17、JVM常用命令
18、jstat的常用引數
19、程序通訊方式
20、Linux執行緒排程方式
21、Linux的快取有幾級
22、Redis的刪除策略?
22、什麼是分散式?分散式和微服務有什麼聯絡?CAP理論聽過嗎?為什麼CAP理論最多職能滿足兩個?
23、演演算法:環形連結串列入口
沒有自我介紹,直入主題。
1、你覺得筆試難度怎麼樣?
2、我看你前幾輪的綜合成績都蠻高的,未來想在北京發展嗎?
3、像廣州深圳杭州網際網路公司都很多,為什麼投了北京的崗位呢?
4、我可能比較直白一點,你的學歷在我們這些候選人裡面是比較低的,你覺得你的優勢在哪裡?
很多同學可能會覺得我是一個不知名的二本院校出來的學生,卻能拿到京東的offer,很驚訝!不要驚訝,其實面試前多刷題閱讀資料多看原始碼再做些專案,靜下心,不浮躁。相信我,大廠offer你也可以擁有!
下面我就把我平時會用到的面試資料分享給大家!有需要這些面試資料的讀者朋友幫忙點贊後,私信我【面試資料】就可以了(一定要記得關注我,不然沒辦法回覆陌生人私信)。
一共有30個專題,足夠讀者朋友們應付面試啦,也節省朋友們去到處搜刮資料自己整理的時間!已經有讀者朋友靠著這一份Java面試知識點指導拿到不錯的offer了。