Bloomberg 26NG SDE 面試覆盤|Phone + VO + EM 全流程詳解

這次是 Bloomberg 26NG SDE 的完整流程,從 Phone 到 Offer 大概一個月出頭,整體節奏很快,而且每一輪都非常紮實。面試風格偏工程能力 + 溝通表達 + 分散式系統基礎,沒有特別刁鑽的腦筋急轉彎,但深度不低。

Bloomberg 26NG SDE 面試覆盤|Phone + VO + EM 全流程詳解

Timeline參考

10.9 Phone Screen
10.29 VO1 + VO2 + HR
11.4 EM
11.6 HR Offer call

基本每一輪結束後都很快推進,反饋效率很高。

Phone Screen面

Phone 面整體偏基礎。行為問題包括 Why Bloomberg 和講一個最有挑戰的專案,深挖不算特別狠,但會追問細節。Coding 兩題,一題是 LC easy,給定一個 social graph,找第一個滿足條件的夥伴,本質是圖遍歷加條件篩選;另一題是 LC 2062,統計滿足條件的子串。難度不高,主要看寫程式碼是否穩定,邊界是否考慮清楚。

VO1

VO1 開始強度明顯提升。依然是先自我介紹,然後深挖專案,問得比較細,比如設計決策、遇到的 trade-off、效能瓶頸怎麼解決。

演算法題是一個建模類問題。場景是有很多 TV 劇,每個劇 10 集,每播一集都會有使用者流失。要找到第 n 集,使得在這一集之後,依然有 70% 的使用者可以看完全部 10 集。本質是一個機率模擬問題,要清楚每一集之後的留存比例如何累積,怎麼建模使用者流失。

follow-up 很典型,考察邊界和抽象能力。比如如果第一集使用者就全流失怎麼辦?如果所有使用者都能看完 10 集怎麼辦?還有一個是程式碼最佳化問題,讓你把一個 if statement 改成不需要顯式邏輯判斷的寫法,考察的是你對錶達式和結構的理解,而不是語法。

這一輪聊得很自然,最後留了 10 分鐘反問,我問了很多 wlb 和通勤相關問題,面試官也聊得很真誠,當場約下一輪。

VO2

題目是:有一個 Tesla Equity,trader 可以更新每日價格或者刪除最新價格;analyst 可以獲取最新價格、最大價格和平均價格,所有操作必須 O(1)。

這題本質就是一個支援 push / pop / getLatest / getMax / getAverage 的資料結構。常規做法是用一個 stack 存價格,用輔助 stack 存當前最大值,同時用一個變數維護 prefix sum,這樣平均值也能 O(1) 算出來。

但這題的加分點不在演算法,而在 OOD。推薦把 equity、trader、analyst 都抽象成 class,把職責拆清楚。比如 equity 負責儲存和狀態維護,trader 負責修改,analyst 負責查詢。面試官明顯更喜歡這種結構化表達,而不是把所有邏輯堆在一個類裡。

follow-up 是口述 LC 295(資料流中位數),只需要講雙堆思路,不要求實現。主要看你能不能清楚解釋為什麼這麼設計。

這一輪也留了反問時間,聊了團隊具體做什麼,技術棧是什麼,氛圍怎麼樣,也是在當場約 EM。

HR 面

這一輪基本是行為題集合。問了一個和隊友有分歧的經歷,問了一個完全從零學習新東西的經歷,問 Why CS,Why Bloomberg,還有一個是講一個簡歷上沒有寫的事情。整體節奏比較輕鬆,但回答一定要有結構,不要講散。

HR 最後表示推進到 EM,但當天排不開。

EM 面

EM 面是整場 hardest。重點是 System Design,要求設計 Kafka。

面試官從最基礎的 components 開始問,包括 producer、consumer、topics、partitions、brokers 這些概念都要講清楚。然後問你如何把傳送訊息這個能力提供給 producer,我當時的思路是把 retry 機制和訊息封裝成一個 SDK,對外提供統一介面。

接著問 Durability、Consistency、Availability 怎麼保證,這裡就是分散式系統基礎。比如 replication、ack 機制、leader-follower 架構、資料刷盤策略等等,都要能講。

有一個問題當時沒答好。場景是 producer1 給 broker1 發訊息,producer2 原本打算給 broker2 發訊息,但因為網路問題發到了 broker1,此時如何保證訊息順序?我當時沒想清楚。EM 給的大致思路是基於 raft 選出 leader,由 leader 決定訊息順序,其他 broker follow leader 的順序即可。核心是順序必須由一箇中心權威來裁定。

面試結果

整體感受是,Bloomberg 面試不浮誇,但非常實在。演算法難度中等偏上,資料結構設計偏工程思維,EM 輪對分散式要求不低。如果你基礎紮實、表達穩定,其實是一個非常公平的流程。最後兩天後收到 HR Offer call,流程算是比較順利結束。需要 Bloomberg / 大廠 VO / EM 高頻題整理,或者希望做針對性 VO助攻 的,可以找 programhelp,對各大廠的SDE 全流程都非常熟。

author avatar
Jory Wang Amazon資深軟體開發工程師
Amazon 資深工程師,專注 基礎設施核心系統研發,在系統可擴充套件性、可靠性及成本最佳化方面具備豐富實戰經驗。 目前聚焦 FAANG SDE 面試輔導,一年內助力 30+ 位候選人成功斬獲 L5 / L6 Offer。
END
 0