← 返回博客列表 2025 Bloomberg VO 高频题汇总|一亩三分地最新 60+ 帖子统计与题型分布
Bloomberg

2025 Bloomberg VO 高频题汇总|一亩三分地最新 60+ 帖子统计与题型分布

2026-05-18

数据来源:oavoservice 团队按月抓取一亩三分地 Bloomberg 板块 + offer 群面经分享,统计窗口 2024-10 至 2026-05,共纳入 60+ 篇 VO 复盘。本文不重复"3 轮通关手册"已有内容,而是回答一个具体问题——最近半年到一年,BBG VO 真题里哪些反复出现?


一、统计口径说明

维度 数值
数据时间窗 2024-10 ~ 2026-05
帖子样本 60+ 篇 VO 复盘
覆盖岗位 SDE Intern、NG、L4-L5 lateral
覆盖城市 NYC(80%)、伦敦(10%)、上海(8%)、东京(2%)
统计单位 "题目主题"为单位,同题不同包装合并

二、Top 10 高频题排行表

排名 题目 出现次数 难度 出现轮次
1 Flatten Multilevel Linked List (LC 430) 18 Med R1
2 LRU Cache (LC 146) 15 Med R1
3 Word Break I / II (LC 139/140) 12 Med / Hard R2
4 Trie + Prefix 题(变体) 10 Med R2
5 Top K Frequent Elements / Words (LC 347/692) 9 Med R1
6 Calendar Busy / Merge Intervals (LC 56/57) 8 Med R2
7 CSV Folder Sum / 嵌套数据聚合 7 Med R2
8 Word Search Grid (LC 79) 6 Med R2
9 Bus Tracker / OOD 设计 5 Med R3
10 Wildcard Match (LC 44) 5 Hard R2

观察:前 4 名共占 55% 出现量,是"必刷"层;6-10 名是"风险护栏"层,出现率虽不到 15%,但只要不熟就直接挂。


三、Top 1:Flatten Multilevel Doubly Linked List

题面(变体):给定一个有 child 指针的 doubly linked list,flatten 成单层 DLL,保持 DFS 顺序。

class Node:
    def __init__(self, val, prev=None, next=None, child=None):
        self.val = val
        self.prev = prev
        self.next = next
        self.child = child

def flatten(head):
    if not head:
        return None
    stack = [head]
    prev = None
    while stack:
        cur = stack.pop()
        if prev:
            prev.next = cur
            cur.prev = prev
        if cur.next:
            stack.append(cur.next)
        if cur.child:
            stack.append(cur.child)
            cur.child = None
        prev = cur
    return head

时间复杂度:O(n) 空间:O(d),d 为最大 child 嵌套深度

BBG 面试官追问:1) 不让用 stack 怎么做?→ 递归 + tail 指针;2) 是否可能成环?→ 加 visited set 检测。


四、Top 2:LRU Cache

题面:实现 LRU,get / put 都 O(1)。BBG 这道题考了 6 年,追问角度变化最大

class LRUCache:
    def __init__(self, capacity):
        self.cap = capacity
        self.cache = {}
        self.head = self.tail = None

    class _Node:
        __slots__ = ("key", "val", "prev", "next")
        def __init__(self, k, v):
            self.key, self.val = k, v
            self.prev = self.next = None

    def _add_front(self, node):
        node.prev = None
        node.next = self.head
        if self.head:
            self.head.prev = node
        self.head = node
        if not self.tail:
            self.tail = node

    def _remove(self, node):
        if node.prev:
            node.prev.next = node.next
        else:
            self.head = node.next
        if node.next:
            node.next.prev = node.prev
        else:
            self.tail = node.prev

    def get(self, key):
        if key not in self.cache:
            return -1
        node = self.cache[key]
        self._remove(node)
        self._add_front(node)
        return node.val

    def put(self, key, value):
        if key in self.cache:
            node = self.cache[key]
            node.val = value
            self._remove(node)
            self._add_front(node)
            return
        if len(self.cache) >= self.cap:
            evict = self.tail
            self._remove(evict)
            del self.cache[evict.key]
        node = self._Node(key, value)
        self.cache[key] = node
        self._add_front(node)

时间复杂度:O(1) per op 空间:O(capacity)

BBG 2026 新追问:thread-safe 怎么做?→ threading.RLock 或分桶锁。


五、Top 3:Word Break II(实战版)

题面:给定字符串 s 和词典 wordDict,返回所有可拼接成 s 的合法分词(按任意顺序)。

from functools import lru_cache

def word_break(s, word_dict):
    words = set(word_dict)

    @lru_cache(maxsize=None)
    def helper(start):
        if start == len(s):
            return [""]
        out = []
        for end in range(start + 1, len(s) + 1):
            piece = s[start:end]
            if piece in words:
                for tail in helper(end):
                    out.append(piece if not tail else piece + " " + tail)
        return out

    return helper(0)

时间复杂度:最坏 O(2^n),平均 O(n²·avg_len) 空间:O(n²)

BBG 追问:1) 如果输出是无限字典,怎么剪枝?→ Trie + DFS;2) 如果只问"能否拼",怎么从 O(2^n) 降到 O(n²)?→ 一维 DP。


六、行为面 5 大高频问题

  1. Why Bloomberg?(80% 必问)
  2. 跟同事 / PM 立场分歧时怎么处理?
  3. 你做过最 proud 的项目,impact 怎么量化
  4. 你被批评过的一次,learning 是什么?
  5. 你怎么 keep up with 金融 / 科技变化?(BBG 特色)

BBG 文化关键词Customer ObsessionTinker MentalityCuriosity。每个准备 1 个具体故事 + 数字。


七、一亩三分地用户最容易踩的 5 个坑

  1. 只刷 LC 不写 OOD:BBG R3 必出 OOD,纯 LC 选手在第三轮容易"答得很碎"
  2. 过度优化导致超时:BBG 60min 1-2 题,先正确再优化比直接给最优解更稳
  3. 忽视边界:空 list / 自指针 child 等边界一定要主动列出
  4. 只准备英文回答 BQ:BBG NYC 面试官多元化,口音要适应——录音模拟自己听
  5. 忘了 follow-up clarification:题干模糊一定要先问,BBG 面试官非常看重"asking the right question"

八、常见问题 FAQ

Q1:BBG VO 难度和 Meta / Google 比怎么样?

A:算法难度 BBG ≈ Meta E4 ≈ Google L4,但 OOD 权重比 Meta / Google 高。整体 onsite pass rate ~30%。

Q2:一亩三分地 BBG 题更新有多快?

A:周更——每周大约 3-5 篇新复盘。我们抓取频率是每天 1 次,2026 年后 BBG 题库稳定在 ~20 道核心题轮换。

Q3:BBG 做 OA 吗?

A:NG 一般没有 OA,直接进 phone screen;intern 部分岗位有 HackerRank 简短测试(30min 2 题)。

Q4:BBG 给 H1B sponsor 吗?

A:给,NYC office 是大头,伦敦 / 东京视团队。BBG 对 H1B 友好度高于 Citadel / Two Sigma。

Q5:onsite 表现好却被拒,怎么办?

A:BBG 会发 detailed feedback(少见),可主动 ping recruiter 索要。被拒 6 个月后可重投。

Q6:BBG 面试 prep 多久合适?

A:在职跳槽 6–8 周;NG 全力准备 4 周。重点投在前 4 题(占 55% 频次)+ OOD。


九、需要 Bloomberg VO 辅助?

Bloomberg 面试算法 + OOD + 行为面三轮考察的难度梯度独特——既要 LC 中等熟练度,又要快速翻译需求成 class 设计。如果你正在准备:

我们提供:BBG 当周高频题、OOD 模拟(Bus Tracker / Calendar / Trade Match)、行为面 STAR 故事打磨、面试当天实时辅助。


联系方式

Email: [email protected]
Telegram: @OAVOProxy
微信: Coding0201


最后更新:2026-05-18 | 作者:oavoservice 面试组