一塌糊塗。
終究不是因為電面才一塌糊塗,終究是因為自己太菜。
一面(結果未知)
一面喜歡問理解,講邏輯。跟濤神路子不一樣,濤神路子野,只講邏輯。
理論基礎(全跪)
對分散式的理解
面試官:“我理解你的三個主要技能是Java、併發和分散式,對吧?”
小菜雞:“我覺得只有Java掌握了基本使用,併發和分散式只能說在學習。”
面試官:“好,那你對分散式的理解是什麼?”
。。。
不過仔細想想,這樣問也沒毛病。如果我說熟悉分散式,那才可能是真的提問了。。。我勉強按照大問題分解為小問題,但是實際上還有容錯性等等,非常多的內容。當時學分散式的時候正在實習,這學期得認真學一遍了。
容錯性的幾種方案
只答上來了冗餘備份。
冗餘備份的幾種方案
我答的是:以儲存為例,可按照冗餘的物件可分為 對儲存單位冗餘(如HDFS中對Block冗餘)、對儲存物件冗餘(如直接備份整個檔案)、對儲存介質備份(如磁碟冗餘陣列)、對儲存系統冗餘(如HA)。
面試官期待的是:物理冗餘(多備份)、時間冗餘(超時重發)、軟體冗餘(HA)、資訊冗餘(校驗和)。
原始碼
圍繞HDFS寫檔案的過程講述HDFS中NameNode、SecondaryNameNode、DataNode的作用
最開始面試官提問的很模糊,,不說HDFS,就說分散式系統,,,搞得我只能根據HDFS抽象著回答。其實我覺得這一點是面試官文件問的不好,總之後來面試直接要求我回答兩個問題:
- put大檔案的過程(順著我開始說的大問題分解為小問題的思路描述,實在貼心)
- 寫檔案過程中,DN掛了怎麼辦
這倆問題之前面試陌陌答過一次了,這次提前宣告瞭原始碼版本,才開始講。依舊被評價講的囉嗦。
Yarn中主要有哪些元件(小跪)
- 最高層:ResourceManager、NodeManager(丟了AppMaster)
- ResourceManager上細分:ResourceTracker、ResourceScheduler、安全相關的服務等
- NodeManager上細分:NodeStatusUpdater、ContaineManager、安全相關的服務等
就是我丟的那個,,,我後來知道面試官只是希望我答RM、NM、AM。
為什麼Yarn能夠支援多種多樣的框架
這得益於Yarn的兩層排程機制,RM只負責資源分配,具體的業務邏輯由AM負責,AM根據業務邏輯向RM申請Contaienr。
專案
講一個你覺得最有挑戰的專案
講的vulture,被啪啪啪的批評講的囉嗦。
總結
第一次經歷這種模式:一面之後,結果未知的等待二面。第一次有準備的經歷電面。聽一面的面試官說,二面你想面談可以來公司,三面是部門老大,在杭州,應該也是電面。我的內心是崩潰的,,,可是我還是要練啊,,拿阿里練手真是奢侈啊T_T。
表現不好的本質原因還是自己太菜。但其實也想明白了一點,我之所以電面比面談表現差,是因為自己表達能力不好,面談還可以通過寫寫畫畫,讓面試官明白自己想表達的意思,但電面幾乎就只能靠嘴皮子了——溝通不暢、吐字不清、邏輯混亂都是大bug。
到今天寫完面經的時候,還沒收到二面通知,估計是掛了。這個面試官,看不上我加我微信幹嘛呢T_T
給自己的建議:
- 耐心學習分散式系統的理論知識,不管為了面試還是深入都是必要的
- 還是講不好原始碼和專案,多練習
- 專案介紹三步驟:目標、我產出的價值、專案收益
- 面試問答三步驟:明確問題、拆分問題、簡潔概括
本文連結:【面經】阿里健康-2017年8月29日,散招實習生
作者:猴子007
出處:monkeysayhi.github.io
本文基於 知識共享署名-相同方式共享 4.0 國際許可協議釋出,歡迎轉載,演繹或用於商業目的,但是必須保留本文的署名及連結。