一塌糊涂。
終究不是因為電面才一塌糊涂,終究是因為自己太菜。
一面(結果未知)
一面喜歡問理解,講邏輯。跟濤神路子不一樣,濤神路子野,只講邏輯。
理論基礎(全跪)
對分布式的理解
面試官:“我理解你的三個主要技能是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
出處:https://monkeysayhi.github.io
本文基于 知識共享署名-相同方式共享 4.0 國際許可協議發布,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名及鏈接。