# 系統設計讀書會:內行人才知道的系統設計面試指南, 第一版 ## 背景 這半年比較多都是在解探索性的需求需求(例:會議、地圖系統、跨裝置、IoT 通訊),覺得 AI 可以在一開始輔助畫出 PRD ,但身為開發者的責任,還是要負責評價這份系統設計做得好不好,因此想要閱讀系統設計相關的書籍,來拓展自己對不同產品的理解。 前陣子是看到 [codeframer 大大](https://codefarmer.substack.com/p/system-design-beginner-notes) 在踩系統設計的坑,才想說可以試試看~ ### 關於這本書 > 這本書是由老牌系統設計頻道 [ByteByteGo](https://bytebytego.com) 出的系統設計書,比較多是在講如何規劃雲端、後端系統等,有興趣可以翻翻看[電子書](https://books.google.com.tw/books?id=Lo1WEAAAQBAJ&pg=PA1&hl=zh-TW&source=gbs_toc_r&cad=2#v=onepage&q&f=false)。  自己也有點興趣如何回答老牌的面試題: - 設計一個百萬流量的 DB - 設計爬蟲程式... ### 對讀書會的期待 - **練習系統設計**:希望是一個人準備一個案例,先是讀過背景,然後提出屬於自己的 [PRD](https://docs.google.com/document/d/1mEMDcHmtQ6twzNlpvF-9maNlAcezpWDtCnyIqWkODZs/edit?tab=t.0#heading=h.7ueoyja6ijay),也很想知道架構如何套到程式碼、或是補充實際案例(這一塊書比較缺乏、要花時間補充)。 - **準備面試題**:比較務實還是會回到 -- 如果是你,會如何回答這題系統面試的題目,以及面對實際需求為主~ - **前端跨全端**:由於專有名詞比較多,自己本身也是主要是寫前端,並不是對 backend 細節都很熟,可能也會根據參與者的 Tech Stack 穿插一些如 [AWS DAV-C02](https://aws.amazon.com/tw/certification/certified-developer-associate/) 的先備知識,或是先熟悉基礎設施才會跳進書的內容,如: - Week1 導論 - 討論:什麼是好的 PRD? 技術文件簡介 - 第三章:系統設計面試框架 - Week2 導論:介紹 AWS 基礎設施 or 網路概論 - Week3 Case1: 百萬流量的系統設計 - Week4 Case2: ... - 小結 也很期待與不同職能的夥伴一起討論:) ## 預計規劃 ### 參考資料 1. [(必)內行人才知道的系統設計面試指南, 第一版](https://www.tenlong.com.tw/products/9789865028855) 2. [(必)PRD Template](https://docs.google.com/document/d/1mEMDcHmtQ6twzNlpvF-9maNlAcezpWDtCnyIqWkODZs/edit?tab=t.0#heading=h.7ueoyja6ijay) -- 用於聚焦想法、規劃用 3. [(選)Ultimate AWS Certified Developer Associate 2025 DVA-C02](https://www.udemy.com/course/aws-certified-developer-associate-dva-c01/?couponCode=MT240725G1) -- AWS 系統簡介 4. [(選)Full Stack for Front-End Engineers, v3](https://frontendmasters.com/courses/fullstack-v3/) -- 自己一開始前端往全端學習的付費參考教材 5. [(其他)架構圖工具:Mermaid](https://mermaid.js.org) 6. [(其他)架構圖工具:PlantUML](https://plantuml.com/zh/) 7. [(其他)簡報工具:Slidev](https://sli.dev) ### 時間規劃 - 成員:不限 - 時間:雙周、3個月~6個月不等,開始時間可能會抓在 10 月 - 內容:以[(必)內行人才知道的系統設計面試指南, 第一版](https://www.tenlong.com.tw/products/9789865028855) 為主,不過為了真的搞懂整本書在說什麼,可能會視參與者的背景、意願調整書單的多寡。 - 參與方式:原則上一個人會導讀一個案例,如果願意的話也可以藉由讀書會練習分享自己的系統設計範例。 - 至少一次導讀 + 一次筆記工。 - 導讀:介紹章節內容,章節為認領制,由於這本書一章就是一個案例,可能視讀書會的週期 & 人數放生某些章節,不過有人認領一定會讀到! - 導讀方向:例如:章節介紹、面試題、PRD、其他參考資料 - 筆記工:讀書會結束後統整摘要、遇到的問題&共筆。 > 頻率是雙週一 > 21:00 開始 | 日期 | 章節名稱 | 導讀人 | 筆記工 | 簡報連結 | |------------|-------------------------------------------|--------|--------|------| | | 第1章|使用者人數 —— 從零到百萬規模 | 備:雷N | | | | 10/13 | 第2章|粗略的估算 | 備:雷N | Murky | [筆記](https://hackmd.io/yiTUbrJRQSm5nY7z5ciUXA?view) | | | 第3章|系統設計面試的框架 | Sam | 柏毅 | | | | 第4章|設計網路限速器 | 則元 | Murky | [主講筆記](https://impartial-marble-6cc.notion.site/2928c32a5fa780a6a9bfe61ceaf0e819?source=copy_link) 、[隨堂筆記](https://hackmd.io/79bjkPX_TV6Exde0n9e-Wg?view) | | | 第5章|設計具有一致性的雜湊做法 | 柏毅 | | [主講筆記](https://www.notion.so/CHAPTER-5-DESIGN-CONSISTENT-HASHING-2a62b522f23580c681accb71a85b1ed1?source=copy_link) | | | 第6章|設計鍵值儲存系統 | 柏毅 | 上竣 | [主講筆記](https://www.notion.so/Ch6-Design-A-Key-value-Store-2b52b522f2358011aafcc9fee93a4275) | | | Vol 2 Ch 10 <br> Leader Board | 雷N | | | | | 12/22 | 第7章|設計可用於分散式系統的唯一ID生成器 | Murky | Ray Xie | [主講筆記](https://hackmd.io/@HWjmtqGJQRmj4pwClBcCKg/BkYHi_41bx) | | 1/5 | 第8章|設計短網址生成器 | Murky | 則元 | [主講筆記](https://hackmd.io/@HWjmtqGJQRmj4pwClBcCKg/B1mC1fBmbl) [隨堂筆記](https://hackmd.io/@QqLoNVPKT3SL2KxU6B-1ng/Hyi7x4tN-g) | | 1/19 | 第9章|設計網路爬蟲 | Ray Xie | | | | 2/2 | Vol 2 Ch 12 <br> Digital Wallet | 雷N | | | | | | 第10章|設計通知系統 | 小許 | Steven | | | | 第11章|設計動態訊息系統 | Steven | | | | | 第12章|設計聊天系統 | 上竣 | Blue | | | | Vol 2 Ch 13 <br> Stock Exchange | 雷N | | | | | | 第13章|設計搜尋文字自動補全系統 | Leo | 小許 | | | | 第14章|設計Youtube | Blue | Sam | | | | 第15章|設計GOOGLE DRIVE | Leo | | | ## 讀書會規則: - 認領該章節的導讀人有**閱讀責任**及**主持責任**,需要讀完該章節並做筆記(簡報)於讀書會期間分享螢幕畫面帶著與會者導讀,並自行出題目引導大家回答與討論。 - 若導讀人需要請假請於讀書會舉行前一週「自行」到讀書會組別頻道中尋求章節交換。 - 認領該筆記工的人需紀錄讀書會期間的討論,並將筆記上傳至 [GitHub 討論區](https://github.com/Tech-Book-Community)。 - 成員都至少導讀人及筆記工各當一次,意即本次讀書會最多招收 xx 人,這 xx 人都當過一次導讀人及筆記工,最少 x 人,最少人數則會各當過 x 次。 - 若讀書會成員需要請假請自行於讀書會組別頻道中請假。 - 成為「讀書會成員」請務必持有「書籍」(實體、電子皆可),**「旁聽者」不需要準備書籍,也不需要認領章節**。 - **若你在讀書會期間有可能會請假兩次以上,建議以「旁聽者」身份參加(意即不用認領章節,時間到上線即可)。** - 預計 xx 晚上 20:30 ~ 22:00 舉行第一次讀書會,每雙週 x 舉辦一次,共舉辦 x 次 x 結束。 ## 導讀人流程: - 自我介紹 - 前次回顧 - 本次導讀 - 引導成員每個人至少發言一次 - 自行出本次章節的題目讓每個人至少回答一次 - 成員問題討論 - 引導成員對本次章節的疑問及討論 - 成員回饋導讀人 - 次回日期、章節導讀人及筆記工預告 ## 章節 - 日期: - 導讀人: - 筆記工: - 請假: - 缺席: - 簡報:
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up