工作和麪試中的系統架構(上)

金三銀四,跳槽和招聘旺季,分享一個程序員面試中經常被提問的問題:你所在公司的系統架構是什麼樣的?

想象一下,此刻你面前坐的是一位臉帶笑意的面試官,他把一張空白的A4紙和一支黑色簽字筆推到你眼前,"在紙上畫下你們公司的系統架構吧。"

通常來說,大吹特吹系統架構多麼高大上可能會被當場揭穿,覺得沒啥可講的敷衍了事必然被直接PASS。準備好了嗎?這裏分享一個簡單易行的方法:按照由外入內,從大到小的順序介紹系統架構。

 

"外"是指系統的外貌,即系統的行業背景、核心功能、主要用戶和系統特點。注意介紹時講話要簡潔明瞭,每個點都力求只用一句話,絕不拖泥帶水,給面試官留下一個"驚人的好印象",讓他覺得眼前這個面試者屬於有備而來,不是來講廢話浪費雙方時間的。

"內"是指系統架構的組成,主要包含哪些模塊,各模塊使用的技術棧。有個技巧是按照數據流向來介紹:數據從哪裏來(輸入),最終到哪裏去(輸出),中間經歷什麼複雜的處理過程(處理)。無論是大型複雜系統還是簡單的系統,都可以按照「數據的輸入、處理、輸出」的方法介紹清楚,當人們瞭解一個系統的輸入和輸出時,自然而然就會對數據是如何處理的發生興趣。

介紹完系統的外貌和組成,接下來可以按照「由大到小」的順序介紹整個系統架構中你所負責的模塊了。

 

「大」是指模塊的功能、定位,主要用到哪些技術,技術挑戰是什麼,對整個系統的價值是什麼。從宏觀角度對自己所負責模塊做一個簡明扼要的總結,向面試官證明你是一個頭腦清醒的工程師,知道自己過去都在做些什麼。

「小」是指具體的技術點,模塊中用到的關鍵技術,當然是你最熟悉、掌握最好、理解最深,也最希望被面試官提問的技術點。對於大多數人而言,當被問到自己熟悉的領域和話題時都會回答的很好,但是一旦涉及平時很少使用的技術問題時,就會陷入慌亂,不知如何回答纔好。所以在介紹系統架構的時候,面試者要主動發起「話題收斂」,把話題轉移到自己熟悉的工作和技術上來,這可是一個關乎面試成敗的小技巧。

 

一句話總結:使用「由外而內」的方法向面試官分享你對整個系統的業務和架構上的理解,運用「從大到小」的技巧證明你對所負責模塊的技術掌控能力,主動拋出話題,以突出你的技術優勢。

以上就是面試中如何回答系統架構問題的思路和方法了,標準化的問題就有標準化的答案,但是具體效果如何,還是依賴平日裏的學習、思考和總結。

下一篇會向大家分享工作中的系統架構,也是我寫這個公衆號的動力和初衷之一:剖析後端系統架構組成和常用技術。


金句分享

這是一個最好的時代,也是一個最壞的時代;

這是一個智慧的年代,這是一個愚蠢的年代;

這是一個信任的時期,這是一個懷疑的時期;

這是一個光明的季節,這是一個黑暗的季節;

這是希望之春,這是失望之冬;

人們面前應有盡有,人們面前一無所有;

人們正踏上天堂之路,人們正走向地獄之門。

 

出自《雙城記》,作者是英國小說家狄更斯。

解讀:文豪就是文豪,寫的句子百年不朽,不論國界。