Bloomberg SDE 面不只看你解題,更看重你的系統思維和溝通能力。 技術面試裡的算法題,比如設計一個處理連續數據流的數據結構,其實是在考察你如何用平衡二叉樹(如C++的map)來優化查找和合併邏輯,處理複雜的邊界情況,這背後就是系統設計的思維。 分享下最近遇到的 Bloomberg 面經 – 三輪面試,兩輪是Coding,1輪HM,看的出來,彭博社還是很喜歡算法數據結構表現優異的候選人。
Bloomberg VO時間線
9.21 refer
9.26 apply
10.3 phone邀请
10.24 phone interview: 25分鐘簡歷➕why bloomberg,做了LC445。
11.28 VO邀請: on campus滿了,virtual約到了12.7。
12.7 Back to back 面試
Bloomberg 面經 – VO 1
這輪是純Coding面試,開始簡單自我介紹5分鐘後,開始做題。
第一題:給出一個數組,最多可以刪掉其中一個數,也可以不刪,問能否讓每個數字出現的次數相同。
解題思路:可以先用哈希表freq記錄每種數字出現的次數,然後再使用哈希表freq_of_freq記錄每種次數出現的次數 然後如果freq_of_freq長度為1,也就是只有一種長度,那就可以不刪 如果freq_of_freq長度為2,那麼記其中的兩種次數以及次數的次數分別為(f1, v1)和(f2, v2),如果其中一個v等於1,且對應的f也等於1,或者等於另一個f加1,那麼把這個v對應的字符刪掉一個之後,v對應的f就會變成f – 1,也就是變成0,或者變成另一個f。比如aabbc,c對應的就是v和f都等於1;比如aabbccc,c對應的就是v等於1,f等於另一個f加1。
第二題:給出一個壓縮後的字符串,比如3[a3[b]]的形式,要求解壓,得到abbbabbbabbb。
解題思路:做法是棧模擬,記錄一個當前的字符串curr,碰到字符就添加到curr末尾,碰到數字就把數字和curr一起入棧並跳過左括號,碰到右括號就彈出棧頂的pre和數字f,將curr複製f次添加到pre的末尾形成新的curr。
Bloomberg 面經 – VO 2
首先問了一下簡歷,大概15分鐘,然後進入coding, 提供一個secret string,一個玩家guess的string,相同length, 對於每一個特定的index下,如火guess的char與secret的char相同,則print*,如果不同,分兩種情況1)如果guess的這個char在secret裡面也出現了,print +,如果沒有,print -. 之後 follow up,時間空間複雜度,然後修改題目,問如果考慮freq的情況下怎麼辦。
解題思路:先把 secret 的所有字符放進一個集合 set,然後遍歷輸出,時間複雜度O(n),空間複雜度O(k)。
Follow up解題思路:每個字符只能匹配有限次,這就變成 Wordle/Bulls&cows 的正確計數:同一個 secret 裡的字符不能被 + 無限復用,第二次遍歷再處理剩下的 +/-:用剩餘頻次決定能不能給 +,時空複雜度不變。
Bloomberg 面經 – VO 3
第三輪是hr面:介紹一下自己,然後問了幾個常規的BQ:
- Why bloomberg?
- Most interesting project?
- What new thing did you learn about bloomberg from your previous interviews?
- Two things you are looking for when you apply to jobs?
總體而言,面試體驗很好,面試官都很友善、禮貌,溝通氛圍積極。面完後,面試官說hr很快會聯繫我, 官方說法是七個工作日內通知結果. 之後出結果了我再來update, 希望能有幸福來敲門哈哈。如果你也需要面試輔導,Bloomberg面試輔助等服務,請與我們聯繫,幫助多位候選人拿到Bloomberg的offer。