面Facebook E5降E4,6年老司機心態崩了…

九章演算法發表於2020-11-11

有網友說面FB E5,6年工作經驗,但最後只給了E4。

(圖源:1024)

一般FB內部2年左右就能3升4了,現在妥妥down level了。只因系統設計面試不夠strong,還被說是:過度設計!

過度設計”是許多面試者的通病,這代表:

1.設計者缺乏對業務和需求的精準理解;

2.沒有對功能做出權衡取捨,忽略了複合成本,最後很可能投入巨大但收益甚微。

因此,“過度設計”在面試中也被視為Red Flag。另外,系統設計面試中還有幾個常見的錯誤需要注意:

  • 沒弄清需求就給方案
  • 思維狹窄,考慮不全面
  • 固執己見,不懂得變通

“聊天系統”回回考,通過卻很少

來看一道FB系統設計原題:“設計一個Snapchat/whatsapp”其實谷歌/亞麻/微軟等很多公司都考過,能順利通過的卻很少,都說見過這道題,面完卻還是跪,原因很可能是:

  • 不懂得和麵試官交流需求(比如日活多少?需要什麼功能等)
  • 日常"擰螺絲",缺乏完整的系統設計經驗(沒有做過完整的系統,面試容易卡殼)
  • 沒有優化經驗,不知道怎麼將系統優化成高可用、高擴充套件

雖然系統設計的難點在沒有標準答案,但也並不是毫無方法可循的。

九章的老師(同時也是矽谷大廠的資深架構師)總結出了一套“萬能公式”——4S分析法.

1 Scenario場景:需要設計哪些功能,到什麼程度?**

系統設計面試中,不加思考迅速給方案是大忌,正確的做法是與面試官溝通需求,收集構建系統所需的所有資訊。比如你可以問這些問題:

  • 我們要構建哪些特定功能?
  • 該產品有多少使用者?
  • 公司預計將以多快的速度擴大規模?
  • 公司的技術棧是什麼?您可以利用哪些現有服務來簡化設計?

2 Service服務:將大系統拆分為小服務

根據第一步收集的需求,為每個需求新增一個服務,再歸併相同的服務,你需要把面試官當做一起工作的夥伴,及時要求反饋:

  • 依據需求新增服務。
  • 對於同一類問題的邏輯處理歸併在一個Service中。
  • 把整個System細分為若干個小的Service。

3 Storage 儲存:資料如何儲存與訪問

拆分完小服務後,你需要考慮資料如何儲存與訪問,做出一個可以work的solution:

  • 對每個Service選擇合適的儲存結構 。
  • 細化資料表單 。
  • 畫圖展示資料儲存和讀取的流程。

4 Scale升級:解決缺陷,處理可能遇到的問題

最後一步,面試官會和你確定系統瓶頸並討論改進方式,這時千萬不要說自己的設計是完美的,總會有一些需要改進的地方。

因為這是展示你批判性思維並留下好印象的絕佳機會。

  • 錯誤案例(伺服器故障,網路丟失等)值得討論。
  • 如何監視指標和錯誤日誌?如何推出系統?
  • 後續如何擴充套件系統?

這套4S分析法,可以套用絕大部分面試當中的系統設計,將難點逐一擊破。

具體如何在有限的條件內構建有細節/有整體框架的work solution,歡迎大家免費試聽體驗:系統架構設計 2020版

像刷演算法題一樣學系統設計

另外,課程還搭配了42道ladder,都是精選的大廠高頻系統設計題,這可是其他同類課程沒有的專屬福利!

真正做到像刷演算法題一樣學習系統設計,4周就能掌握系統設計的核心知識。

L4變L5,只差一道系統設計

面試review時,系統設計的面試官通常擁有最高話語權

也就是,這輪的面試官決定你能否通過,也決定了你的Level和Package。系統設計答拿到strong,升一級或者漲薪都是非常有希望的。

我們的一位學員面谷歌L4,被recruiter要求加面一輪系統設計,最後幸運的通過並拿到了L5,包裹直接多了5萬刀!

18大核心考點,全面覆蓋面試難點

為了幫助大家更好的衝刺大廠,最近《系統架構設計 2020版》做了全面升級,比起舊版**新增了5節直播課,達到了30個課時,真正的加量不加價!

另外,課程全面覆蓋學員高票選出的系統設計知識點和麵試考點,一共18大核心考點幫助大家全面攻克系統設計。

適合誰

  • 求職後端崗,缺乏系統設計基礎
  • 缺乏大型專案開發機會,不懂實際應用
  • 馬上要參加面試,卻對系統設計一竅不通的new grad
  • 長期重複同樣的工作,跳槽/晉升困難

講師介紹

戳我即可免費報名本週六直播

相關文章