【面經分享】互聯網寒冬,7面阿里,終獲Offer,定級P6+

點贊再看,養成習慣,微信搜索【敖丙】關注這個互聯網苟且偷生的工具人。mysql

本文 GitHub https://github.com/JavaFamily 已收錄,有一線大廠面試完整考點、資料以及個人系列文章。git

前言

此次去阿里面試的是我老東家的好朋友,咱們以前都是一個項目組的,一塊兒吃飯,一塊兒洗腳,一塊兒。。。github

他們公司最近也裁人了,不過他是裁人前去的阿里,不知道誰撈到他簡歷了,莫名就走了流程,他莫名的就面了7輪過了。web

他想着行情這麼很差,要不就去了,去了以後,他們公司就裁人了。。。面試

總之今年大環境真的不好,你們都時刻作好準備,我朋友簡歷上是寫了精通dubbo的源碼,因此大家會發現,面試中dubbo的問題不少,他面經寫得算是比較簡單,可是真實問的過程確定會扣確定細節。redis

正文

面試總共花費20天左右,包含4輪電話面試、1輪筆試、1輪主管視頻面試、1輪hr視頻面試算法

第一輪

電話面試(基礎知識爲主,約2小時):spring

1,先自我介紹,包含平常工做sql

2,基礎知識數據庫

​ 1)多線程(ThreadLocal(問了父子線程怎麼共享數據 interitableThreadLocals)、lock和sync區別(問HashMap1.七、1.8區別時帶出)、AQS原理(執行過程源碼,入隊出隊的細節,源碼細節)、CountDownLatch和CyclicBarrier的區別是什麼源碼級別、volatile從指令重排序,內存屏障,聊到總線風暴)所佔比重較大

​ 2)數據庫(mysql索引(彙集索引、非彙集索引、索引結構(順帶會問各類樹的特性)、執行計劃、count1*區別、舉例優化sql、MVCC和事務隔離級別的關係、間隙鎖、行鎖(和多線程混合問的,樂觀鎖悲觀鎖等)、惟一索引和普通索引的區別聊到了changeBuffer,聊了頁分裂合頁合併)比重較大

​ 3)jvm調優(可達性分析算法中根節點有哪些、cms和G1區別、怎樣GC調優、怎樣排查CPU彪高、內存彪高、逃逸分析)

​ 4)redis數據結構、跳躍表、redis qps能上多少,怎麼知道的、sentinel和cluster區別和各自適用場景、redis cluster集羣同步過程、redis單線程爲何快、多大叫大key、熱key產生緣由和後果以及怎麼解決、本地緩存須要高時效性怎麼辦.....

​ 5)spring的做用、spring循環依賴怎麼解決(說出三級緩存源碼細節)、spring aop原理(動態代理)、spring bean生命週期(源碼細節,以及各個位置的設計思路,有什麼可擴展的)

​ 6)dubbo服務暴露和引用過程,負載均衡策略,容錯機制在哪裏實現的源碼

​ 7)項目中碰到的問題。

​ 8)爲何換工做,若是經過會直接說有筆試題,和你確認筆試時間。

第二輪

筆試兩道題,第一題寫代碼,第二題寫技術方案,以查詢爲主,考察鎖粒度、時間粒度上的細節點。

第三輪

電話面試(解決方案爲主,約1.5個小時) 1,自我介紹、項目介紹

2,說到緩存穿透,讓我設計一個防止緩存穿透的解決方案,簡單的就是存null值,但確定會深究,能夠結合布隆過濾器,設計分佈式系統,裏面又會問到流量分發到具體過濾器服務的方式,好比一致性hash算法,怎麼調用?好比dubbo直連、等等細節會邊說邊問。

3,有沒有作限流,設計一個侵入性最小的限流服務。

4,項目中碰到的問題,最好說框架自己問題,能提現我的能力,也避免問題過低級被面試官看low,恰好以前有發現一個dubbo的bug,因此這問題應該回答的還能夠。

5,爲何換工做,每輪都會問,這個得想好。

第四輪

電話面試(項目爲主,40分鐘,應該是交叉面,問的不算多)

1,介紹最熟悉的項目,業務上有沒有什麼優化點;和同行業其餘公司的差距和優點(估計是P7的標準問題吧。。。我是沒咋說好)

2,dubbo服務調用過程(說着說着說到服務暴露和引用上面,他直接說這個以前問過了。。不用重複說,因此面試應該有記錄面試問題)

3,NIO、BIO區別,NIO解決了什麼問題,Netty線程模型(源碼拷問)。

4,MQ相關(RocketMQ、kafaka奇怪的是你寫啥面試官問啥,面試官啥都會,技術廣度深度使人髮指)

第五輪

電話面試(這位面試官比較較真,什麼問題都會問具體數值,但和他挺聊得來的,向他請教阿里那邊方案也會耐心指導,1.5小時)

1,項目介紹

2,聽到說作了限流,限流標準(併發數? qps?併發數和qps關係?說出了5種限流方案和對應算法原理)

3,dubbo調用端怎麼在jvm中生成對應服務?dubbo服務端和調用端超時時間設置和區別、dubbo長鏈接。

3,mysql行鎖最大併發數?(秒殺項目指出)

4,設計秒殺系統,我說的異步的方式,會問怎麼優化?改成了同步的方式,異步和同步區別? 而後我也問了阿里那邊

5,碰到哪些技術難點?怎麼解決?有沒有參考其餘大廠?其餘大廠方案什麼樣的?有沒有關注阿里這邊最新的技術?

6,剛剛的秒殺系統,會涉及到多個庫表的更新,分佈式事務怎麼解決,我說的消息最終一致性,異步?有沒有更好的方案?同步TCC方式,TCC方式原理?(三個階段的具體實現)

以上是技術面。

第六輪

主管視頻面試:我的介紹、項目介紹爲主,十五分鐘結束。

第七輪

HR面試,項目介紹、職位介紹、離職緣由、當前薪資,若是沒什麼問題,一天後會電話反饋待遇並確認是否接受。

不會問指望薪資是多少,後面會打電話告訴你評級是否接受,而後就開始安排體檢了。

總結

面試總體難度中上,由於朋友對dubbo源碼的研讀比較深,因此基本上每一面都很加分,多線程環境都是常規問題,能回答道計算機底層就很加分了。

此次面試比較忽然,他也沒準備,全靠平時積累了,因此中間有些描述技術細節和項目的地方他以爲沒回答好。

你們若是要面試得好好準備一番,特別是那些常規問題,有啥想問個人?爲啥跳槽?等等

最近我事情比較多,大家也知道的,視頻和文章可能都輸出沒那麼高,但願你們理解。

我是敖丙,一個在互聯網苟且偷生的工具人。

你知道的越多,你不知道的越多人才們的 【三連】 就是丙丙創做的最大動力,咱們下期見!

注:若是本篇博客有任何錯誤和建議,歡迎人才們留言,你快說句話啊


文章持續更新,能夠微信搜索「 敖丙 」第一時間閱讀,回覆【資料】有我準備的一線大廠面試資料和簡歷模板,本文 GitHub https://github.com/JavaFamily 已經收錄,有大廠面試完整考點,歡迎Star。

相關文章
相關標籤/搜索