← 返回部落格列表 Bloomberg NG SDE 校園面覆盤:兩輪連面 + 四道 Coding 真題全解
Bloomberg

Bloomberg NG SDE 校園面覆盤:兩輪連面 + 四道 Coding 真題全解

2026-06-04

這次分享一位剛通過 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

第二輪兩位面試官,風格更技術、更深入。

履歷與項目追問

智慧指針那部分項目年代久遠,學員只能現場回憶概念,好在語氣沉穩沒露怯。提醒:履歷上寫的每個技術點都要能往下講一層。

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 校園面真題與陪練

聯絡方式