前言
涼風有幸,秋月無邊,寫寫面經,回饋一下讀友,今年拿到了阿里,位元組,騰訊,美團,拼多多,蝦皮的offer,華為還在泡池子,快手瘋狂簡歷掛,網易也不知道為啥掛,
問題基本是些常規的知識點問題,還有網路通信,系統設計之類的綜合性一點的問題,但是面試問題還是可以和大家分享一下,

面經
- 在王者榮耀里面,當渲染地圖時,考慮網路波動的情況應該怎樣渲染地圖才能顯得不卡,這回導致什么問題,
- 執行緒安全本質是什么?Java如何保證執行緒安全,callable,runnable有什么區別?執行緒不正常終止會發生什么?執行緒占用的空間具體是哪?是暫存器還是記憶體還是什么?
- Java的執行緒和Linux的執行緒有什么區別,為什么需要Java的執行緒?
- volatile具體實作原理?記憶體重排序都會發生在哪?為什么要記憶體重排序?
- 使用過哪些Java并發包?
- 簡述BIO,NIO的具體使用及原理,,
- concurrentHashMap1.8和之前版本有什么區別,HashMap的具體實作,紅黑樹和平衡二叉樹的區別,為什么不用B+樹?
- Java的GC整體程序,垃圾收集演算法,流程,垃圾收集器,強參考,弱參考,虛參考等概念等,如果我要設定一個記憶體緩沖區,讓垃圾收集器不對其進行操作怎么辦?
- JVM記憶體磁區,假設Java 的GC時間過長,簡述應該如何做來排查解決這個問題,jamp的dump命令比較重,有什么代替的方法,
- 代碼實作每五分鐘一次Minor GC,如果要FullGC呢
- ThreadLocal的具體是怎樣的,為什么會有記憶體泄漏問題,怎樣避免,
- Java的例外種類有哪些,平時自己是怎么處理例外的
- Spring的IOC和AOP及MVC機制,Sping中的單例bean是否可以依賴多例bean
- Springboot起步依賴有什么好處,為什么使用MyBatis不適用資料庫連接池
- tomcat如果有兩個專案,兩個專案里面如果有相同的class,那么tomcat是如何對其進行區別,
- 簡述MySQL的ACID性質及實作,ACID有哪些一致性種類,樂觀鎖怎么實作的,簡述MySQL的隔離機制及實作,簡述MySQL索引結構及實作,
- 如果MySQL要插入十萬條資料,有什么較好的方法,
- Redis支持集群的幾種方式,redis的跳表要實作快速查找第k小的元素怎么做,
- Netty 拆包粘包的實質,Netty執行緒池中的執行緒建立連接之后,這條連接是不是始終屬于這個請求,對于Netty來說是不是只占用服務端的一個套接字,了解zero copy嘛,
- 簡述TCP三次握手四次揮手的狀態轉移,ip層的mtu是什么,如何探測機器之間的mtu,
- 行程和執行緒的區別,行程的通信方式,執行緒空間中的內容,行程中打開檔案其他執行緒可以直接讀寫那個檔案嘛,用戶態和內核態對于讀寫檔案的操作有什么區別,
- 記憶體為什么分頁,虛擬記憶體有什么用,記憶體中的臟頁是由硬體完成還是軟體完成,
- 怎樣用單執行緒實作2kQPS對于服務器壓測,1s均勻發2k條訊息,可以異步回傳,
- Nginx和Redis能同時處理很多條請求,萬級別,是不是都是通過Linux中的IO模型的的類似信號的機制.想這樣的C10K問題,也就是單機10000條并發連接應該如何去處理,
- 設計高并發秒殺系統,里面的阻塞佇列是如何實作的,
- 如何實作cookie和session機制,
- token在分布式服務器上的應用,用什么框架來驗證token;除了redis還可以怎么做異步框架,
總結
無論是Spring,Netty等框架的原始碼,各種中間件的原始碼,還是一些實際的工程亮點都可以作為突出的地方,
但是對于實際工程也許會比較難我比較推薦大家看看RPC原始碼,然后深入看Netty原始碼看看網路通信是怎么做的,這兩方面感徑訓和實際關聯非常緊密,或者看看Spring的原始碼,實際Java工程幾乎都是必須要用到的,也是一個加分項,
為了更方便學習,資料也都給大家整理好啦!:戳這里免費領取,暗號:CSDN,還有更多大廠面試專題資料和視頻哦!




寫文不易,覺得有幫助還請三連+關注支持一下,也歡迎各位大佬提出問題,感謝!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/172012.html
標籤:其他
上一篇:集智智能課程表專案 實戰指南
下一篇:阿里P8百萬架構師熬肝總結的“MySQL實戰筆記”意外爆火,什么樣的神仙筆記能讓三年開發經驗的我拿到50K的offer!
