这次分享一位刚通过 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
dummy = 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