【面經】阿里健康-2017年8月29日,散招實習生

一塌糊塗。git

終究不是由於電面才一塌糊塗,終究是由於本身太菜。github

一面(結果未知)

一面喜歡問理解,講邏輯。跟濤神路子不同,濤神路子野,只講邏輯。面試

理論基礎(全跪)

對分佈式的理解

面試官:「我理解你的三個主要技能是Java、併發和分佈式,對吧?」
小菜雞:「我以爲只有Java掌握了基本使用,併發和分佈式只能說在學習。」
面試官:「好,那你對分佈式的理解是什麼?」
。。。安全

不過仔細想一想,這樣問也沒毛病。若是我說熟悉分佈式,那纔多是真的提問了。。。我勉強按照大問題分解爲小問題,可是實際上還有容錯性等等,很是多的內容。當時學分佈式的時候正在實習,這學期得認真學一遍了。微信

容錯性的幾種方案

只答上來了冗餘備份。併發

冗餘備份的幾種方案

我答的是:以存儲爲例,可按照冗餘的對象可分爲 對存儲單位冗餘(如HDFS中對Block冗餘)、對存儲對象冗餘(如直接備份整個文件)、對存儲介質備份(如磁盤冗餘陣列)、對存儲系統冗餘(如HA)。框架

面試官期待的是:物理冗餘(多備份)、時間冗餘(超時重發)、軟件冗餘(HA)、信息冗餘(校驗和)。分佈式

源碼

圍繞HDFS寫文件的過程講述HDFS中NameNode、SecondaryNameNode、DataNode的做用

最開始面試官提問的很模糊,,不說HDFS,就說分佈式系統,,,搞得我只能根據HDFS抽象着回答。其實我以爲這一點是面試官文檔問的很差,總以後來面試直接要求我回答兩個問題:學習

  1. put大文件的過程(順着我開始說的大問題分解爲小問題的思路描述,實在貼心)
  2. 寫文件過程當中,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 國際許可協議發佈,歡迎轉載,演繹或用於商業目的,可是必須保留本文的署名及連接。

相關文章
相關標籤/搜索