(新鲜出炉)二本,两年经验,阿里P6面经
? ? ? ?給的是P6,base畢竟低,膽小,沒敢和hr去撕逼,argue就不說了,同時(shí)也是紅線就不透露太多了。
說一下我大致情況吧,普通二本軟件工程畢業(yè),剛開始在一家小的創(chuàng)業(yè)型公司crud,隨后進(jìn)了一家獨(dú)角獸(2b方向),也是crud。
經(jīng)驗(yàn)3年不到,其實(shí)對我而言,優(yōu)勢不大,屬于那種簡歷送給hr,還沒機(jī)會(huì)給對應(yīng)部門看,就被砍的那種,你懂的!
簡歷,最好能找大廠的小哥哥幫你看看,改到他們覺得可以過hr的法眼,讓他們幫你內(nèi)推,這樣基本能獲取到面試的機(jī)會(huì),不然機(jī)會(huì)都沒有,只能做大廠夢了。
簡歷最好有亮點(diǎn),能夠量化的東西,也別寫的太浮夸了,明明是個(gè)小的系統(tǒng),非要吹幾百萬的qps的話,即便簡歷過了,大佬面你時(shí)候,你吹不出來,你懂吧。
很多人其實(shí)和我差不多,天天crud的,哪有什么亮點(diǎn)?
有的,你要相信自己,你遇到過什么問題,怎么解決的,用了什么方法,效果怎么樣的?
你把這個(gè)4連擊想破頭你都要想出來,組成一段話,你的亮點(diǎn)就出來了。
當(dāng)然,亮不亮就看你平時(shí)了,實(shí)在沒有,那你就回去重構(gòu)系統(tǒng),模塊。
不然就最好別去面了,因?yàn)槟闵抖寄貌怀鍪?。最簡單的來說,就是產(chǎn)品經(jīng)理提了什么奇葩的需求,你怎么解決了,你能巧妙的形容出來都是亮點(diǎn)。
關(guān)于簡歷這塊的話,還是讓大廠小哥哥幫你看看先。然后里面涉及到的所有的東西,你必須會(huì)“自圓其說”,你寫了什么,你必須會(huì),而不是充字?jǐn)?shù),要么別寫。
我碰過一個(gè)dd面試官把我寫的所有東西問了個(gè)遍,很酸爽,不過我基本都答出來了。
簡歷這部分簡單說到這。
準(zhǔn)備,所有的面試是要準(zhǔn)備的!(技術(shù)大牛當(dāng)我沒說)
對于我這種面高級的話,一般而言你簡歷上寫的都必須會(huì),而且必須有一些是你的亮點(diǎn),你得有一些深入的了解,回答讓面試官覺得你這個(gè)小伙子不簡單,有點(diǎn)東西。
Java集合比如說HashMap和ConcurrentHashMap我覺得,你最好在平時(shí)能去耐心讀一下源碼,搜一搜相關(guān)的博客,最好能知道每個(gè)參數(shù)為什么設(shè)置成這么大?有什么好處?為什么?你會(huì)發(fā)現(xiàn)不少東西,網(wǎng)上也有很多視頻可以去學(xué)。
JUC包,毫無疑問的,你得去學(xué),哪怕你平時(shí)編程根本不去用,但是你得會(huì),只得知道有這個(gè)東西,你至少得知道aba,cas,aqs,unsafe,volatile,sync,常見的各種lock,死鎖,線程池參數(shù)和如何合理的去設(shè)置,你必須明白自旋,阻塞,死鎖和它如何去定位,oom如何定位問題,cpu過高如何定位等基本的操作,你可以沒有生產(chǎn)調(diào)試經(jīng)驗(yàn),但不代表你可以不會(huì)top,jps,jstack,jmap這些可能會(huì)問的東西。以及可能衍生的jmm模型和mesi協(xié)議等。
JVM毫無意外,大廠必須問,垃圾回收算法,垃圾收集器,jvm內(nèi)存模型,每個(gè)區(qū)域用途,各種oom的種類,jvm調(diào)優(yōu)經(jīng)驗(yàn),沒有你也要做過,自己去設(shè)置啟動(dòng)參數(shù),知道常見參數(shù)的含義,類加載過程,雙親委派,什么時(shí)候young gc,full gc,各種情況進(jìn)入老年代的方式,你知道的越多越好,因?yàn)榇灯饋砭驮阶孕?#xff0c;舉個(gè)例子,逃逸分析是什么?markword里面有什么?
Spring,最好能抽空看看源碼,最起碼bean的生命周期,如何解決循環(huán)依賴,父子容器,還有boot的啟動(dòng)流程,事務(wù)實(shí)現(xiàn)原理,動(dòng)態(tài)代理原理等,你知道越多越好。
Dubbo,因?yàn)槲矣玫氖莇ubbo,而且我寫了,這個(gè)也是高頻,寫了必須問的,他的設(shè)計(jì)框架,負(fù)載均衡,spi機(jī)制,一般順勢會(huì)提到zk,選舉算法,分布式鎖等,一些常見的dubbo問題可以去搜,網(wǎng)上的基本都有??赡軙?huì)順帶去問cloud的問題,生產(chǎn)沒用過不怕,你現(xiàn)在可以自己clone一個(gè)項(xiàng)目,最起碼,互聯(lián)娃,你得知道還有這個(gè)玩意兒,還有他集成了啥,比如rureka,hystrix,ribbon,feign,zuul這些常規(guī)的東西吧,他們做什么的?
Redis,必須會(huì)的,我這方便還算懂得多點(diǎn),可以和面試官大戰(zhàn)幾個(gè)回合吧,應(yīng)該不至于上來被打趴下,單線程模型,aof,rdb,rewrite,主從,cluster,哪些類型,不要再說常規(guī)的5個(gè)了,多說幾個(gè)讓你區(qū)別其他小哥,包含一些緩存常見的問題擊穿、穿透、雪崩、數(shù)據(jù)一致性等,你必須會(huì),不會(huì)基本沒戲,一致性hash,布隆過濾器的原理,為此我還去了解了geohash的原理以及google s2的原理,底層數(shù)據(jù)結(jié)構(gòu)sds和跳表等,你多學(xué)點(diǎn),準(zhǔn)沒錯(cuò)。
Mysql,事務(wù),鎖,索引,b+樹,主從這些你必須會(huì)
Mq ,我用的rocketmq,你得知道為什么用,重復(fù)消費(fèi),順序消息,事務(wù)消息,高可用,消息丟失,擠壓場景,整個(gè)消息發(fā)送消費(fèi)的流程,讀過源碼更佳,更好吹
Netty的話,零拷貝,bio,nio,aio,架構(gòu)設(shè)計(jì)怎么樣子的?用過看過更好
算法,建議去刷題,我運(yùn)氣好,簡單的算法讓我碰到了,一些快排,堆排,二叉樹相關(guān)的,鏈表反轉(zhuǎn),成環(huán),環(huán)節(jié)點(diǎn),跳樓梯等常規(guī)的簡單算法建議刷刷,雙指針,dp,遞歸這些還是多找找感覺,大數(shù)據(jù)內(nèi)存有限的場景的統(tǒng)計(jì),有時(shí)間一些middle可以去試試,手寫紅黑樹你要是可以,那我估計(jì)算法你穩(wěn)了。
網(wǎng)絡(luò),http,tcp,https,udp,7層網(wǎng)絡(luò)協(xié)議等,最好結(jié)合自己理解,背,你都要背下來。
還有就是一些分布式事務(wù)實(shí)現(xiàn),架構(gòu)實(shí)現(xiàn),比如搶紅包,高并發(fā)下單等常規(guī)的場景設(shè)計(jì),你來設(shè)計(jì),你怎么去設(shè)計(jì)?多找一些大牛或者上網(wǎng)自己查,幫你看看有哪些漏洞,有那些解決方案?業(yè)界有哪些好的中間件?
大部分的準(zhǔn)備工作差不多了,我覺得差不多可以去試試了
一般面試開始都一樣,自我介紹+最熟悉的系統(tǒng)介紹,最后都是問你想問他什么。時(shí)間有點(diǎn)久,我可能沒記全面試題,見諒:
一面40min:
sync的底層實(shí)現(xiàn),鎖優(yōu)化,和lock的對比等
jvm參數(shù)調(diào)優(yōu)詳細(xì)過程,到為什么這么設(shè)置,好處,一些gc場景,如何去分析gc日志
redis數(shù)據(jù)結(jié)構(gòu),使用場景,微博場景使用redis如何去設(shè)計(jì)用戶關(guān)系
線程池參數(shù)設(shè)定,為什么這么設(shè)定,作用?7大參數(shù)
spring的循環(huán)依賴如何解決?為什么要三級緩存?
優(yōu)先級隊(duì)列的底層原理?
基本都是扣著你的項(xiàng)目去問,一面主要以基礎(chǔ)為主。
二面1h:
基本就是設(shè)計(jì)問題了
結(jié)合你項(xiàng)目問你如何設(shè)計(jì),提出漏洞,你怎么解決?如何改進(jìn),萬一掛了?加一臺機(jī)器有沒有問題?如果我非要不出問題怎么辦?
高并發(fā)下單扣庫存場景如何設(shè)計(jì)
rocketmq架構(gòu)設(shè)計(jì)原理(大方向)
dubbo框架實(shí)現(xiàn)原理(大方向)
最近讀了什么書?平時(shí)怎么學(xué)習(xí)
三面1.5-2h:
兩個(gè)大佬一個(gè)問一個(gè)找漏洞,逮到?jīng)]說清的就繼續(xù)問,壓力面
也是結(jié)合項(xiàng)目問,為什么這么設(shè)計(jì)?讓你去優(yōu)化,你怎么優(yōu)化,引導(dǎo)你用一個(gè)合理的更好的方式去優(yōu)化,數(shù)據(jù)庫的設(shè)計(jì)等
在公司做了什么事情,各個(gè)系統(tǒng)業(yè)務(wù)線都是做什么的,你的績效,手寫算法鏈表反轉(zhuǎn),還算簡單了
看起來問的很少,但是是不斷的否認(rèn)你做的項(xiàng)目,在他的引導(dǎo)下去設(shè)計(jì)一個(gè)更好的系統(tǒng),的確,他們說的是對的,挺厲害的,即便沒成功,也能學(xué)到一點(diǎn)東西的。因?yàn)閱柕奶昧?#xff0c;我細(xì)節(jié)記不清楚了
四面20min:
可能看我說了jvm,boss直接開始懟我jvm,還好我有準(zhǔn)備,基本都接下來了,比如一些sms的過程,full gc做什么了之類的常規(guī)問題,很奇怪這時(shí)候問我基礎(chǔ),哈哈
后來有個(gè)問題就很玄幻了,把你知道所有的中間件全說出來,估計(jì)看我廣度吧,我是一口氣說了幾十種吧。
hrg面:
嗅味道了,阿里味必須足,為什么來,以前為什么不來?
從畢業(yè)到現(xiàn)在有什么改變?
一句話總結(jié)下自己,反正你需有有強(qiáng)烈來的欲望就對了,此時(shí)此刻,非我莫屬,哈哈!
強(qiáng)調(diào)一點(diǎn),簡歷寫了啥,你必須復(fù)習(xí)到位!多準(zhǔn)備準(zhǔn)備,失敗不怕,總結(jié)經(jīng)驗(yàn),努力學(xué)習(xí)!
你要悄悄的拔尖,然后驚艷所有人!
總結(jié)
這也是我的一個(gè)讀者,之前還找我內(nèi)推過我們公司的。
最后去了阿里,挺好的,看大家的面經(jīng)我也很爽,各種掃盲。
不說了我今天準(zhǔn)備早點(diǎn)回家,這個(gè)讀者跟我說植發(fā)20一根,我。。。
我是敖丙,一個(gè)在互聯(lián)網(wǎng)茍且偷生的工具人。
最好的關(guān)系是互相成就,各位的「三連」就是丙丙創(chuàng)作的最大動(dòng)力,我們下期見!
總結(jié)
以上是生活随笔為你收集整理的(新鲜出炉)二本,两年经验,阿里P6面经的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (零)音视频技术基础知识,现实项目
- 下一篇: 一张图看懂android事件分发原理