系統設計考點解析

1.什麼是系統設計?

系統設計是一個定義系統架構、模塊、接口和數據知足特定需求的過程
好比設計一個短網址服務、評論服務、feed流系統、搶紅包系統 秒少系統
微服務架構不少系統被按照業務拆分,須要單獨設計一個系統服務算法


2.系統設計須要掌握哪些知識?

熟悉後端技術組件,好比消息隊列 緩存 數據庫 框架
具有文檔撰寫 流程圖繪製 架構設計 編碼實現等綜合能力數據庫


3.系統設計怎麼答?(三要素)

使用場景和限制條件

使用場景
限制條件--用戶估計 併發qps

數據存儲設計

須要設計數據表 字段 類型
數據庫選項--是否須要持久化?使用關係型仍是NoSQL?
如何優化?何如設計索引?是否能夠使用緩存?

算法模塊設計

須要哪些接口?接口如何設計?
使用什麼算法或者模型?
不一樣實現方式之間的優劣對比,如何取捨?

延伸

擴展

用戶多了,qps高了如何如理?
數據存儲多路不夠存瞭如何處理?

容錯

故障如何處理?單點失敗、多點失敗、雪崩問題?
相關文章
相關標籤/搜索