這次分享一位剛通過 Bloomberg New Grad SDE 校園面試的學員,從投遞到兩輪技術面只用了一週多,效率非常高。題目都是 LeetCode Medium 難度,但節奏很快、面試官互動密集,整體體驗意外地輕鬆。
一、時間線概覽
| 時間 | 事件 |
|---|---|
| Day 0 | 透過學校渠道投遞履歷 |
| Day 0 | 當天收到 HR 面試邀請 |
| Day 7 | 確認校園面試(On-site 模式) |
| Day 9 | 第一輪(技術 + 行為) |
| Day 10 | 第二輪(技術 + 深挖) |
一週多走完兩輪,Bloomberg 的校招節奏確實快。
二、第一輪:行為 + 兩道 Coding
第一位面試官是位很溫和的華人女士,氛圍輕鬆。先寒暄,再進標準的 Bloomberg 行為題流程。
行為題
- 自我介紹
- 描述一個最有代表性的項目經歷
- 講一個你覺得最有挑戰的項目
- 描述一次你面對模糊任務需求的經歷
Bloomberg 特別看重「模糊情境下的邏輯與溝通」能力,會追問得很細,比如「你怎麼和團隊溝通去澄清需求?」「最終結果符合預期嗎?」
Coding 1:有效三角形個數
給一個陣列,統計能組成多少個有效三角形(任意兩邊之和大於第三邊)。
def triangleNumber(nums):
nums.sort()
n, count = len(nums), 0
# 固定最長邊 k,雙指針找另兩邊
for k in range(n - 1, 1, -1):
i, j = 0, k - 1
while i < j:
if nums[i] + nums[j] > nums[k]:
# i..j-1 與 j 都能和 nums[k] 組成三角形
count += j - i
j -= 1
else:
i += 1
return count
思路:排序後固定最長邊,雙指針。複雜度:時間 O(n²),空間 O(1)。幾分鐘直接 AC。
Coding 2:扁平化多級鏈結串列
鏈結節點除
next外還有child,要求扁平化成單層鏈結串列。
def flatten(head):
if not head:
return head
stack, curr = [], head
prev = None
while curr or stack:
if not curr:
curr = stack.pop() # child 分支處理完,回到主鏈
if prev:
prev.next = curr
curr.prev = prev
if curr.child:
if curr.next:
stack.append(curr.next) # 暫存主鏈後續
curr.next = curr.child
curr.child = None
prev, curr = curr, curr.next
return head
思路:堆疊模擬 DFS,遇到 child 先深入、把 next 壓堆疊。複雜度:時間 O(n),空間 O(n)。
三、第二輪:履歷深挖 + 兩道 Coding
第二輪兩位面試官,風格更技術、更深入。
履歷與項目追問
- 「如果重做你之前的項目,你會怎麼改進?」
- 「你提到 smart pointer,能具體講講原理嗎?」
智慧指針那部分項目年代久遠,學員只能現場回憶概念,好在語氣沉穩沒露怯。提醒:履歷上寫的每個技術點都要能往下講一層。
Coding 1:節點最多的層
給一棵二元樹,找出節點數最多的那一層,返回層號。
from collections import deque
def maxLevel(root):
if not root:
return 0
q = deque([root])
best_level, best_count, level = 1, 0, 0
while q:
level += 1
size = len(q)
if size > best_count:
best_count, best_level = size, level
for _ in range(size):
node = q.popleft()
if node.left: q.append(node.left)
if node.right: q.append(node.right)
return best_level
思路:BFS 層序遍歷,記錄每層節點數。複雜度:時間 O(n),空間 O(n)。五分鐘搞定。
Coding 2:接雨水
Bloomberg 的最愛題。給柱高陣列,求能接多少雨水。
def trap(height):
if not height:
return 0
left, right = 0, len(height) - 1
left_max = right_max = water = 0
while left < right:
if height[left] < height[right]:
# 左側更矮,結果由 left_max 決定
left_max = max(left_max, height[left])
water += left_max - height[left]
left += 1
else:
right_max = max(right_max, height[right])
water += right_max - height[right]
right -= 1
return water
思路:雙指針 + 兩側最大值。複雜度:時間 O(n),空間 O(1)。
四、備戰要點
| 維度 | 建議 |
|---|---|
| 行為題 | 準備「模糊需求 + 溝通澄清」類故事,Bloomberg 愛追問 |
| Coding | Medium 為主,雙指針/BFS/鏈結串列高頻,速度要快 |
| 履歷 | 每個技術名詞(如 smart pointer)都要能講原理 |
| 節奏 | 互動密集,邊寫邊講思路,面試官很在意溝通 |
FAQ
Q1:Bloomberg 校招真有這麼快嗎?
這位學員一週多走完兩輪,確實快。但節奏因校而異,關鍵是收到面試邀請後立刻進入狀態,行為題和高頻 Coding 都提前備好。
Q2:Coding 難度到什麼程度?
基本都是 LeetCode Medium:有效三角形、鏈結串列扁平化、BFS 層序、接雨水。骨架不難,但節奏快、要邊寫邊講,光會做不夠,表達也要跟上。
Q3:接雨水為什麼是 Bloomberg 最愛?
它能同時考雙指針、空間優化和邊界處理,O(1) 空間解法很能區分候選人。建議把雙指針版本練到能默寫並講清原理。
Q4:智慧指針這類履歷追問怎麼準備?
履歷寫了就要能講原理。智慧指針要能說清 shared_ptr 引用計數、unique_ptr 所有權、循環引用與 weak_ptr。別寫沒深入用過的技術。
正在準備 Bloomberg 的校園面?
Bloomberg 校招節奏快、互動密、Coding 偏 Medium 但要快準穩。如果你想要兩輪的限時陪練、行為題「模糊需求」專項打磨,或高頻 Coding 題庫陪練,歡迎聯繫交流,發崗位 JD 先做題型預測,再排練習計劃。
立即新增微信 Coding0201,獲取 Bloomberg 校園面真題與陪練。
聯絡方式
- 微信:Coding0201
- Email:[email protected]
- Telegram:@OAVOProxy