如何才能進(jìn)阿里巴巴工作_第1頁(yè)
如何才能進(jìn)阿里巴巴工作_第2頁(yè)
如何才能進(jìn)阿里巴巴工作_第3頁(yè)
如何才能進(jìn)阿里巴巴工作_第4頁(yè)
如何才能進(jìn)阿里巴巴工作_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

這篇文章,給大家分享一個(gè)同學(xué)面試阿里某個(gè)部門(mén)時(shí)的經(jīng)歷。簡(jiǎn)單說(shuō)一下這個(gè)同學(xué)面試的背景,本身技術(shù)底子還不錯(cuò),在幾個(gè)有一定知名度的中型互聯(lián)網(wǎng)公司工作過(guò),然后之前打算嘗試一下阿里的職位,就去面試了。第一輪和第二輪面試,全部都通過(guò)了,面試官評(píng)價(jià)也是基本技術(shù)素養(yǎng)還可以,基礎(chǔ)也不錯(cuò),定級(jí)都是P6+的職級(jí)。但是第三面是那個(gè)部門(mén)老大P9出來(lái)面試他,結(jié)果就掛在這里了,所以把這個(gè)第三面的一些問(wèn)題分享出來(lái),給大家參考。業(yè)務(wù)背景介紹這個(gè)同學(xué)上來(lái)先闡述了一下自己的一些項(xiàng)目經(jīng)歷,當(dāng)前他在公司里主要是負(fù)責(zé)一個(gè)數(shù)據(jù)類(lèi)的系統(tǒng),業(yè)務(wù)邏輯并不復(fù)雜,但是有一點(diǎn)技術(shù)難度。主要是每天都會(huì)有人調(diào)用他的接口,然后有數(shù)據(jù)會(huì)落入數(shù)據(jù)庫(kù)表中。簡(jiǎn)化一下來(lái)說(shuō),大概是這個(gè)背景,如下圖:這個(gè)系統(tǒng)每天接口調(diào)用大概會(huì)落入數(shù)據(jù)庫(kù)中有20萬(wàn)左右的數(shù)據(jù)量,那么每個(gè)月大概是600萬(wàn)左右的數(shù)據(jù)量,每年大概是近億級(jí)的數(shù)據(jù)量會(huì)落入數(shù)據(jù)庫(kù)中。但是這是針對(duì)整個(gè)數(shù)據(jù)庫(kù)來(lái)說(shuō)的,平攤到里面核心的每個(gè)表,大概每個(gè)表每年新增個(gè)千萬(wàn)級(jí)別的數(shù)據(jù)量。架構(gòu)演進(jìn)考察面試官:現(xiàn)在系統(tǒng)壓力其實(shí)不大,每天20萬(wàn)新增數(shù)據(jù)量也不大,每年哪怕單表新增千萬(wàn)級(jí)數(shù)據(jù)其實(shí)也還算可以接受。第一個(gè)問(wèn)題:如果假設(shè)你的系統(tǒng)承載的業(yè)務(wù)量翻了10倍,每天新增200萬(wàn)數(shù)據(jù),你的系統(tǒng)架構(gòu)要如何演進(jìn)?如果系統(tǒng)承載的業(yè)務(wù)量翻了100倍,每天新增2000萬(wàn)數(shù)據(jù),你的系統(tǒng)架構(gòu)要如何演進(jìn)?候選人:我們還沒(méi)這種需求,所以我暫時(shí)還沒(méi)想過(guò)這個(gè)問(wèn)題。建議:實(shí)際上這類(lèi)問(wèn)題在BAT、美團(tuán)、京東等大公司里面試,都是常問(wèn)的,為什么呢?因?yàn)榇蠊纠锏南到y(tǒng)面對(duì)的就是業(yè)務(wù)經(jīng)常翻倍的增長(zhǎng),系統(tǒng)壓力越來(lái)越大,所以每年都要做幾次技術(shù)升級(jí),一直要進(jìn)行架構(gòu)演進(jìn)。所以在互聯(lián)網(wǎng)公司里,架構(gòu)設(shè)計(jì)能力中非常關(guān)鍵的一環(huán),就是針對(duì)業(yè)務(wù)增長(zhǎng),架構(gòu)演進(jìn)的能力是非常核心的。你要有一個(gè)意識(shí)說(shuō)如果你的業(yè)務(wù)量10倍增長(zhǎng),100倍增長(zhǎng),你的系統(tǒng)架構(gòu)要如何演進(jìn)?這幾乎是資深工程師必須要有的一個(gè)意識(shí)和能力。其實(shí)大家可以思考一下,如果10倍增長(zhǎng),單表每年新增近億數(shù)據(jù),還能用單庫(kù)單表的方式來(lái)承載嗎?肯定不行了,所以必然針對(duì)10倍增長(zhǎng)的場(chǎng)景,需要引入分庫(kù)分表的技術(shù),保證每個(gè)庫(kù)每個(gè)表分散一定的數(shù)據(jù)量,避免單表單庫(kù)數(shù)據(jù)量過(guò)大。那么大家再思考一下,如果100倍增長(zhǎng)呢,每年單表新增近10億數(shù)據(jù),你分庫(kù)分表也不一定夠了。因?yàn)榇藭r(shí)可能會(huì)有高并發(fā)訪問(wèn)的問(wèn)題,數(shù)據(jù)庫(kù)抗起來(lái)很吃力。此時(shí),你要不要考慮數(shù)據(jù)異構(gòu)、冷熱分離等數(shù)據(jù)存儲(chǔ)的架構(gòu)設(shè)計(jì)?比如采用MySQL分庫(kù)分表+分布式NoSQL數(shù)據(jù)庫(kù)+Elasticsearch分布式搜索+Redis緩存的架構(gòu),來(lái)整體設(shè)計(jì)這個(gè)數(shù)據(jù)存儲(chǔ)架構(gòu)。先做冷熱分離的架構(gòu),比如最熱的數(shù)據(jù)放入分布式NoSQL數(shù)據(jù)庫(kù),專(zhuān)門(mén)承載當(dāng)日數(shù)據(jù)的高并發(fā)寫(xiě)入,以及高性能的讀寫(xiě)。然后每過(guò)一段時(shí)間,做數(shù)據(jù)歸檔,把NoSQL里不再頻繁使用的冷數(shù)據(jù)遷移到MySQL里去歸檔。最后就是應(yīng)對(duì)海量數(shù)據(jù)的檢索,可以把索引構(gòu)建在Elasticsearch里來(lái)應(yīng)對(duì),但是從NoSQL+MySQL的異構(gòu)存儲(chǔ)來(lái)提取明細(xì)數(shù)據(jù)即可。而且針對(duì)一些特別熱查詢的數(shù)據(jù),可以依托Redis做一個(gè)緩存。其實(shí)那個(gè)P9面試官的面試評(píng)價(jià)里,期望的也是候選人把這一套架構(gòu)說(shuō)出來(lái)。雖然P6+的職級(jí)不一定說(shuō)有能力完全hold住這個(gè)架構(gòu),但是起碼要有這個(gè)意識(shí)。結(jié)果候選人完全什么都說(shuō)不出來(lái),那當(dāng)然會(huì)讓人很失望了。對(duì)公司底層技術(shù)的原理考察這位同學(xué)他們的系統(tǒng)有一部分的數(shù)據(jù)是放在特殊存儲(chǔ)服務(wù)里的,用的是云平臺(tái)上的存儲(chǔ)服務(wù),而且存放在存儲(chǔ)服務(wù)里的數(shù)據(jù)還是很核心的數(shù)據(jù)。所以面試官就開(kāi)始問(wèn)第二個(gè)問(wèn)題了。面試官:你能說(shuō)說(shuō)你對(duì)這種特殊存儲(chǔ)服務(wù)的理解嗎,原理是什么?你們用的云平臺(tái)上的服務(wù)存儲(chǔ)他的架構(gòu)是什么樣的,你們的存儲(chǔ)是如何規(guī)劃的?候選人:我一般是調(diào)用API往里面寫(xiě)數(shù)據(jù),詳細(xì)的還沒(méi)太多關(guān)注過(guò)。建議:這是該同學(xué)犯的第二個(gè)錯(cuò)誤,不說(shuō)資深工程師,就說(shuō)作為一個(gè)高級(jí)工程師,應(yīng)該對(duì)自己負(fù)責(zé)的系統(tǒng)使用到的方方面面都有一定的了解。比如你要是用了語(yǔ)音轉(zhuǎn)換API,或者是快遞公司的查詢API,那你起碼知道人家背后大致在干什么,或者問(wèn)清楚人家API的QPS極限,以及訪問(wèn)量是多少。你們用了特殊的存儲(chǔ)服務(wù),起碼知道那種存儲(chǔ)服務(wù)的實(shí)現(xiàn)原理是什么,存儲(chǔ)的容量規(guī)劃等等問(wèn)題,這是一個(gè)高級(jí)工程師hold住自己工作的起碼工作素養(yǎng)。系統(tǒng)難點(diǎn)的考察面試氣氛尷尬,不過(guò)仍然繼續(xù)。面試官:那你覺(jué)得這個(gè)系統(tǒng)最大的技術(shù)難點(diǎn)是什么?候選人:我想想(思索10秒后),好像沒(méi)什么難的,主要就是一些接口,然后數(shù)據(jù)就落入數(shù)據(jù)庫(kù)了。建議:大公司面試一定會(huì)問(wèn)你系統(tǒng)的難點(diǎn)是什么,這代表你的項(xiàng)目經(jīng)驗(yàn)有多少含金量。哪怕你們項(xiàng)目很Low,平時(shí)也得想辦法弄點(diǎn)新技術(shù)進(jìn)去,沒(méi)難點(diǎn)也要湊點(diǎn)兒難點(diǎn)出來(lái),否則去面試必然給人鄙視。舉個(gè)例子,比如上面的這個(gè)系統(tǒng),實(shí)際上他有一個(gè)步驟是要做數(shù)據(jù)遷移,也就是說(shuō)把數(shù)據(jù)庫(kù)里可能幾百萬(wàn)數(shù)據(jù)量,一次性遷移到另外一套存儲(chǔ)里去那么這個(gè)數(shù)據(jù)遷移的步驟,其實(shí)涉及到千萬(wàn)級(jí)的數(shù)據(jù)量遷移。你如何保證數(shù)據(jù)遷移的效率?如何保證遷移后的數(shù)據(jù)準(zhǔn)確性?在遷移的過(guò)程中如何避免影響數(shù)據(jù)庫(kù)的性能?像這些問(wèn)題,其實(shí)你平時(shí)都應(yīng)該考慮一下,作為一個(gè)技術(shù)難點(diǎn)好好闡述一下吧。擅長(zhǎng)技術(shù)的考察面試官:那你說(shuō)說(shuō)你認(rèn)為自己最擅長(zhǎng)最有深度的技術(shù)吧?候選人:我好像平時(shí)自己用MQ技術(shù)比較多一些。面試官:那你說(shuō)說(shuō)Kafka、RabbitMQ、RocketMQ幾種MQ的對(duì)比,還有他們各自的原理。它們分別如何實(shí)現(xiàn)分布式消息隊(duì)列架構(gòu)的,底層的機(jī)制都聊一下,對(duì)比一下特點(diǎn)以及優(yōu)缺點(diǎn)。建議:大公司一定會(huì)考察你的技術(shù)深度,一般就是對(duì)你平時(shí)用的最多,或者最熟悉的技術(shù)深入挖掘和考察,看你的技術(shù)深度有多深。結(jié)果這個(gè)同學(xué)自己說(shuō)了MQ,但是對(duì)MQ的了解實(shí)際上非常的淺薄,深入的東西都說(shuō)不出來(lái),那么最后一定就是讓面試官很無(wú)語(yǔ)了??偨Y(jié)其實(shí)這個(gè)同學(xué)技術(shù)底子還是不錯(cuò)的,包括一些技術(shù)的基礎(chǔ),所以前兩輪面試都是過(guò)了的。但是第三輪面試考察的角度都是完全不同的,一下子暴露出來(lái)了他的能力缺陷。對(duì)自己負(fù)責(zé)系統(tǒng)的架構(gòu)演進(jìn)完全無(wú)意識(shí),負(fù)責(zé)系統(tǒng)的難點(diǎn)從沒(méi)思考過(guò),系統(tǒng)涉及

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論