受大環(huán)境影響,整個互聯(lián)網(wǎng)企業(yè)裁員的現(xiàn)象比往年嚴重多了煤杀,恰巧今年又是我的第一個“五年計劃”截止的時間點眷蜈,說什么也不能夠耽擱了,所以早早準備的跳槽漲薪了沈自。而這次的阿里之行也是路途坎坷酌儒,真的太為難我了,可以說是和面試官大戰(zhàn)了7個回合枯途,不過好在最后到底還是給了offer忌怎!我個人情況是5年Java后臺經(jīng)驗,阿里定級P7的樣子酪夷,下面是我的面試經(jīng)歷分享呆躲,希望能帶來一些不一樣的啟發(fā)和幫助。
我與Alibaba面試官大戰(zhàn)7回合捶索,險勝!
Alibaba大戰(zhàn)第一輪
第一輪面試是電話面灰瞻,以基礎(chǔ)知識為主腥例,前后大概2個小時左右,這個階段我是比較緊張的酝润。
- 先自我介紹燎竖,包含日常工作
- 多線程,ThreadLocal要销,問了父子線程怎么共享數(shù)據(jù) interitableThreadLocals
- Lock和Sync的區(qū)別
- AQS原理(執(zhí)行過程源碼构回,入隊出隊的細節(jié),源碼細節(jié))
- CountDownLatch和CyclicBarrier的區(qū)別是什么源碼級別
- volatile從指令重排序疏咐,內(nèi)存屏障
- 數(shù)據(jù)庫纤掸,MySQL索引,執(zhí)行計劃浑塞、count1*區(qū)別借跪、舉例優(yōu)化sql、MVCC和事務(wù)隔離級別的關(guān)系酌壕、間隙鎖掏愁、行鎖
- JVM調(diào)優(yōu)(可達性分析算法中根節(jié)點有哪些歇由、cms和G1區(qū)別、怎樣GC調(diào)優(yōu)果港、怎樣排查CPU彪高沦泌、內(nèi)存彪高、逃逸分析)
- redis數(shù)據(jù)結(jié)構(gòu)辛掠、跳躍表谢谦、redis qps能上多少,怎么知道的公浪、sentinel和cluster區(qū)別和各自適用場景他宛、redis cluster集群同步過程、redis單線程為什么快欠气、多大叫大key厅各、熱key產(chǎn)生原因和后果以及怎么解決、本地緩存需要高時效性怎么辦预柒?
- spring的作用队塘、spring循環(huán)依賴怎么解決(說出三級緩存源碼細節(jié))、spring aop原理(動態(tài)代理)宜鸯、spring bean生命周期(源碼細節(jié)憔古,以及各個位置的設(shè)計思路,有什么可擴展的)
- dubbo服務(wù)暴露和引用過程淋袖,負載均衡策略鸿市,容錯機制在哪里實現(xiàn)的源碼
- 項目中碰到的問題
- 為什么換工作,如果通過會直接說有筆試題即碗,和你確認筆試時間
Alibaba大戰(zhàn)第二輪
第二輪是筆試焰情,總共兩道題,第一題是寫代碼剥懒,第二題是寫技術(shù)方案内舟。
- 主要是以查詢?yōu)橹鳎疾戽i粒度初橘、時間粒度上的細節(jié)點验游。(詳細省略)
Alibaba大戰(zhàn)第三輪
第三輪是現(xiàn)場面試,這一輪面試以解決方案為主保檐,前后大概約1小時20分鐘耕蝉。
- 緩存穿透,讓我設(shè)計一個防止緩存穿透的解決方案夜只,簡單的就是存null值赔硫,但肯定會深究,可以結(jié)合布隆過濾器盐肃,設(shè)計分布式系統(tǒng)爪膊,里面又會問到流量分發(fā)到具體過濾器服務(wù)的方式权悟,比如一致性hash算法,怎么調(diào)用推盛?比如dubbo直連峦阁、等等細節(jié)會邊說邊問
- 有沒有做限流,設(shè)計一個侵入性最小的限流服務(wù)
- 項目中碰到的問題耘成,最好說框架本身問題榔昔,能體現(xiàn)個人能力,也避免問題太低級被面試官看low瘪菌,剛好之前有發(fā)現(xiàn)一個dubbo的bug撒会,所以這問題應(yīng)該回答的還可以
- 為什么換工作,每輪都會問师妙,這個得想好
Alibaba大戰(zhàn)第四輪
交叉面诵肛,項目為主,時間大概為40分鐘默穴,問的內(nèi)容不多怔檩,這個階段我個人的狀態(tài)比較放松了,與面試官交談的方式也自然了許多蓄诽。
- 介紹最熟悉的項目薛训,業(yè)務(wù)上有沒有什么優(yōu)化點;和同行業(yè)其他公司的差距和優(yōu)勢(估計是P7的標準問題仑氛,總之我回答得不是太好)
- Dubbo服務(wù)調(diào)用過程
- NIO乙埃、BIO區(qū)別,NIO解決了什么問題锯岖,Netty線程模型(源碼拷問)介袜。
- MQ相關(guān)
Alibaba大戰(zhàn)第五輪
這輪面試真的讓我比較為難了,面試官問什么問題都會問到具體的數(shù)值嚎莉,狀態(tài)又變緊張了,如履薄冰啊沛豌。
- 項目介紹
- 聽到說做了限流趋箩,限流標準(并發(fā)數(shù)? qps加派?并發(fā)數(shù)和qps關(guān)系叫确?說出了5種限流方案和對應(yīng)算法原理)
- dubbo調(diào)用端怎么在jvm中生成對應(yīng)服務(wù)?dubbo服務(wù)端和調(diào)用端超時時間設(shè)置和區(qū)別芍锦、dubbo長連接竹勉。
- mysql行鎖最大并發(fā)數(shù)?(秒殺項目指出)
- 設(shè)計秒殺系統(tǒng)娄琉,我說的異步的方式次乓,會問怎么優(yōu)化吓歇?改為了同步的方式,異步和同步區(qū)別票腰? 然后我也問了阿里那邊
- 碰到哪些技術(shù)難點城看?怎么解決?有沒有參考其他大廠杏慰?其他大廠方案什么樣的测柠?有沒有關(guān)注阿里這邊最新的技術(shù)?
- 剛剛的秒殺系統(tǒng)缘滥,會涉及到多個庫表的更新轰胁,分布式事務(wù)怎么解決,我說的消息最終一致性朝扼,異步赃阀?有沒有更好的方案?同步TCC方式吟税,TCC方式原理凹耙?(三個階段的具體實現(xiàn))
Alibaba大戰(zhàn)第六輪
總監(jiān)面,主要是自我介紹和項目介紹肠仪,聊天的方式比較舒服肖抱,大部分是對你的整體價值觀做宏觀的把控(比如上進心,責任心异旧,心態(tài)意述,工作激情等,差不多15分鐘就結(jié)束了吮蛹。
- 說了自己的項目
- 主要用到的架構(gòu),做了些什么荤崇?
- 比較復雜的業(yè)務(wù)邏輯講一下?
- ...
Alibaba大戰(zhàn)第七輪:
HR面潮针,阿里的HR很不一樣术荤,無論是氣質(zhì)還是談吐都讓人佩服,問的問題也很有針對性每篷,最后告訴我會電話反饋結(jié)果瓣戚。
- 自我介紹
- 如何學習新技術(shù)?
- 如何團隊合作的焦读?
- 遇到很難的問題子库,如何解決?如何突破矗晃?
- 職業(yè)規(guī)劃
-
......
image.png
面試阿里之前仑嗅,我流了多少汗?
第一步:梳理知識
一般的面試,會被問到JVM原理仓技、多線程鸵贬、數(shù)據(jù)結(jié)構(gòu)和算法、高并發(fā)浑彰、設(shè)計模式等內(nèi)容恭理,這都是一名普通Java開發(fā)人員的知識結(jié)構(gòu),那么阿里P7肯定是需要具備更多的知識樹郭变,需要掌握更全面的知識體系颜价,所以就需要對知識進行一個系統(tǒng)的梳理了。
對標P7诉濒,我梳理的知識體系如下(全部已xmind軟件繪畫周伦,無法上傳,用截圖展現(xiàn)未荒,不過可提供完整的原件(xmind)):
- 筑基必備技能:并發(fā)編程专挪,JVM,網(wǎng)絡(luò)編程與高效IO片排,Mysql寨腔,Tomcat
- 設(shè)計思想與開源框架:SSM(Spring+SpringMVC+MyBatis)
- 性能直線提升架構(gòu)技術(shù):ZK,Nginx率寡,RabbitMQ迫卢,RocketMQ,Kafka冶共,elastic
- 高效存儲讓項目性能起飛:Redis乾蛤,MongoDB,MySQL捅僵,Mycat
- 分布式擴展到微服務(wù)架構(gòu):SpringBoot家卖,SpringCloud,SpringCloud Alibaba庙楚,Docker上荡,K8S
第二步:復習知識
工作這么久要重新再去面試肯定是要將自己的知識儲備重新拿出來,要把各個知識點復習到位馒闷,需要通過各個方式酪捡,選擇自己最習慣的。無論是讀電子書籍還是觀看視頻都是可以的窜司,但要記得做好自己的學習筆記沛善,能夠起到總結(jié)的作用航揉,再去復習起來就特別清晰了塞祈。((復習總結(jié)))
1. 電子書籍匯總(PDF):
2. 學習筆記匯總(PDF):JVM,JAVA集合帅涂,網(wǎng)絡(luò)议薪,JAVA多線程并發(fā)尤蛮,JAVA基礎(chǔ),Spring原理斯议,微服務(wù)产捞,Zookeeper,Kafka哼御,RabbitMQ坯临,Hbase,MongoDB恋昼,Cassandra看靠,設(shè)計模式,負載均衡液肌,數(shù)據(jù)庫挟炬,一致性哈希,JAVA算法嗦哆,數(shù)據(jù)結(jié)構(gòu)谤祖,加密算法,分布式緩存
第三步:刷面試題
工作5年老速,雖然清楚現(xiàn)在流行什么技術(shù)粥喜,但對于互聯(lián)網(wǎng)大公司會面試一些什么還真是不太清楚,所以面試之前刷一刷面試題還是很有必要的烁峭,能夠做到舉一反三容客。一線互聯(lián)網(wǎng)的面試題,我整理了近三年的约郁,內(nèi)容還真不少缩挑。(((面試真題解析)))
拿到offer后的規(guī)劃和心態(tài)
畢業(yè)后,我的第一個5年按照計劃進行了鬓梅,那么拿到阿里offer后供置,下一個5年也有要清晰的目標。接下來的時間绽快,是形成思維方法論和知識體系的階段芥丧,同時也要培養(yǎng)自己團隊協(xié)助與管理能力,提升自己的眼界坊罢,從而有更長遠的發(fā)展续担。
至于心態(tài),腳踏實地活孩,不傲不餒物遇。