阿里(菜鳥,天貓,螞蟻金服)面試后的題目總匯

雖然天貓,螞蟻金,菜鳥都歸屬阿里旗下,但每個面試官問的問題都不一樣,相同點主要在流程方面。面試開始會讓自我介紹,主要業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu)兩部分。業(yè)務(wù)架構(gòu)一般不會深究,但要面試官聽明白,并且一般面試官會順著問是如何根據(jù)這些業(yè)務(wù)去設(shè)計技術(shù)架構(gòu)的。
面試試題
其他
什么是冪等?什么情況下需要考慮冪等?你怎么解決冪等的問題?
Java
多個線程同時讀寫,讀線程的數(shù)量遠遠大于寫線程,你認為應(yīng)該如何解決并發(fā)的問題?你會選擇加什么樣的鎖?
JAVA的AQS是否了了解,它是干嘛的?
除了synchronized關(guān)鍵字之外,你是怎么來保障線程安全的?
什么時候需要加volatile關(guān)鍵字?它能保證線程安全嗎?
線程池內(nèi)的線程如果全部忙,提交一個新的任務(wù),會發(fā)生什什么?隊列全部塞滿了之后,還是忙,再提交會發(fā)生什么?
Tomcat本身的參數(shù)你⼀一般會怎么調(diào)整?
synchronized關(guān)鍵字鎖住的是什么東西?在字節(jié)碼中是怎么表示的?在內(nèi)存中的對象上表現(xiàn)為什么?
wait/notify/notifyAll方法需不需要被包含在synchronized塊中?這是為什么?
ExecutorService你一般是怎么用的?是每個service放一個還是一個項目里面放一個?有什么好處?
Spring
你有沒有⽤用過Spring的AOP? 是用來干嘛的? 大概會怎么使用?
如果⼀一個接口有2個不同的實現(xiàn), 那么怎么來Autowire一個指定的實現(xiàn)?
Spring的聲明式事務(wù) @Transaction注解一般寫在什么位置? 拋出了異常會自動回滾嗎?有沒有辦法控制不觸發(fā)回滾?
如果想在某個Bean生成并裝配完畢后執(zhí)行自己的邏輯,可以什么方式實現(xiàn)?
SpringBoot沒有放到web容器里為什么能跑HTTP服務(wù)?
SpringBoot中如果你想使用自定義的配置文件而不僅僅是application.properties,應(yīng)該怎么弄?
SpringMVC中RequestMapping可以指定GET, POST方法么?怎么指定?
SpringMVC如果希望把輸出的Object(例如XXResult或者XXResponse)這種包裝為JSON輸出, 應(yīng)該怎么處理?
怎樣攔截SpringMVC的異常,然后做自定義的處理,比如打日志或者包裝成JSON
MySQL
如果有很多數(shù)據(jù)插入MYSQL 你會選擇什么方式?
如果查詢很慢,你會想到的第一個方式是什么?索引是干嘛的?
如果建了一個單列索引,查詢的時候查出2列,會用到這個單列索引嗎?
如果建了一個包含多個列的索引,查詢的時候只用了第一列,能不能用上這個索引?查三列呢?
接上題,如果where條件后面帶有一個 i + 5 < 100 會使用到這個索引嗎?
怎么看是否用到了了某個索引?
like %aaa%會使用索引嗎? like aaa%呢?
drop、truncate、delete的區(qū)別?
平時你們是怎么監(jiān)控數(shù)據(jù)庫的? 慢SQL是怎么排查的?
你們數(shù)據(jù)庫是否支持emoji表情,如果不支持,如何操作?
你們的數(shù)據(jù)庫單表數(shù)據(jù)量是多少?一般多大的時候開始出現(xiàn)查詢性能急劇下降?
查詢死掉了,想要找出執(zhí)行的查詢進程用什么命令?找出來之后一般你會干嘛?
讀寫分離是怎么做的?你認為中間件會怎么來操作?這樣操作跟事務(wù)有什么關(guān)系?
分庫分表有沒有做過?線上的遷移過程是怎么樣的?如何確定數(shù)據(jù)是正確的?
JVM
你知道哪些或者你們線上使用什么GC策略? 它有什么優(yōu)勢,適用于什么場景?
JAVA類加載器包括幾種?它們之間的父子關(guān)系是怎么樣的?雙親委派機制是什么意思?有什么好處?
如何自定義一個類加載器?你使用過哪些或者你在什么場景下需要一個自定義的類加載器嗎?
堆內(nèi)存設(shè)置的參數(shù)是什么?
Perm Space中保存什么數(shù)據(jù)? 會引起OutOfMemory嗎?
做gc時,一個對象在內(nèi)存各個Space中被移動的順序是什么?
你有沒有遇到過OutOfMemory問題?你是怎么來處理這個問題的?處理過程中有哪些收獲?
1.8之后Perm Space有哪些變動? MetaSpace大小默認是無限的么? 還是你們會通過什么方式來指定大小?
Jstack是干什么的? Jstat呢? 如果線上程序周期性地出現(xiàn)卡頓,你懷疑可能是gc導(dǎo)致的,你會怎么來排查這個問題?線程日志一般你會看其中的什么部分?
StackOverFlow異常有沒有遇到過?一般你猜測會在什么情況下被觸發(fā)?如何指定一個線程的堆棧大???一般你們寫多少?
針對這些面試題的答案,我找了幾個一線互聯(lián)網(wǎng)資深架構(gòu)師朋友把這些面試相關(guān)內(nèi)容錄制成視頻放在群:725219329中分享給有需要的朋友免費獲??;不僅如此,還包括一些目前互聯(lián)網(wǎng)最主流的架構(gòu)技術(shù):分布式,微服務(wù),等熱門話題的底層實現(xiàn)原理正在錄制中,感興趣的朋友可以進來看看。希望每一個進來的人都有收貨。
Linux命令
日志特別大只想看最后100行怎么弄弄? 如果想一直看日志的持續(xù)輸出,用什么命令?
如果日志一邊輸出,一邊想實時看到有沒有某個關(guān)鍵字應(yīng)該怎么弄?
grep如果忽略大小寫應(yīng)該怎么弄? 正則表達式呢?
vim往下一行是什么鍵?往下30行呢? 跳到文件末尾一行是什么? 跳回來是什么? 向后搜索是什么?
如果有個文本文件,按空格作為列的分隔符,如果想統(tǒng)計第三列里面的每個單詞的出現(xiàn)次數(shù)應(yīng)該怎么弄?
如果把上面的出現(xiàn)次數(shù)排個序應(yīng)該怎么弄? 想按照數(shù)字本身的順序而不是字符串的順序排列怎么弄?
Linux環(huán)境變量是以什么作為分隔符的?環(huán)境變量通過什么命令設(shè)置?
給某個文件權(quán)設(shè)置限比如設(shè)置為64 是用什么命令?這個6是什么意思?
Linux下面如果想看某個進程的資源占用情況是怎么看的?系統(tǒng)load大概指的什么意思?你們線上系統(tǒng)load一般多少?如果一個4核機器,你認為多少load是比較正常的?top命令里面按一下1會發(fā)生什么?
top命令里面,有時候所有進程的CPU使用率加起來超過100%是怎么回事?
還有哪些查看系統(tǒng)性能或者供你發(fā)現(xiàn)問題的命令?你一般是看哪個參數(shù)?
想看某個進程打開了哪些網(wǎng)絡(luò)連接是什么命令?里面連接的狀態(tài)你比較關(guān)心哪幾種? -- 偏題
有沒有做過Linux系統(tǒng)參數(shù)方面的優(yōu)化,大概優(yōu)化過什么?
系統(tǒng)參數(shù)里面有個叫做backlog的可以用來干什么?
查看網(wǎng)絡(luò)連接發(fā)現(xiàn)好多TIMEWAIT 可能是什么原因?對你的應(yīng)用會有什么影響?你會選擇什么樣的方式來減少這些TIMEWAIT
可否介紹一下TCP三次握手的過程,如果現(xiàn)在有個網(wǎng)絡(luò)程序,你用第三方的library來發(fā)送數(shù)據(jù),你懷疑這個library發(fā)送的數(shù)據(jù)有問題,那么怎么來驗證?tcpdump導(dǎo)出的文件你一般是怎么分析的?
KeepAlive是用來干什么的?這樣的好處是什么?
Redis -- 開發(fā)
緩存穿透可以介紹一下么?你認為應(yīng)該如何解決這個問題
你是怎么觸發(fā)緩存更新的?(比如設(shè)置超時時間(被動方式), 比如更新的時候主動update)?如果是被動的方式如何控制多個入口同時觸發(fā)某個緩存更新?
你們用Redis來做什么?為什么不用其他的KV存儲例例如Memcached,Cassandra等?
你們用什么Redis客戶端? Redis高性能的原因大概可以講一些?
你熟悉哪些Redis的數(shù)據(jù)結(jié)構(gòu)? zset是干什么的? 和set有什么區(qū)別?
Redis的hash, 存儲和獲取的具體命令叫什么名字?
LPOP和BLPOP的區(qū)別?
Redis的有一些包含SCAN關(guān)鍵字的命令是干嘛的? SCAN返回的數(shù)據(jù)量是固定的嗎?
Redis中的Lua有沒有使用過? 可以用來做什么? 為什么可以這么用?
Redis的Pipeline是用來干什么的? -- 運維
Redis持久化大概有幾種方式? aof和rdb的區(qū)別是什么? AOF有什么優(yōu)缺點嗎?
Redis Replication的大致流程是什么? bgsave這個命令的執(zhí)行過程? -- 偏題
如果有很多 KV數(shù)據(jù)要存儲到Redis, 但是內(nèi)存不足, 通過什么方式可以縮減內(nèi)存? 為什么這樣可以縮小內(nèi)存?
Redis中List, HashTable都用到了ZipList, 為什么會選擇它
監(jiān)控、穩(wěn)定性
業(yè)務(wù)日志是通過什么方式來收集的?
線上機器如何監(jiān)控?采用什么開源產(chǎn)品或者自研的產(chǎn)品?它是分鐘級的還是秒級的?
如果讓你來想辦法收集一個JAVA后端應(yīng)用的性能數(shù)據(jù),你會在意哪些方面? 你會選擇什么樣的工具、思路來收集?
一般你調(diào)用第三方的時候會不會監(jiān)控調(diào)用情況?
到此這篇關(guān)于阿里(菜鳥,天貓,螞蟻金服)面試后的題目總匯的文章就介紹到這了,更多相關(guān)阿里面試題目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- 這篇文章主要介紹了面試百度、阿里、騰訊,這134道Java面試題你會多少,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-03-26
- 這篇文章主要介紹了阿里巴巴 P6 前端面試經(jīng)驗分享,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-02-27
- 這篇文章主要介紹了這四十道阿里的多線程面試題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-02-19
阿里實習(xí)offer五面經(jīng)驗與總結(jié)
這篇文章主要介紹了阿里實習(xí)offer五面經(jīng)驗與總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-02-10- 這篇文章使小編給大家收藏整理的關(guān)于2020年最新阿里面試題整理附答案,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2020-01-19
- 這篇文章主要介紹了阿里外包的一次面試經(jīng)歷,分享總結(jié)了一次阿里外包的面試經(jīng)歷,包括面試遇到的各種問題、參考答案以及相關(guān)經(jīng)驗總結(jié),需要的朋友可以參考下2020-01-17
最全阿里面試題合集118道+答案(阿里技術(shù)專家分享)
這篇文章主要介紹了最全阿里面試題合集118道+答案(阿里技術(shù)專家分享),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-01-10- 這篇文章主要介紹了阿里面試經(jīng)歷,總結(jié)分析了阿里面試中四輪面試的經(jīng)驗與第四輪失敗的教訓(xùn),具有一定參考借鑒價值,需要的朋友可以參考下2019-12-19
- 這篇文章主要介紹了如何拿到阿里offer?并針對阿里面試流程及面試題進行了簡單分析,以及給出了相應(yīng)的參考建議,需要的朋友可以參考下2019-11-22
- 這篇文章主要介紹了2019年阿里最新前端工程師面試題及答案題 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-11-20