系統設計面試完整列表
系統設計面試完整列表:
1.網路通訊協議
分散式系統中的機器透過網路彼此通訊。
需要了解的內容:
- - 對低階網路的基本瞭解
- - 協議(IP、TCP、UDP、DNS和HTTP)
2.儲存
資訊儲存是每個分散式系統的基本組成部分。
需要了解的內容:
- - 易失性與非易失性儲存器
- - 資料庫概念
3.可用性
大多數分散式系統都需要具有高可用性。
需要了解的內容:
- - 如何度量系統可用性
- - 如何提高系統可用性
- - 如何使用冗餘
4.快取
快取記憶體儲存對網路請求的響應或計算開銷大的操作結果。
需要了解的內容:
- - 快取記憶體命中和未命中術語
- - 快取記憶體回收策略
- - 內容分發網路
5.延遲和吞吐量
這些是評估分散式系統效能的關鍵引數。
需要了解的內容:
- - 最常見操作的延遲
- - 粗略計算
6.代理和負載平衡器
代理是每個系統中使用的中間伺服器。
需要了解的內容:
- - 正向和反向代理
- - 使用反向代理作為負載平衡器
- - 負載均衡器的伺服器選擇策略
7.雜湊
雜湊有助於快取 伺服器的彈性伸縮和資料分割槽。
需要了解的內容:
- - 一致雜湊
- - 會合雜湊
8.關係型資料庫
這些是結構化的資料庫,以表格格式儲存資料,支援SQL查詢。
需要了解的內容。
- - 索引
- - ACID事務
- - 強一致性與最終一致性
9.NoSQL
鍵值資料庫(即Redis,Zookeeper)經常用於快取和配置。
需要了解的其他資料庫:
- - blob儲存(S3)
- - 時間序列資料庫
- - 圖形資料庫(Neo4j)
- - 空間資料庫和四叉樹
10.複製和分片
這些都是提高可用性和效能的標準技術。
需要了解的內容:
- - 如何在多臺伺服器上覆制資料以增加冗餘
- - 如何在多個伺服器之間劃分資料以提高吞吐量
11.領導者選舉
這就是伺服器群集選擇負責所有主要操作的領導者的方式。
需要了解的內容:
12.輪詢和流
這些是從伺服器獲取資料的最常用技術。
需要了解的內容:
- - 如何定期提取資料(輪詢)
- - 如何獲得連續資料饋送(流)
13.記錄和監視
每個系統都需要測量效能並解決問題。
需要了解的內容:
- - 如何收集和記錄事件資訊
- - 如何瞭解系統關鍵指標
14.釋出-訂閱
這是一種廣泛使用的訊息傳遞模式。
需要了解的內容:
- - pub-sub如何工作
- - 什麼是冪等運算
- - Apache Kafka等流行框架
15.點對點網路
這些機器將工作負載在它們之間進行分配,以便以最快的方式完成工作。
需要了解的內容:
- - 什麼是Gossip協議
- - 這種網路的使用情況
16.速率限制
限制傳送到或由系統接收的請求的數量是至關重要的。
需要知道的是。
- - 速率限制如何防止DDoS攻擊
- - 如何實施速率限制策略(如使用Redis)。
17.Mapreduce
這是一種用於以容錯方式高效處理大型分散式資料集的流行框架。
需要了解的內容:
- - 什麼是分散式檔案系統
- - 流行的分散式檔案系統實現(即,硬碟驅動器)
18. API設計
需要了解的內容:
- - Web API設計基礎知識
- - CRUD操作的概念
相關文章
- 系統設計面試參考-設計Spotify系統面試
- 系統設計 相關面試題面試題
- CodeKarle:推特系統設計面試面試
- 設計一套完整的日誌系統
- 系統設計面試的萬金油面試
- 面試必考:秒殺系統如何設計?面試
- 系統設計面試模擬 | 如何設計Netflix?面試
- 【Linux系統程式設計】Linux訊號列表Linux程式設計
- 《吊打面試官》系列-秒殺系統設計面試
- Java 程式設計知識列表與系統架構演化Java程式設計架構
- 面試官:系統需求多變時如何設計?面試
- 面試題:如何設計一個高併發系統?面試題
- Java程式設計知識列表與系統架構演化過程Java程式設計架構
- 一個工程實踐專案的完整軟體系統設計方案
- 使用者角色許可權系統完整設計(基於shiro)
- 系統設計:設計Spotify
- 系統架構設計面試指南(01)-微服務和CAP架構面試微服務
- [系統設計]秒殺系統
- 【譯】系統設計入門之面試題解答 —— 設計一個網頁爬蟲面試題網頁爬蟲
- 計數系統設計
- 系統設計:如何設計Youtube?
- 後設資料管理—動態表單設計器在crudapi系統中完整實現API
- 給位元組的學姐講如何準備“系統設計面試”面試
- 黑馬程式設計師面試題一(交通燈管理系統)程式設計師面試題
- 吊打面試官!全網最全多租戶系統設計方案面試
- 面試每日一題021:如何設計一個RPG養成系統?(系統向)面試每日一題
- 系統程式設計程式設計
- Linux系統呼叫列表Linux
- 作業系統列表(轉)作業系統
- 系統設計(System Design)應該怎麼去應對面試?面試
- 系統架構設計面試指南(02)-MQ和檔案儲存架構面試MQ
- 設計模式完整版設計模式
- 系統面試面試
- 如何設計遊戲好友列表遊戲
- 系統架構設計之-任務排程系統的設計架構
- 如何設計一個微博系統?- 4招教你搞定系統設計
- 【系統設計】設計一個限流元件元件
- [譯] 原子設計:如何設計元件系統元件