前言這次去阿里面試的是我老東家的好朋友,我們之前都是一個(gè)項(xiàng)目組的,一起吃飯,一起洗腳,一起。。。 他們公司最近也裁員了,不過他是裁員前去的阿里,不知道誰撈到他簡歷了,莫名就走了流程,他莫名的就面了7輪過了。 他想著行情這么不好,要不就去了,去了之后,他們公司就裁員了。。。 總之今年大環(huán)境真的很差,大家都時(shí)刻做好準(zhǔn)備,我朋友簡歷上是寫了精通dubbo的源碼,所以你們會發(fā)現(xiàn),面試中dubbo的問題很多,他面經(jīng)寫得算是比較簡單,但是真實(shí)問的過程肯定會扣肯定細(xì)節(jié)。 正文面試總共花費(fèi)20天左右,包含4輪電話面試、1輪筆試、1輪主管視頻面試、1輪hr視頻面試 第一輪電話面試(基礎(chǔ)知識為主,約2小時(shí)): 1,先自我介紹,包含日常工作 2,基礎(chǔ)知識 1)多線程(ThreadLocal(問了父子線程怎么共享數(shù)據(jù) interitableThreadLocals)、lock和sync區(qū)別(問HashMap1.7、1.8區(qū)別時(shí)帶出)、AQS原理(執(zhí)行過程源碼,入隊(duì)出隊(duì)的細(xì)節(jié),源碼細(xì)節(jié))、CountDownLatch和CyclicBarrier的區(qū)別是什么源碼級別、volatile從指令重排序,內(nèi)存屏障,聊到總線風(fēng)暴)所占比重較大 2)數(shù)據(jù)庫(mysql索引(聚集索引、非聚集索引、索引結(jié)構(gòu)(順帶會問各種樹的特性)、執(zhí)行計(jì)劃、count1*區(qū)別、舉例優(yōu)化sql、MVCC和事務(wù)隔離級別的關(guān)系、間隙鎖、行鎖(和多線程混合問的,樂觀鎖悲觀鎖等)、唯一索引和普通索引的區(qū)別聊到了changeBuffer,聊了頁分裂合頁合并)比重較大 3)jvm調(diào)優(yōu)(可達(dá)性分析算法中根節(jié)點(diǎn)有哪些、cms和G1區(qū)別、怎樣GC調(diào)優(yōu)、怎樣排查CPU彪高、內(nèi)存彪高、逃逸分析) 4)redis數(shù)據(jù)結(jié)構(gòu)、跳躍表、redis qps能上多少,怎么知道的、sentinel和cluster區(qū)別和各自適用場景、redis cluster集群同步過程、redis單線程為什么快、多大叫大key、熱key產(chǎn)生原因和后果以及怎么解決、本地緩存需要高時(shí)效性怎么辦..... 5)spring的作用、spring循環(huán)依賴怎么解決(說出三級緩存源碼細(xì)節(jié))、spring aop原理(動態(tài)代理)、spring bean生命周期(源碼細(xì)節(jié),以及各個(gè)位置的設(shè)計(jì)思路,有什么可擴(kuò)展的) 6)dubbo服務(wù)暴露和引用過程,負(fù)載均衡策略,容錯(cuò)機(jī)制在哪里實(shí)現(xiàn)的源碼 7)項(xiàng)目中碰到的問題。 8)為什么換工作,如果通過會直接說有筆試題,和你確認(rèn)筆試時(shí)間。 第二輪筆試兩道題,第一題寫代碼,第二題寫技術(shù)方案,以查詢?yōu)橹?,考察鎖粒度、時(shí)間粒度上的細(xì)節(jié)點(diǎn)。 第三輪電話面試(解決方案為主,約1.5個(gè)小時(shí))1,自我介紹、項(xiàng)目介紹 2,說到緩存穿透,讓我設(shè)計(jì)一個(gè)防止緩存穿透的解決方案,簡單的就是存null值,但肯定會深究,可以結(jié)合布隆過濾器,設(shè)計(jì)分布式系統(tǒng),里面又會問到流量分發(fā)到具體過濾器服務(wù)的方式,比如一致性hash算法,怎么調(diào)用?比如dubbo直連、等等細(xì)節(jié)會邊說邊問。 3,有沒有做限流,設(shè)計(jì)一個(gè)侵入性最小的限流服務(wù)。 4,項(xiàng)目中碰到的問題,最好說框架本身問題,能提現(xiàn)個(gè)人能力,也避免問題太低級被面試官看low,剛好之前有發(fā)現(xiàn)一個(gè)dubbo的bug,所以這問題應(yīng)該回答的還可以。 5,為什么換工作,每輪都會問,這個(gè)得想好。 第四輪電話面試(項(xiàng)目為主,40分鐘,應(yīng)該是交叉面,問的不算多) 1,介紹最熟悉的項(xiàng)目,業(yè)務(wù)上有沒有什么優(yōu)化點(diǎn);和同行業(yè)其他公司的差距和優(yōu)勢(估計(jì)是P7的標(biāo)準(zhǔn)問題吧。。。我是沒咋說好) 2,dubbo服務(wù)調(diào)用過程(說著說著說到服務(wù)暴露和引用上面,他直接說這個(gè)之前問過了。。不用重復(fù)說,所以面試應(yīng)該有記錄面試問題) 3,NIO、BIO區(qū)別,NIO解決了什么問題,Netty線程模型(源碼拷問)。 4,MQ相關(guān)(RocketMQ、kafaka奇怪的是你寫啥面試官問啥,面試官啥都會,技術(shù)廣度深度令人發(fā)指) 第五輪電話面試(這位面試官比較較真,什么問題都會問具體數(shù)值,但和他挺聊得來的,向他請教阿里那邊方案也會耐心指導(dǎo),1.5小時(shí)) 1,項(xiàng)目介紹 2,聽到說做了限流,限流標(biāo)準(zhǔn)(并發(fā)數(shù)?qps?并發(fā)數(shù)和qps關(guān)系?說出了5種限流方案和對應(yīng)算法原理) 3,dubbo調(diào)用端怎么在jvm中生成對應(yīng)服務(wù)?dubbo服務(wù)端和調(diào)用端超時(shí)時(shí)間設(shè)置和區(qū)別、dubbo長連接。 3,mysql行鎖最大并發(fā)數(shù)?(秒殺項(xiàng)目指出) 4,設(shè)計(jì)秒殺系統(tǒng),我說的異步的方式,會問怎么優(yōu)化?改為了同步的方式,異步和同步區(qū)別?然后我也問了阿里那邊 5,碰到哪些技術(shù)難點(diǎn)?怎么解決?有沒有參考其他大廠?其他大廠方案什么樣的?有沒有關(guān)注阿里這邊最新的技術(shù)? 6,剛剛的秒殺系統(tǒng),會涉及到多個(gè)庫表的更新,分布式事務(wù)怎么解決,我說的消息最終一致性,異步?有沒有更好的方案?同步TCC方式,TCC方式原理?(三個(gè)階段的具體實(shí)現(xiàn)) 以上是技術(shù)面。 第六輪主管視頻面試:個(gè)人介紹、項(xiàng)目介紹為主,十五分鐘結(jié)束。 第七輪HR面試,項(xiàng)目介紹、職位介紹、離職原因、當(dāng)前薪資,如果沒什么問題,一天后會電話反饋待遇并確認(rèn)是否接受。 不會問期望薪資是多少,后面會打電話告訴你評級是否接受,然后就開始安排體檢了。 總結(jié)面試整體難度中上,因?yàn)榕笥褜ubbo源碼的研讀比較深,所以基本上每一面都很加分,多線程環(huán)境都是常規(guī)問題,能回答道計(jì)算機(jī)底層就很加分了。 這次面試比較突然,他也沒準(zhǔn)備,全靠平時(shí)積累了,所以中間有些描述技術(shù)細(xì)節(jié)和項(xiàng)目的地方他覺得沒回答好。 大家如果要面試得好好準(zhǔn)備一番,特別是那些常規(guī)問題,有啥想問我的?為啥跳槽?等等 最近我事情比較多,你們也知道的,視頻和文章可能都輸出沒那么高,希望大家理解。 我是敖丙,一個(gè)在互聯(lián)網(wǎng)茍且偷生的工具人。 |
|