← Back to blog Bloomberg 2026 NG SDE Onsite Debrief: Valid Triangle + Flatten Multi-level Linked List
Bloomberg

Bloomberg 2026 NG SDE Onsite Debrief: Valid Triangle + Flatten Multi-level Linked List

2026-05-14

Bloomberg has the fastest campus-recruiting tempo of any traditional finance-tech firm: apply Sept 23, get an HR invite same-day, campus team confirms Sept 30, and two onsite rounds get scheduled back-to-back on Oct 2-3—all wrapped within a week. Problems sit at LeetCode Medium, but interviewer follow-ups are brutally detailed: when to use smart pointers, scoped vs unique vs shared, recursion vs stack memory tradeoffs. This article reconstructs a fresh 2026 candidate's onsite path, with full code, follow-up patterns, and answer templates.

Bloomberg 2026 NG SDE Timeline

Date Stage
9.23 Apply via school career portal
9.23 HR sends invite same-day
9.30 Campus team confirms slots
10.2 Onsite Round 1 (Tech + BQ)
10.3 Onsite Round 2 (Resume deep-dive + technical follow-up)
≤10.10 Offer call

Round 1: BQ + Coding Pair

1.1 Behavioral Template (~25 min)

The first interviewer was a relaxed Chinese senior engineer. The BQ section flowed:

  1. Self-introduction (3 min): education + a project you're proudest of
  2. Most representative project: pick the one closest to Bloomberg's domain—finance, terminal, real-time data
  3. Most challenging project: emphasize ambiguous requirements + communication arc—this is Bloomberg's signature evaluation axis
  4. Follow-ups:
    • "How did you align with the team on requirements?"
    • "Did the outcome match expectations?"
    • "What would you do differently?"

BQ scoring secret: Bloomberg rates "granularity of communication"—make every decision's options + tradeoff explicit. Every STAR story should embed at least one named tradeoff.

1.2 Coding 1: Valid Triangle Number (LeetCode 611)

Problem: given an integer array nums, return the count of triples that can form a valid triangle (sum of any two sides > third).

Bloomberg's expected approach: sort + two pointers, O(n²)

from typing import List

def triangle_number(nums: List[int]) -> int:
    nums.sort()
    n = len(nums)
    count = 0
    for k in range(n - 1, 1, -1):
        i, j = 0, k - 1
        while i < j:
            if nums[i] + nums[j] > nums[k]:
                count += j - i
                j -= 1
            else:
                i += 1
    return count

Time: O(n²)
Space: O(1) (in-place sort)

Interviewer follow-ups:

1.3 Coding 2: Flatten a Multi-level Linked List (LeetCode 430)

Problem: doubly-linked-list nodes have next and child pointers; flatten into a single-level list.

Bloomberg expected approach: stack simulation or recursive 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 head
    stack = []
    curr = head
    while curr:
        if curr.child:
            if curr.next:
                stack.append(curr.next)
            curr.next = curr.child
            curr.child.prev = curr
            curr.child = None
        if not curr.next and stack:
            nxt = stack.pop()
            curr.next = nxt
            nxt.prev = curr
        curr = curr.next
    return head

Time: O(n)
Space: O(d) where d = max nesting depth

Interviewer follow-ups:

Round 2: Resume Deep-Dive + Technical Follow-up

Two interviewers: a senior Indian-accented engineer and a US-native engineer. Style is resume-driven:

2.1 Resume Deep-Dive (~30 min)

Classic opener:

"If you were to redo your most recent project, how would you improve it?"

Scoring:

Bloomberg's heaviest technical follow-ups:

  1. C++ smart pointers: "When do you use shared_ptr vs unique_ptr? Where does scoped_ptr fit?"
  2. Concurrency: "How would you scale this service to 100k QPS?"
  3. Testing: "What was your test coverage? Which dependencies did you mock?"

2.2 Coding: LRU Cache

Problem: implement LRU Cache with O(1) get and put.

Bloomberg expected approach: doubly-linked list + hash map

class DLLNode:
    __slots__ = ("key", "val", "prev", "next")
    def __init__(self, key=0, val=0):
        self.key = key
        self.val = val
        self.prev = None
        self.next = None

class LRUCache:
    def __init__(self, capacity: int):
        self.cap = capacity
        self.cache: dict = {}
        self.head = DLLNode()
        self.tail = DLLNode()
        self.head.next = self.tail
        self.tail.prev = self.head

    def _remove(self, node):
        node.prev.next = node.next
        node.next.prev = node.prev

    def _add_to_front(self, node):
        node.prev = self.head
        node.next = self.head.next
        self.head.next.prev = node
        self.head.next = node

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

    def put(self, key, val):
        if key in self.cache:
            self._remove(self.cache[key])
        node = DLLNode(key, val)
        self.cache[key] = node
        self._add_to_front(node)
        if len(self.cache) > self.cap:
            lru = self.tail.prev
            self._remove(lru)
            del self.cache[lru.key]

Bloomberg's follow-up depth:

Bloomberg's 5 Scoring Axes

Axis Weight Signal
Coding correctness 30% Medium AC + boundary handling
Communication clarity 25% Clarify inputs/outputs + edges upfront
Technical depth 20% Can elaborate on smart pointers, concurrency
BQ + culture fit 15% Ambiguous requirements + team collab
Learning velocity 10% Can reason about new concepts live

Bloomberg vs Citadel vs JPMorgan Campus

Dimension Bloomberg Citadel JPMorgan
Onsite rounds 2 3-4 3
OA required? Sometimes skipped Yes Yes
Algorithm difficulty LC Medium LC Medium-Hard LC Medium
BQ weight 30% 10% 50%
OA→offer cycle 2-3 weeks 3-5 weeks 4-8 weeks

FAQ

What's Bloomberg's NG SDE pass rate?

Apply → offer: 12-18%. Once you reach onsite, **30-40% land an offer**, so onsite is the gating event. This candidate's two onsites were 1 day apart, emphasizing "context switch" speed.

How algorithmically tough is Bloomberg?

Medium. LC Medium + 60% Bloomberg high-frequency questions is enough. Focus areas: linked list variants, two pointers, tree traversal, LRU design. Bloomberg is famously "textbook"—rarely a trick.

Can I push back on 1-day-apart onsites?

You can ask HR, but Bloomberg's campus culture rewards fast early offers. If feasible, accept the back-to-back schedule.

How should I prep BQ?

Build 5 STAR stories covering: ambiguous requirements, team collaboration, failure post-mortem, leadership, cross-cultural communication. Bloomberg follow-ups are deep—each story needs 3+ pre-prepared answers.

Do referrals matter at Bloomberg?

Yes—a lot. Referred resumes get ~2× HR response rate, and campus team prioritizes referred candidates' scheduling. Bloomberg employees' referrals usually get a response within 1-2 business days.


Preparing for the Bloomberg NG SDE onsite?

oavoservice offers full onsite coaching for Bloomberg / Citadel / JPMorgan: BQ story polishing, 1-on-1 coding mocks, resume deep-dive simulations. Our coaches include former Bloomberg engineers and bring a complete playbook for Bloomberg's "deep follow-up" style.

Add WeChat Coding0201 to book Bloomberg coaching.

#Bloomberg #BloombergVO #NewGrad #SDE #FinanceTech #InterviewExperience


Contact

Email: [email protected]
Telegram: @OAVOProxy