系統設計面試完整列表
系統設計面試完整列表:
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:推特系統設計面試面試
- 系統設計 相關面試題面試題
- 面試必考:秒殺系統如何設計?面試
- 系統設計面試的萬金油面試
- 《吊打面試官》系列-秒殺系統設計面試
- 面試官:系統需求多變時如何設計?面試
- 【Linux系統程式設計】Linux訊號列表Linux程式設計
- 面試題:如何設計一個高併發系統?面試題
- 設計一套完整的日誌系統
- 系統架構設計面試指南(01)-微服務和CAP架構面試微服務
- 系統面試面試
- 面試每日一題021:如何設計一個RPG養成系統?(系統向)面試每日一題
- 吊打面試官!全網最全多租戶系統設計方案面試
- 系統設計(System Design)應該怎麼去應對面試?面試
- Java 程式設計知識列表與系統架構演化Java程式設計架構
- 系統架構設計面試指南(02)-MQ和檔案儲存架構面試MQ
- 給位元組的學姐講如何準備“系統設計面試”面試
- 【Java面試】Java設計模式面試題!Java設計模式面試題
- 面試官說:你來設計一個短連結生成系統吧面試
- 設計模式面試 - Hamill設計模式面試
- Java程式設計知識列表與系統架構演化過程Java程式設計架構
- JAVA 考試系統模組設計方案Java
- linux系統程式設計CP小測試Linux程式設計
- 作業系統面試題作業系統面試題
- UI設計師面試技巧UI面試
- 系統設計:設計Spotify
- 超過1000多程式設計師面試經歷,收集了阿里巴巴面試3年總結的108道Java面試題:MySQL+redis+計算機網路+作業系統+Java程式設計+架構設計程式設計師阿里Java面試題MySqlRedis計算機網路作業系統架構
- 計算機面試重難點 之 作業系統計算機面試作業系統
- PHP面試高薪寶典系列: 幾種常見的設計模式(附完整程式碼)PHP面試高薪設計模式
- 一個工程實踐專案的完整軟體系統設計方案
- [系統設計]秒殺系統
- 系統設計:如何設計Youtube?
- 計數系統設計
- 硬貨:如何做好一名系統架構設計師以及面試技巧架構面試
- 作業系統面試經驗作業系統面試
- 面試資料-作業系統面試作業系統
- [面試專題]JS設計模式面試JS設計模式