[書摘] 系統設計面試指南

更新於 2024/12/07閱讀時間約 2 分鐘
無論是參與面試或釐清需求,系統設計常常令人感到困惑,不知如何進行。
我想,原因大概有兩種。
首先,不同領域的系統通常都有不同的設計要素,如何找出這些要素進行提問?
其次,即便提出疑問找出重點,接下來要如何針對這些要素進行高層設計或規劃?
《系統設計面試指南》對於系統設計的初步規劃或高層結構提供合適的解決步驟。
這些步驟包含如何尋找系統設計的要素以及如何對這些要素進行設計規畫,對於經驗不足或想加強系統設計高層結構的相關經驗者會有很大的幫助
作者提出的解決步驟分為以下四個流程,
1.了解問題並確定設計範圍
2.提出高階設計並取得認可
3.深入設計
4.彙整總結
書中分別提到各個流程概要內容為
1.了解問題並確定設計範圍
請認真思考系統本身且提出問題,這些問題是用來釐清需求的條件和假設。千萬不要立即提出解決方案,這只會讓你迷失方向,重要的是務必了解需求的具體內容並釐清這些內容中不明確的地方。
有幾個幫助提出問題的清單:
a.系統需要那些特定功能
b.使用者數量
c.擴展速度(3個月 / 6個月 / 1年)和擴展規模
d.可以使用那些現有技術來簡化設計
2.提出高階設計並取得認可
這個流程的目標為設計出系統的高層規畫並和需求者(可能是面試官)達成協議。
a.提出設計藍圖並要求需求者提供回饋
b.在紙或白板上用方框圖畫出關鍵元素,這些關鍵元素可能是客戶端,API,Web伺服器,資料庫,快取,CDN,訊息佇列等等
c.用粗略估算評估設計藍圖是否符合需求中的條件
3.深入設計
大多數的情況下會根據步驟 2.的高層設計藍圖,進行各個要素的擴展。
因為系統在不同情境下關注點也可能不同,有時候可能關注於高層設計,有時候可能關注於效率瓶頸,此時就必須和需求者(可能是面試官)對設計中的各個元素達成共識並確認優先順序。
另外要注意的是請小心時間管理,不要陷入瑣碎細節。
4.彙整總結
最後的步驟需求者會對後續情況提問或自由討論關於系統的其他主題,可以關注的方向如下:
a.系統瓶頸和改進作法
b.重新檢視設計
c.討論系統異常情況(伺服器故障/網路斷線等等)
d.規模擴增該如何處理
e.其他改進方案
談到這裡,如果對本書有興趣的話,還需注意以下兩點:
1.本書談論高層設計,所以只會有非常少量的程式碼。
2.討論的系統種類還不夠全面,有點可惜。
    avatar-img
    1會員
    6內容數
    目前專注於軟體設計架構領域,旨在分享並提供良好且合適的原則 / 模式 / 系統 / 開發法。
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    寫狐的沙龍 的其他內容
    若說大多數成功人士共通的要素是什麼,我想好習慣絕對是其中之一。好習慣很重要,但要保持好習慣也很困難。 很多人以短暫的衝勁,熱情來激勵自我。常見的說法就是『今年要減肥』,『這禮拜要戒菸』。 另一些人會製作計劃表,期許透過嚴謹且完美的計畫,達成目標。 可惜,熱情抵不過人性,計劃趕不上變化。 好習慣的養成
    當我們胸懷大志,勇往直前時,最大的阻礙往往來自本身或他人的非理性思考。這些非理性思考常讓人自我懷疑,中途放棄。 要如何免於自我設限的思維?  大局思維透過行為科學揪出人們的非理性思考並透過一步步設定具體目標和規律步驟達成自我理想的實現,翻轉人生。
    若說大多數成功人士共通的要素是什麼,我想好習慣絕對是其中之一。好習慣很重要,但要保持好習慣也很困難。 很多人以短暫的衝勁,熱情來激勵自我。常見的說法就是『今年要減肥』,『這禮拜要戒菸』。 另一些人會製作計劃表,期許透過嚴謹且完美的計畫,達成目標。 可惜,熱情抵不過人性,計劃趕不上變化。 好習慣的養成
    當我們胸懷大志,勇往直前時,最大的阻礙往往來自本身或他人的非理性思考。這些非理性思考常讓人自我懷疑,中途放棄。 要如何免於自我設限的思維?  大局思維透過行為科學揪出人們的非理性思考並透過一步步設定具體目標和規律步驟達成自我理想的實現,翻轉人生。
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    憂鬱症是頑強的敵人,就算康復, 只要「悲傷心情」與「絕望想法」之間有了連結, 就可能讓憂鬱症復發。 而禪定練習, 是學習「想法不等於真實」,「想法來來去去,我對它不作反應」 讓憂鬱迴路無法連結。
    Thumbnail
    這本是針對商業書。如果你是重度讀者,可以從第四章開始看;如果你已經有在寫書評,或想影音化,直接讀第五章比較快。
    Thumbnail
    作者介紹瞭如何從『為了改變自己而努力』轉型成『為了發揮才華而努力』的過程。他分享了一些重要的公式和圖解,幫助讀者更容易地找到想要做的事。同時,書中提到了找出喜歡的事和擅長的事之前,先找出『擅長的事』的重要性,並且強調瞭如何將興趣轉為收入進而進入無限成長迴圈。這篇文章充滿豐富而有系統的內容,值得一讀。
    羅鈞鴻(小虎)、徐慧玲Lynn著 2023 圓神出版 ❍ ❍ ❍ ❍ ❍❍ ❍ ❍ ❍ ❍❍ ❍ 卡住的情緒,往往來自一個卡住的念頭。 焦慮,是一種對於未來的「失敗想像」,這個失敗明明還沒有發生,卻已經先影響我們。反過來,如果要拿出能戰勝恐懼的勇氣來,「忍耐害怕」並不是一個每次都
    Thumbnail
    這本書從 docker 的角度出發,介紹很多可重複使用的 pattern,除了翻譯某些地方有點怪之外,算是很有趣的一本書,後面很多的 pattern 可以想成是 sidecar 的進階使用方式,在不改變應用程式的情況下,增加不同的功能,相當實用。
    無拘無束的關係 克里斯多福•孟著 吳玲譯 ❍ ❍ ❍ ❍ ❍❍ ❍ ❍ ❍ ❍❍ ❍ 當不適感升起時,你去接受而非拒絕,便可以體會到感覺是種能量模式,在體內以痛覺感受的形式呈現出來。 接受感覺並直接體驗藏在感覺背後的東西,就是過程。 人類擁有一個共同的信念,而且當今幾乎所有的親
    通往靈魂的橋樑 克里斯多福•孟著 張德芬,余蕙玲譯 2019 湖南文藝出版 ❍ ❍ ❍ ❍ ❍❍ ❍ ❍ ❍ ❍❍ ❍ 在我們所有的夢想背後,在所有對力量、目標或意義的追求背後,唯一的欲望其實是想了解無條件的真愛。 所有的爭執都起源於雙方共同的痛。只要能察覺彼此有相同的問題,他
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    憂鬱症是頑強的敵人,就算康復, 只要「悲傷心情」與「絕望想法」之間有了連結, 就可能讓憂鬱症復發。 而禪定練習, 是學習「想法不等於真實」,「想法來來去去,我對它不作反應」 讓憂鬱迴路無法連結。
    Thumbnail
    這本是針對商業書。如果你是重度讀者,可以從第四章開始看;如果你已經有在寫書評,或想影音化,直接讀第五章比較快。
    Thumbnail
    作者介紹瞭如何從『為了改變自己而努力』轉型成『為了發揮才華而努力』的過程。他分享了一些重要的公式和圖解,幫助讀者更容易地找到想要做的事。同時,書中提到了找出喜歡的事和擅長的事之前,先找出『擅長的事』的重要性,並且強調瞭如何將興趣轉為收入進而進入無限成長迴圈。這篇文章充滿豐富而有系統的內容,值得一讀。
    羅鈞鴻(小虎)、徐慧玲Lynn著 2023 圓神出版 ❍ ❍ ❍ ❍ ❍❍ ❍ ❍ ❍ ❍❍ ❍ 卡住的情緒,往往來自一個卡住的念頭。 焦慮,是一種對於未來的「失敗想像」,這個失敗明明還沒有發生,卻已經先影響我們。反過來,如果要拿出能戰勝恐懼的勇氣來,「忍耐害怕」並不是一個每次都
    Thumbnail
    這本書從 docker 的角度出發,介紹很多可重複使用的 pattern,除了翻譯某些地方有點怪之外,算是很有趣的一本書,後面很多的 pattern 可以想成是 sidecar 的進階使用方式,在不改變應用程式的情況下,增加不同的功能,相當實用。
    無拘無束的關係 克里斯多福•孟著 吳玲譯 ❍ ❍ ❍ ❍ ❍❍ ❍ ❍ ❍ ❍❍ ❍ 當不適感升起時,你去接受而非拒絕,便可以體會到感覺是種能量模式,在體內以痛覺感受的形式呈現出來。 接受感覺並直接體驗藏在感覺背後的東西,就是過程。 人類擁有一個共同的信念,而且當今幾乎所有的親
    通往靈魂的橋樑 克里斯多福•孟著 張德芬,余蕙玲譯 2019 湖南文藝出版 ❍ ❍ ❍ ❍ ❍❍ ❍ ❍ ❍ ❍❍ ❍ 在我們所有的夢想背後,在所有對力量、目標或意義的追求背後,唯一的欲望其實是想了解無條件的真愛。 所有的爭執都起源於雙方共同的痛。只要能察覺彼此有相同的問題,他