欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

  發(fā)布時(shí)間:2020-04-01 14:19:04   作者:昨夜黃花今朝狼   我要評(píng)論
這篇文章主要介紹了阿里(菜鳥,天貓,螞蟻金服)面試后的題目總匯,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

雖然天貓,螞蟻金,菜鳥都?xì)w屬阿里旗下,但每個(gè)面試官問的問題都不一樣,相同點(diǎn)主要在流程方面。面試開始會(huì)讓自我介紹,主要業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu)兩部分。業(yè)務(wù)架構(gòu)一般不會(huì)深究,但要面試官聽明白,并且一般面試官會(huì)順著問是如何根據(jù)這些業(yè)務(wù)去設(shè)計(jì)技術(shù)架構(gòu)的。

面試試題

其他

什么是冪等?什么情況下需要考慮冪等?你怎么解決冪等的問題?

Java

多個(gè)線程同時(shí)讀寫,讀線程的數(shù)量遠(yuǎn)遠(yuǎn)大于寫線程,你認(rèn)為應(yīng)該如何解決并發(fā)的問題?你會(huì)選擇加什么樣的鎖?
JAVA的AQS是否了了解,它是干嘛的?
除了synchronized關(guān)鍵字之外,你是怎么來保障線程安全的?
什么時(shí)候需要加volatile關(guān)鍵字?它能保證線程安全嗎?
線程池內(nèi)的線程如果全部忙,提交一個(gè)新的任務(wù),會(huì)發(fā)生什什么?隊(duì)列全部塞滿了之后,還是忙,再提交會(huì)發(fā)生什么?
Tomcat本身的參數(shù)你⼀一般會(huì)怎么調(diào)整?
synchronized關(guān)鍵字鎖住的是什么東西?在字節(jié)碼中是怎么表示的?在內(nèi)存中的對(duì)象上表現(xiàn)為什么?
wait/notify/notifyAll方法需不需要被包含在synchronized塊中?這是為什么?
ExecutorService你一般是怎么用的?是每個(gè)service放一個(gè)還是一個(gè)項(xiàng)目里面放一個(gè)?有什么好處?

Spring

你有沒有⽤用過Spring的AOP? 是用來干嘛的? 大概會(huì)怎么使用?
如果⼀一個(gè)接口有2個(gè)不同的實(shí)現(xiàn), 那么怎么來Autowire一個(gè)指定的實(shí)現(xiàn)?
Spring的聲明式事務(wù) @Transaction注解一般寫在什么位置? 拋出了異常會(huì)自動(dòng)回滾嗎?有沒有辦法控制不觸發(fā)回滾?
如果想在某個(gè)Bean生成并裝配完畢后執(zhí)行自己的邏輯,可以什么方式實(shí)現(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 你會(huì)選擇什么方式?
如果查詢很慢,你會(huì)想到的第一個(gè)方式是什么?索引是干嘛的?
如果建了一個(gè)單列索引,查詢的時(shí)候查出2列,會(huì)用到這個(gè)單列索引嗎?
如果建了一個(gè)包含多個(gè)列的索引,查詢的時(shí)候只用了第一列,能不能用上這個(gè)索引?查三列呢?
接上題,如果where條件后面帶有一個(gè) i + 5 < 100 會(huì)使用到這個(gè)索引嗎?
怎么看是否用到了了某個(gè)索引?
like %aaa%會(huì)使用索引嗎? like aaa%呢?
drop、truncate、delete的區(qū)別?
平時(shí)你們是怎么監(jiān)控?cái)?shù)據(jù)庫(kù)的? 慢SQL是怎么排查的?
你們數(shù)據(jù)庫(kù)是否支持emoji表情,如果不支持,如何操作?
你們的數(shù)據(jù)庫(kù)單表數(shù)據(jù)量是多少?一般多大的時(shí)候開始出現(xiàn)查詢性能急劇下降?
查詢死掉了,想要找出執(zhí)行的查詢進(jìn)程用什么命令?找出來之后一般你會(huì)干嘛?
讀寫分離是怎么做的?你認(rèn)為中間件會(huì)怎么來操作?這樣操作跟事務(wù)有什么關(guān)系?
分庫(kù)分表有沒有做過?線上的遷移過程是怎么樣的?如何確定數(shù)據(jù)是正確的?

JVM

你知道哪些或者你們線上使用什么GC策略? 它有什么優(yōu)勢(shì),適用于什么場(chǎng)景?
JAVA類加載器包括幾種?它們之間的父子關(guān)系是怎么樣的?雙親委派機(jī)制是什么意思?有什么好處?
如何自定義一個(gè)類加載器?你使用過哪些或者你在什么場(chǎng)景下需要一個(gè)自定義的類加載器嗎?
堆內(nèi)存設(shè)置的參數(shù)是什么?
Perm Space中保存什么數(shù)據(jù)? 會(huì)引起OutOfMemory嗎?
做gc時(shí),一個(gè)對(duì)象在內(nèi)存各個(gè)Space中被移動(dòng)的順序是什么?
你有沒有遇到過OutOfMemory問題?你是怎么來處理這個(gè)問題的?處理過程中有哪些收獲?
1.8之后Perm Space有哪些變動(dòng)? MetaSpace大小默認(rèn)是無限的么? 還是你們會(huì)通過什么方式來指定大小?
Jstack是干什么的? Jstat呢? 如果線上程序周期性地出現(xiàn)卡頓,你懷疑可能是gc導(dǎo)致的,你會(huì)怎么來排查這個(gè)問題?線程日志一般你會(huì)看其中的什么部分?
StackOverFlow異常有沒有遇到過?一般你猜測(cè)會(huì)在什么情況下被觸發(fā)?如何指定一個(gè)線程的堆棧大小?一般你們寫多少?
針對(duì)這些面試題的答案,我找了幾個(gè)一線互聯(lián)網(wǎng)資深架構(gòu)師朋友把這些面試相關(guān)內(nèi)容錄制成視頻放在群:725219329中分享給有需要的朋友免費(fèi)獲??;不僅如此,還包括一些目前互聯(lián)網(wǎng)最主流的架構(gòu)技術(shù):分布式,微服務(wù),等熱門話題的底層實(shí)現(xiàn)原理正在錄制中,感興趣的朋友可以進(jìn)來看看。希望每一個(gè)進(jìn)來的人都有收貨。

Linux命令

日志特別大只想看最后100行怎么弄弄? 如果想一直看日志的持續(xù)輸出,用什么命令?
如果日志一邊輸出,一邊想實(shí)時(shí)看到有沒有某個(gè)關(guān)鍵字應(yīng)該怎么弄?
grep如果忽略大小寫應(yīng)該怎么弄? 正則表達(dá)式呢?
vim往下一行是什么鍵?往下30行呢? 跳到文件末尾一行是什么? 跳回來是什么? 向后搜索是什么?
如果有個(gè)文本文件,按空格作為列的分隔符,如果想統(tǒng)計(jì)第三列里面的每個(gè)單詞的出現(xiàn)次數(shù)應(yīng)該怎么弄?
如果把上面的出現(xiàn)次數(shù)排個(gè)序應(yīng)該怎么弄? 想按照數(shù)字本身的順序而不是字符串的順序排列怎么弄?
Linux環(huán)境變量是以什么作為分隔符的?環(huán)境變量通過什么命令設(shè)置?
給某個(gè)文件權(quán)設(shè)置限比如設(shè)置為64 是用什么命令?這個(gè)6是什么意思?
Linux下面如果想看某個(gè)進(jìn)程的資源占用情況是怎么看的?系統(tǒng)load大概指的什么意思?你們線上系統(tǒng)load一般多少?如果一個(gè)4核機(jī)器,你認(rèn)為多少load是比較正常的?top命令里面按一下1會(huì)發(fā)生什么?
top命令里面,有時(shí)候所有進(jìn)程的CPU使用率加起來超過100%是怎么回事?
還有哪些查看系統(tǒng)性能或者供你發(fā)現(xiàn)問題的命令?你一般是看哪個(gè)參數(shù)?
想看某個(gè)進(jìn)程打開了哪些網(wǎng)絡(luò)連接是什么命令?里面連接的狀態(tài)你比較關(guān)心哪幾種? -- 偏題
有沒有做過Linux系統(tǒng)參數(shù)方面的優(yōu)化,大概優(yōu)化過什么?
系統(tǒng)參數(shù)里面有個(gè)叫做backlog的可以用來干什么?
查看網(wǎng)絡(luò)連接發(fā)現(xiàn)好多TIMEWAIT 可能是什么原因?對(duì)你的應(yīng)用會(huì)有什么影響?你會(huì)選擇什么樣的方式來減少這些TIMEWAIT
可否介紹一下TCP三次握手的過程,如果現(xiàn)在有個(gè)網(wǎng)絡(luò)程序,你用第三方的library來發(fā)送數(shù)據(jù),你懷疑這個(gè)library發(fā)送的數(shù)據(jù)有問題,那么怎么來驗(yàn)證?tcpdump導(dǎo)出的文件你一般是怎么分析的?
KeepAlive是用來干什么的?這樣的好處是什么?

Redis -- 開發(fā)

緩存穿透可以介紹一下么?你認(rèn)為應(yīng)該如何解決這個(gè)問題
你是怎么觸發(fā)緩存更新的?(比如設(shè)置超時(shí)時(shí)間(被動(dòng)方式), 比如更新的時(shí)候主動(dòng)update)?如果是被動(dòng)的方式如何控制多個(gè)入口同時(shí)觸發(fā)某個(gè)緩存更新?
你們用Redis來做什么?為什么不用其他的KV存儲(chǔ)例例如Memcached,Cassandra等?
你們用什么Redis客戶端? Redis高性能的原因大概可以講一些?
你熟悉哪些Redis的數(shù)據(jù)結(jié)構(gòu)? zset是干什么的? 和set有什么區(qū)別?
Redis的hash, 存儲(chǔ)和獲取的具體命令叫什么名字?
LPOP和BLPOP的區(qū)別?
Redis的有一些包含SCAN關(guān)鍵字的命令是干嘛的? SCAN返回的數(shù)據(jù)量是固定的嗎?
Redis中的Lua有沒有使用過? 可以用來做什么? 為什么可以這么用?
Redis的Pipeline是用來干什么的? -- 運(yùn)維
Redis持久化大概有幾種方式? aof和rdb的區(qū)別是什么? AOF有什么優(yōu)缺點(diǎn)嗎?
Redis Replication的大致流程是什么? bgsave這個(gè)命令的執(zhí)行過程? -- 偏題
如果有很多 KV數(shù)據(jù)要存儲(chǔ)到Redis, 但是內(nèi)存不足, 通過什么方式可以縮減內(nèi)存? 為什么這樣可以縮小內(nèi)存?
Redis中List, HashTable都用到了ZipList, 為什么會(huì)選擇它

監(jiān)控、穩(wěn)定性

業(yè)務(wù)日志是通過什么方式來收集的?
線上機(jī)器如何監(jiān)控?采用什么開源產(chǎn)品或者自研的產(chǎn)品?它是分鐘級(jí)的還是秒級(jí)的?
如果讓你來想辦法收集一個(gè)JAVA后端應(yīng)用的性能數(shù)據(jù),你會(huì)在意哪些方面? 你會(huì)選擇什么樣的工具、思路來收集?
一般你調(diào)用第三方的時(shí)候會(huì)不會(huì)監(jiān)控調(diào)用情況?

到此這篇關(guān)于阿里(菜鳥,天貓,螞蟻金服)面試后的題目總匯的文章就介紹到這了,更多相關(guān)阿里面試題目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論