每天進步一點,不做curd工程師與Api調用工程師
歡迎訪問個人博客網站:https://www.coder-programming.cn/
第一輪:
1、先自我介紹,包含日常工作
2、問了父子線程怎麼共享數據 interitableThreadLocals
3、lock和sync區別
4、HashMap1.7、1.8區別
5、AQS原理(執行過程源碼,入隊出隊的細節,源碼細節)
6、CountDownLatch和CyclicBarrier的區別是什麼源碼級別
7、volatile從指令重排序,內存屏障,聊到總線風暴
8、mysql索引:聚集索引、非聚集索引、索引結構,順帶會問各種樹的特性
9、舉例優化sql
10、MVCC和事務隔離級別的關係
11、間隙鎖、行鎖、樂觀鎖悲觀鎖等
12、唯一索引和普通索引的區別
13、聊到了changeBuffer、頁分裂合頁合併
14、可達性分析算法中根節點有哪些
15、cms和G1區別
16、怎樣GC調優
17、怎樣排查CPU彪高、內存彪高
18、redis數據結構、跳躍表
19、redis qps能上多少,怎麼知道的
20、sentinel和cluster區別和各自適用場景
21、redis cluster集羣同步過程
22、redis單線程爲什麼快
23、多大叫大key、熱key產生原因和後果以及怎麼解決
24、本地緩存需要高時效性怎麼辦
25、spring的作用;
26、spring循環依賴怎麼解決(說出三級緩存源碼細節);
27、spring aop原理(動態代理)、
28、spring bean生命週期(源碼細節,以及各個位置的設計思路,有什麼可擴展的)
29、dubbo服務暴露和引用過程,負載均衡策略,容錯機制在哪裏實現的源碼
30、項目中碰到的問題。
31、爲什麼換工作,如果通過會直接說有筆試題,和你確認筆試時間。
第二輪
筆試兩道題,第一題寫代碼,第二題寫技術方案,以查詢爲主,考察鎖粒度、時間粒度上的細節點。
第三輪
1、自我介紹、項目介紹
2、說到緩存穿透,讓我設計一個防止緩存穿透的解決方案,簡單的就是存null值,但肯定會深究,可以結合布隆過濾器,設計分佈式系統,裏面又會問到流量分發到具體過濾器服務的方式,比如一致性hash算法,怎麼調用?比如dubbo直連、等等細節會邊說邊問
3、有沒有做限流,設計一個侵入性最小的限流服務。
4、項目中碰到的問題,最好說框架本身問題,能提現個人能力,也避免問題太低級被面試官看low,剛好之前有發現一個dubbo的bug,所以這問題應該回答的還可以
5、爲什麼換工作
第四輪
1、介紹最熟悉的項目,業務上有沒有什麼優化點;和同行業其他公司的差距和優勢
2、dubbo服務調用過程
3、NIO、BIO區別,NIO解決了什麼問題,Netty線程模型(源碼拷問)。
4、MQ相關
第五輪
1、項目介紹
2、聽到說做了限流,限流標準(併發數?qps?併發數和qps關係?說出了5種限流方案和對應算法原理)
3、dubbo調用端怎麼在jvm中生成對應服務?dubbo服務端和調用端超時時間設置和區別、dubbo長連接。
4、mysql行鎖最大併發數?(秒殺項目指出)
5、設計秒殺系統,我說的異步的方式,會問怎麼優化?改爲了同步的方式,異步和同步區別?
6、碰到哪些技術難點?怎麼解決?有沒有參考其他大廠?其他大廠方案什麼樣的?有沒有關注阿里這邊最新的技術?
7、剛剛的秒殺系統,會涉及到多個庫表的更新,分佈式事務怎麼解決,我說的消息最終一致性,異步?有沒有更好的方案?同步TCC方式,TCC方式原理?(三個階段的具體實現)
第六輪
主管視頻面試:個人介紹、項目介紹爲主,十五分鐘結束。
第七輪
HR面試:項目介紹、職位介紹、離職原因、當前薪資,如果沒什麼問題,一天後會電話反饋待遇並確認是否接受。
作者:simpai
https://www.nowcoder.com/discuss/440349?channel=666&source_id=home_feed
文末
文章收錄至
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
歡迎關注並star~