淘寶|螞蟻|菜鳥|盒馬|嘀嘀|餓了么面經(jīng)(已拿多個offer)
上一篇的同學(xué)拿到了bigo和騰訊的offer,這一次的分享來自兩位同學(xué)的面試綜合,他們分別拿到了菜鳥、嘀嘀、盒馬的多個offer,由于面試的時間跨度時間太長,且面試的部門太多,只能回憶到具體的面試題,無法再具體區(qū)分出幾面了,但是面試真題還是可以拿出來分享一下,且看正文。
菜鳥&嘀嘀
這些來自第一位同學(xué)分享的面試題,由于過于優(yōu)秀,同時面試幾個大廠都已拿到offer,他只能回憶到一些重點的問題。
JVM內(nèi)存溢出排查?
根據(jù)他的描述,JVM內(nèi)存溢出的排查是個必問點,基本上每個公司都被問到,要知道怎么利用jstat、jmap這些命令結(jié)合MAT等工具導(dǎo)出堆棧信息查看分析,如果沒有實戰(zhàn)的經(jīng)驗,最好平時可以自己模擬一下場景,看看具體怎么處理。
網(wǎng)絡(luò)編程相關(guān)的提問
因為大家Java可能做業(yè)務(wù)相關(guān)的需求比較多,如果不是涉及到比如IOT這種和網(wǎng)絡(luò)編程相關(guān)的話,確實不是很清楚,對于這塊問題他直接回復(fù)不清楚,問題也不大。
并發(fā)包相關(guān)問題
JUC下的那些常見問題,ConcurrentHashMap、CountDownLatch等等這些都應(yīng)該要熟悉掌握,面試必考點。
線程池原理
基本也是必問點,也比較簡單。
mysql索引,鎖機(jī)制,隔離級別
同上,這個比較基礎(chǔ),必須掌握的點,如果不是很明白,可以去看我的進(jìn)大廠系列mysql的專題。
Redis連環(huán)炮
Redis連環(huán)炮,數(shù)據(jù)類型、緩存擊穿、雪崩、穿透、熱key、大key,哨兵、集群,同步機(jī)制都應(yīng)該了然于心,具體可以看我的進(jìn)大廠系列redis專題。
有一個比較少見的問題,tomcat起兩個war包,怎么識別哪個請求要給到哪個進(jìn)程?
這個問題同學(xué)沒有回答上。(歡迎你留言給出想法哦)
Linux的命令,比如怎么查看給文件按大小排序,主要是查看日志相關(guān)的技巧命令
這個在上一篇的快手的面試也有,Linux相關(guān)的基本上就是這些了,對于日志的查詢這塊grep、tail等等這些要用的熟練。
volatie內(nèi)存屏障具體是怎么實現(xiàn)?
關(guān)于JMM內(nèi)存模型相關(guān)的知識點,必須要掌握。
JVM啟動參數(shù)有哪些,怎么調(diào)優(yōu),TLAB是什么,阻塞隊列對比和選擇
JVM調(diào)優(yōu),根據(jù)實際場景舉例,阻塞隊列的問題上一個同學(xué)也碰到了,都是基礎(chǔ)知識,應(yīng)該掌握,TLAB這個稍微有點不常見。
DDD的理解?
對于阿里來說,很負(fù)責(zé)任的告訴你,基本上DDD是必問,但是這個基本上只要你有一定的自己的理解就可以了。
Reactor模型
這個問題,至少我在美團(tuán)、餓了么、阿里多個面試中碰到過,基本也屬于必問的問題。
第一個總結(jié)
第一位同學(xué)的面試題記憶深刻的就這些了,雖然不多,但是基本上也都覆蓋到了高頻出現(xiàn)的問題,參考價值還是挺大的??偟膩碚f,DDD、Reactor模型可能大部分同學(xué)都不是很清楚,可以專門準(zhǔn)備一下。
螞蟻金服
CHM結(jié)構(gòu),線程安全保證,加鎖實現(xiàn)細(xì)節(jié)
ConcurrentHashMap7和8的區(qū)別,實現(xiàn)原理這些??键c。
JVM內(nèi)存結(jié)構(gòu),垃圾回收原理,GC配合策略,排查過程細(xì)節(jié)和調(diào)優(yōu)方案
還是一樣的問題,JVM、GC、垃圾收集器,調(diào)優(yōu)的方案。
線程安全的本質(zhì)?
要說到原子性、有序性、可見性的問題。
并發(fā)鎖,AQS原理
都不是難點,頻繁問。
ThreadLocal源碼
多次出現(xiàn)的問題,一定要看書。
mysql 幻讀,怎么加鎖
同樣的問題,參考我的進(jìn)大廠mysql系列。
秒殺設(shè)計
秒殺從流量過濾、緩存、異步隊列、限流、降級這些方面說說就可以了。關(guān)于秒殺我的文章里面也寫過了。
亮點項目
亮點、難點項目一般也都是一定會問你的,事先準(zhǔn)備,如果項目實在沒有亮點,可以從業(yè)務(wù)價值或者一些開源的項目角度來說說,都沒有,咱就聊技術(shù)。
淘寶
介紹下項目,整體架構(gòu),主要功能
嗯,還是項目,一般都是第一個問題,從項目入手聊技術(shù)。
網(wǎng)絡(luò)模型,NIO,netty
關(guān)于NIO\BIO\AIO必須要了解。
JVM,垃圾回收,調(diào)優(yōu),排查思路
看到有多么頻繁的出現(xiàn)了嗎?第幾次了?
Redis為什么快?使用場景?過期策略?
Redis連環(huán)炮,同上。
RocketMQ 場景,如何保證不丟消息?
面阿里可以多準(zhǔn)備下RocketMQ相關(guān)的,因為無論是開源的ONS還是其他都是基于RMQ的。關(guān)于MQ可以看我的進(jìn)大廠系列MQ專題。
Spring Bean 生命周期
??键c,可以看我的進(jìn)大廠系列Spring專題。關(guān)于Spring相關(guān)的面試題其實很少就這么幾個。
線程池參數(shù),執(zhí)行順序,場景?
線程池原理,牢記。
Mysql 存儲引擎,索引
基本上就說InnoDb和Myisam就行了,區(qū)別說清楚。
餓了么
CHM 和 HashTable
還是老問題,就不說了吧。一般都會說到CHM7和8的區(qū)別,實現(xiàn)原理區(qū)別。
JVM 垃圾回收的原理,GC 排查步驟
第N次出現(xiàn)。
volatile,synchronize
一樣的問題,這些問題都可以看我的進(jìn)大廠Java基礎(chǔ)系列。
SQL 優(yōu)化,事務(wù)隔離級別
也是第N次出現(xiàn)了。
MQ的區(qū)別以及選型
要記一下,RMQ、Kafka、RabbitMQ這些區(qū)別,支撐的吞吐量,支持的功能等等。
Redis 分布式鎖
關(guān)于分布式鎖,除了基本實現(xiàn)之外,可能還會涉及到一個可重入的實現(xiàn)的問題。
業(yè)務(wù)冪等實現(xiàn)
就說自己的業(yè)務(wù)中冪等是怎么做的就好了。
分庫分表,MyCat 底層實現(xiàn)原理
MyCat問到原理這個倒是不是很多見,分庫分表的很常見,看我的面試專題系列吧。
監(jiān)控指標(biāo),業(yè)務(wù)分析,業(yè)務(wù)指標(biāo)
根據(jù)自己使用的監(jiān)控系統(tǒng)來說,哪些監(jiān)控項,為什么?告警策略是什么,指標(biāo),閾值。
亮點業(yè)務(wù),好的項目
準(zhǔn)備好自己的項目,必問。
平時怎么學(xué)習(xí)的?看什么書?
如果不看書的話,就別吹,一問就露餡。
場景題設(shè)計:銀行,人,卡,充值記錄,怎么進(jìn)行系統(tǒng)設(shè)計,怎么支撐高并發(fā)?
這個場景題還比較簡單吧,可以參考看看我的百億級流量怎么處理。
聊項目,聊人生
這是最后一面的最后一個問題,不過當(dāng)時狀態(tài)不佳,回答的不好,估計就是因為這個錯過了P7,淚奔~~o(>_<)o ~~
盒馬
可能知道我其他BU已經(jīng)到了終面,沒怎么問基礎(chǔ),主要問的都是項目亮點,設(shè)計,發(fā)展之類的。
總結(jié)
第二位同學(xué)也是拿到了餓了么、盒馬、淘寶的多個offer,很多人也許看了會說,啊,這很簡單啊,我上我也行,不,我覺得你上你真不一定行,面試題寫出來給你看和當(dāng)場面試的感受還是不太一樣的,很多細(xì)節(jié)的問題從羅列出來的知識點是體現(xiàn)不出來的。而且個人狀態(tài)、情緒都會對發(fā)揮產(chǎn)生影響。
關(guān)于這個我突然想到知乎的一個問題“你的編程水平從什么時候開始突飛猛進(jìn)的?”,我想了很久都沒想好怎么回答,就是突然回頭發(fā)現(xiàn)自己之前怎么寫的代碼那么爛?包括現(xiàn)在都會回頭看我為什么當(dāng)時的邏輯是這樣寫的?好像,不管面試還是平時,其實都是靠著水滴石穿的功夫罷了。
對吧,哪有那么多突飛猛進(jìn),歲月靜好,不過是每天都在負(fù)重前行罷了。
特別推薦一個分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長按關(guān)注一下:
長按訂閱更多精彩▼
如有收獲,點個在看,誠摯感謝
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!