書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
搞定系統(tǒng)設(shè)計:面試敲開大廠的門

搞定系統(tǒng)設(shè)計:面試敲開大廠的門

作者:AlexXu
出版社:電子工業(yè)出版社出版時間:2023-11-01
開本: 其他 頁數(shù): 328
中 圖 價:¥77.4(7.1折) 定價  ¥109.0 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>

搞定系統(tǒng)設(shè)計:面試敲開大廠的門 版權(quán)信息

搞定系統(tǒng)設(shè)計:面試敲開大廠的門 本書特色

硅谷百萬粉絲技術(shù)大V作品 亞馬遜上近2500人打出4.6分,豆瓣評分8.3的好書 面試四步法——面對任何面試難題,都能用此法破局。 16道面試題——書中給出了真實的系統(tǒng)設(shè)計面試題及詳細解答,面試前可據(jù)此梳理自身知識體系。 188張圖表——用圖直觀解釋不同系統(tǒng)的運作方式,清晰易懂。

搞定系統(tǒng)設(shè)計:面試敲開大廠的門 內(nèi)容簡介

系統(tǒng)設(shè)計面試被認為是所有技術(shù)面試中難度優(yōu)選的面試,因為面試題的范圍都非常廣且模糊,其答案也是開放的,不存在標準答案或正確答案。本書是專門為準備系統(tǒng)設(shè)計面試的讀者而撰寫的,重點討論了分布式系統(tǒng)中的常用組件和大型Web應(yīng)用的系統(tǒng)架構(gòu),涵蓋了幾類常見的典型應(yīng)用,包括聊天系統(tǒng)、視頻流系統(tǒng)、文件存儲系統(tǒng)(云盤)、支付系統(tǒng)等,旨在幫助讀者掌握構(gòu)建一個可擴展的系統(tǒng)所需的基礎(chǔ)知識,為面試做好充分準備。作為過來人,作者提出了應(yīng)對面試題的“四步法”,即確定問題范圍→總體設(shè)計→細節(jié)設(shè)計→總結(jié),書中的案例基本上都是按照這個步驟進行解析的。這種解題框架有助于在面試時搞清楚系統(tǒng)的需求、和瓶頸,理清思路,有條不紊地作答。通過本書,讀者可以了解不同Web應(yīng)用的系統(tǒng)設(shè)計方案的要點及采用的技術(shù),據(jù)此查漏補缺,補齊自己知識體系中的短板,為面試成功增添更多的可能。而對于已經(jīng)是架構(gòu)師的讀者而言,書中的案例將為他們提供新的思路和靈感,有助于他們在面試中更加從容地展現(xiàn)自己的設(shè)計思路和實踐經(jīng)驗。

搞定系統(tǒng)設(shè)計:面試敲開大廠的門 目錄

1 從0到100萬用戶的擴展
1.1 單服務(wù)器配置
1.2 數(shù)據(jù)庫
1.2.1 使用何種數(shù)據(jù)庫
1.3 縱向擴展 vs. 橫向擴展
1.4 負載均衡器
1.5 數(shù)據(jù)庫復(fù)制
1.6 緩存
1.6.1 緩存層
1.6.2 使用緩存時的注意事項
1.7 內(nèi)容分發(fā)網(wǎng)絡(luò)
1.7.1 使用CDN時的注意事項
1.8 無狀態(tài)網(wǎng)絡(luò)層
1.8.1 有狀態(tài)架構(gòu)
1.8.2 無狀態(tài)架構(gòu)
1.9 數(shù)據(jù)中心
1.10 消息隊列
1.11 記錄日志、收集指標與自動化
1.11.1 添加消息隊列和各種工具
1.12 數(shù)據(jù)庫擴展
1.12.1 縱向擴展
1.12.2 橫向擴展
1.13 用戶量達到甚至超過了100萬
2 封底估算
2.1 2的冪
2.2 每個程序員都應(yīng)該知道的操作耗時
2.3 可用性相關(guān)的數(shù)字
2.4 案例:估算推特的QPS和存儲需求
2.5 小技巧
3 系統(tǒng)設(shè)計面試的框架
3.1 有效的系統(tǒng)設(shè)計面試的四個步驟
3.1.1 **步:理解問題并確定設(shè)計的邊界
3.1.2 第二步:提議高層級的設(shè)計并獲得認同
3.1.3 第三步:設(shè)計繼續(xù)深入
3.1.4 第四步:總結(jié)
3.2 面試中每一步的時間分配
4 設(shè)計限流器
4.1 **步:理解問題并確定設(shè)計的邊界
4.2 第二步:提議高層級的設(shè)計并獲得認同
4.2.1 在哪里實現(xiàn)限流器
4.2.2 流量限制算法
4.2.3 高層級架構(gòu)
4.3 第三步:設(shè)計繼續(xù)深入
4.3.1 流量限制規(guī)則
4.3.2 超過流量的限制
4.3.3 詳細設(shè)計
4.3.4 分布式系統(tǒng)中的限流器
4.3.5 性能優(yōu)化
4.3.6 監(jiān)控
4.4 第四步:總結(jié)
5 設(shè)計一致性哈希系統(tǒng)
5.1 重新哈希的問題
5.2 一致性哈希
5.2.1 哈?臻g和哈希環(huán)
5.2.2 哈希服務(wù)器
5.2.3 哈希鍵
5.2.4 查找服務(wù)器
5.2.5 添加服務(wù)器
5.2.6 移除服務(wù)器
5.2.7 兩個問題
5.2.8 虛擬節(jié)點
5.2.9 找到受影響的鍵
5.3 總結(jié)
6 設(shè)計鍵值存儲系統(tǒng)
6.1 理解問題并確定設(shè)計的邊界
6.2 單服務(wù)器的鍵值存儲
6.3 分布式鍵值存儲
6.3.1 CAP理論
6.3.2 系統(tǒng)組件
6.3.3 數(shù)據(jù)分區(qū)
6.3.4 數(shù)據(jù)復(fù)制
6.3.5 一致性
6.3.6 不一致性的解決方案:版本控制
6.3.7 處理故障
6.3.8 系統(tǒng)架構(gòu)圖
6.3.9 寫路徑
6.3.10 讀路徑
6.4 總結(jié)
7 設(shè)計分布式系統(tǒng)中的唯一ID生成器
7.1 **步:理解問題并確定設(shè)計的邊界
7.2 第二步:提議高層級的設(shè)計并獲得認同
7.2.1 多主復(fù)制
7.2.2 UUID
7.2.3 工單服務(wù)器
7.2.4 推特的雪花系統(tǒng)
7.3 第三步:設(shè)計繼續(xù)深入
7.4 第四步:總結(jié)
8 設(shè)計URL縮短器
8.1 **步:理解問題并確定設(shè)計的邊界
8.1.1 封底估算
8.2 第二步:提出高層級的設(shè)計并獲得認同
8.2.1 API端點
8.2.2 URL重定向
8.2.3 縮短URL
8.3 第三步:設(shè)計繼續(xù)深入
8.3.1 數(shù)據(jù)模型
8.3.2 哈希函數(shù)
8.3.3 深入探討URL縮短流程
8.3.4 深入探討URL重定向流程
8.4 第四步:總結(jié)
9 設(shè)計網(wǎng)絡(luò)爬蟲
9.1 **步:理解問題并確定設(shè)計的邊界
9.2 第二步:提議高層級的設(shè)計并獲得認同
9.3 第三步:設(shè)計繼續(xù)深入
9.3.1 DFS vs. BFS
9.3.2 URL前線
9.3.3 HTML下載器
9.3.4 健壯性
9.3.5 可擴展性
9.3.6 檢測和避免有問題的內(nèi)容
9.4 第四步:總結(jié)
10 設(shè)計通知系統(tǒng)
10.1 **步:理解問題并確定設(shè)計的邊界
10.2 第二步:提議高層級的設(shè)計并獲得認同
10.2.1 不同類型的通知
10.2.2 聯(lián)系信息的收集流程
10.2.3 通知的發(fā)送與接收流程
10.3 第三步:設(shè)計繼續(xù)深入
10.3.1 可靠性
10.3.2 其他組件和要考慮的因素
10.3.3 更新后的設(shè)計
10.4 第四步:總結(jié)
11 設(shè)計news feed系統(tǒng)
11.1 **步:理解問題并確定設(shè)計的邊界
11.2 第二步:提議高層級的設(shè)計并獲得認同
11.2.1 news feed API
11.2.2 feed的發(fā)布
11.2.3 news feed的構(gòu)建
11.3 第三步:設(shè)計繼續(xù)深入
11.3.1 深入探討feed的發(fā)布流程
11.3.2 深入探討news feed的獲取流程
11.3.3 緩存架構(gòu)
11.4 第四步:總結(jié)
12 設(shè)計聊天系統(tǒng)
12.1 **步:理解問題并確定設(shè)計的邊界
12.2 第二步:提議高層級的設(shè)計并獲得認同
12.2.1 輪詢
12.2.2 長輪詢
12.2.3 WebSocket
12.2.4 高層級設(shè)計
12.2.5 數(shù)據(jù)模型
12.3 第三步:設(shè)計繼續(xù)深入
12.3.1 服務(wù)發(fā)現(xiàn)
12.3.2 消息流
12.3.3 顯示在線狀態(tài)
12.4 第四步:總結(jié)
13 設(shè)計搜索自動補全系統(tǒng)
13.1 **步:理解問題并確定設(shè)計的邊界
13.1.1 封底估算
13.2 第二步:提議高層級的設(shè)計并獲得認同
13.2.1 數(shù)據(jù)收集服務(wù)
13.2.2 查詢服務(wù)
13.3 第三步:設(shè)計繼續(xù)深入
13.3.1 字典樹數(shù)據(jù)結(jié)構(gòu)
13.3.2 數(shù)據(jù)收集服務(wù)
13.3.3 查詢服務(wù)
13.3.4 字典樹操作
13.3.5 擴展存儲
13.4 第四步:總結(jié)
14 設(shè)計視頻分享系統(tǒng)
14.1 **步:理解問題并確定設(shè)計的邊界
14.1.1 封底估算
14.2 第二步:提議高層級的設(shè)計并獲得認同
14.2.1 視頻上傳流程
14.2.2 視頻流式傳輸流程
14.3 第三步:設(shè)計繼續(xù)深入
14.3.1 視頻轉(zhuǎn)碼
14.3.2 有向無環(huán)圖模型
14.3.3 視頻轉(zhuǎn)碼架構(gòu)
14.3.4 系統(tǒng)優(yōu)化
14.3.5 錯誤處理
14.4 第四步:總結(jié)
15 設(shè)計云盤
15.1 **步:理解問題并確定設(shè)計的邊界
15.1.1 封底估算
15.2 第二步:提議高層級的設(shè)計并獲得認同
15.2.1 API
15.2.2 跳出單服務(wù)器設(shè)計
15.2.3 同步?jīng)_突
15.2.4 高層級設(shè)計
15.3 第三步:設(shè)計繼續(xù)深入
15.3.1 塊服務(wù)器
15.3.2 高一致性需求
15.3.3 元數(shù)據(jù)數(shù)據(jù)庫
15.3.4 上傳流程
15.3.5 下載流程
15.3.6 通知服務(wù)
15.3.7 節(jié)約存儲空間
15.3.8 故障處理
15.4 第四步:總結(jié)
16 設(shè)計支付系統(tǒng)
16.1 **步:理解問題并確定設(shè)計的邊界
16.2 第二步:提議高層級的設(shè)計并獲得認同
16.2.1 收款流程
16.2.2 復(fù)式記賬系統(tǒng)(Double-Entry System)
16.2.3 托管支付頁面
16.2.4 付款流程
16.2.5 實時賣家儀表板
16.3 第三步:設(shè)計繼續(xù)深入
16.3.1 重試和冪等
16.3.2 同步支付 vs. 異步支付
16.3.3 一致性
16.3.4 處理支付失敗
16.3.5 支付安全
16.4 第四步:總結(jié)
17 設(shè)計指標監(jiān)控和告警系統(tǒng)
17.1 **步:理解問題并確定設(shè)計的邊界
17.1.1 高層級需求
17.2 第二步:提議高層級的設(shè)計并獲得認同
17.2.1 基本原理
17.2.2 數(shù)據(jù)模型
17.2.3 高層級設(shè)計
17.3 第三步:設(shè)計繼續(xù)深入
17.3.1 指標數(shù)據(jù)的收集
17.3.2 擴展系統(tǒng)
17.3.3 查詢服務(wù)
17.3.4 存儲層
17.3.5 告警系統(tǒng)
17.3.6 可視化系統(tǒng)
17.4 第四步:總結(jié)
18 繼續(xù)學(xué)習
后記
展開全部

搞定系統(tǒng)設(shè)計:面試敲開大廠的門 作者簡介

Alex Xu,卡耐基梅隆大學(xué)碩士,他是一位經(jīng)驗豐富的軟件工程師,也是一個創(chuàng)業(yè)者。他曾在Twitter、蘋果和Zynga等公司工作。他熱衷于設(shè)計和實現(xiàn)復(fù)雜的系統(tǒng)。
徐江,畢業(yè)于瑞典皇家理工學(xué)院的系統(tǒng)生物學(xué)專業(yè),曾就職于Thoughtworks軟件技術(shù)有限公司,現(xiàn)在在寶潔公司擔任IT service manager,負責consumer relations。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服