一面
先自我介紹下
- 聊項目,逆向系統是什麼意思
- 聊項目,逆向系統用了哪些技術
- 線程池的線程數怎麼確定?
- 如果是IO操作為主怎麼確定?
- 如果計算型操作又怎麼確定?
- Redis熟悉麼,瞭解哪些數據結構
- zset底層怎麼實現的
- 跳錶的查詢過程是怎麼樣的,查詢和插入的時間複雜度
- 紅黑樹瞭解麼,時間複雜度
- 說下Dubbo的原理
- 踩過什麼坑沒有
- CAS瞭解麼
- 還了解其他同步機制麼
- 我們做一道題吧,數組A,2*n個元素,n個奇數、n個偶數,設計一個算法,使得數組奇數下標位置放置的都是奇數,偶數下標位置放置的都是偶數
- 時間差不多了,先到這吧。你有什麼想問我的?
二面
主要是技術部分
1.volatile和synchronized原理
2.HashMap,ConcurrentHashMap
3.epoll,select,poll
4.TCP,UDP(tcp的具體狀態沒答出來
5.jvm內存分佈,垃圾收集,eden區
6.jvm調優(不會
7.java對象頭裡有什麼(只答了age,monitor,其他的忘了
8.mysql主從複製
三面
- 面試官和藹很多,你先介紹下自己吧
- 你對服務治理怎麼理解的?
- 項目中的限流怎麼實現的?
- 具體怎麼實現的?
- 如果突然很多線程同時請求令牌,有什麼問題?
- 怎麼解決呢?
- 如果不用消息隊列怎麼解決?
- 分佈式追蹤的上下文是怎麼存儲和傳遞的?
- Dubbo的RpcContext是怎麼傳遞的?
- 主線程的ThreadLocal怎麼傳遞到線程池?
- 你說的內存洩漏具體是怎麼產生的?
- 線程池的線程是不是必須手動remove才可以回收value?
- 你說的內存洩漏是指主線程還是線程池?
- 你說下SpringMVC不同用戶登錄的信息怎麼保證線程安全的?
- 我們聊聊mysql吧,說下索引結構
- 為什麼使用B+樹?
- 什麼是索引覆蓋?
- Java為什麼要設計雙親委派模型?
- 什麼時候需要自定義類加載器?
- 我們做一道題吧,手寫一個對象池
- 有什麼想問我的麼
總結
面試官很專業,要求基礎知識很熟悉,面試之前一定要準備後再去面試。LeetCode題目也要刷。
切記面試前一定要刷題和準備,簡歷上的項目不熟悉的千萬不要寫上去,寫上去的項目備好2-3個技術方案。
我個人認為,作為技術人就要保持終生學習的態度,讓學習力成為核心競爭力,才能不被時代所淘汰,而高效的時間支配能讓你變得更加優秀,所以,我在這裡將這份耗時兩個月整理出來的核心技能面試知識點,送給有需要的人,希望這份資料能對大家有所幫助
如何獲取免費面試學習資料?
資料獲取方式:
【關注+轉發】後,私信關鍵詞 【資料】即可免費獲取!
閱讀更多 java小瓜哥 的文章