此篇為筆者閱讀本書後,吸收資訊結合本身從業經驗,並搜尋網路資源去撰寫,如有任何錯誤請告知,謝謝。 書中提到,在面試中考到如何設計系統,你拿到題目後,第一件要做的事情就是釐清問題,做最有效率的溝通,這一點我十分認同。你有在再強的技術,如何不能切合真正需求方的需求,也是枉然。 步驟一:瞭解問題,確認系統設計的範圍 與學生時代考試不同,系統設計你需要先讓大腦理解這個需求情境,提出正確的問題、正確的假設、確認設計範圍的邊界。 針對系統使用者相關詢問考官,以利瞭解使用者與系統負載量: 誰會使用這個系統?那系統會有多少使用者?離峰時候有多少使用者?尖峰時候有多少使用者? DAU (活躍用戶)有多少? 針對功能面詢問考官,以利瞭解功能設計: 使用者使用系統會使用哪些功能?該系統哪些為必要功能?哪些為非必要功能? 使用者如何使用它?預期的輸入?預期的輸出為何? 針對架構面設計,多詢問一些問題: 預期希望處理多大量的資料?希望此系統能 handle 多少 QPS ?