想準備系統設計的面試可以從哪邊開始? - ByteByteGo
後端(或全端)工程師面試時除了 leetcode 之外,遇到系統設計相關的題目也是高機率(打工仔越來越難當😭
ByteByteGo Youtube 頻道有提供不少系統設計面試會遇到的經典題目解說,大約都在十分鐘以內,閒暇無事可以看一看,保面試平安喔!看完影片了解大概之後就有辦法透過 Google 繼續研究你不熟的技術,甚至是成為 ByteByteGo 的付費會員也是一個方法。
【後話】
實際上系統設計的面試過程是相當開放而且考驗經驗的。
過程中你需要不斷地釐清需求(並且冷汗直流 😰),最後提出你的解決方案,面試官可能也會要求系統能夠做到高可用(high availability)或者試圖挑戰你提出的解決方案可能會遇到哪些狀況,例如流量爆漲時,你的架構有沒有辦法應付?
系統設計這關考驗的是你對各種系統甚至是協定的了解程度,譬如你選擇使用 nosql database 作為系統一環,那麼你一定要能夠解釋為何選擇 nosql 而不是傳統的 RDBMS, 又或者你說要使用 CDN 加速,那麼你可能也會被詢問使用 CDN 有什麼副作用,如何緩解(mitigate)副作用等等⋯⋯。
開放式的問題就是一個切磋交流的過程,實際上本來就沒有 100 分的架構,只有能夠解決/緩解問題的方法,所以不用執著一開始就要提出很棒的解決方案,透過與面試官彼此溝通而一步步改善解決方案也是很棒的做法,因為實際職場上也多半是先有個初步方案後,再透過不斷地討論而決定最終方案。