Bloomberg SWE interview, full breakdown for prep
Bloomberg SWE interview, full breakdown for prep
Just wrapped up my Bloomberg loop and wanted to write up the full thing since there's not a ton of detail out there on their process.
Phone screen was 60 minutes on HackerRank, split into a quick resume chat (they asked about a recent project, how the data was stored, what happens as QPS grows) then two coding problems back to back. First one was the log aggregation question, basically implement add(timestamp, userId) and getActiveUsers(currentTimestamp) where active means seen in the last 5 minutes. Follow ups came fast: what if timestamps aren't monotonic (ended up using a TreeMap style structure to handle that), how do you shard by userId without double counting distinct users, and how do you handle frequent queries without redoing the sweep every time (lazy cleanup helped here). Second problem was a variant of the balloon popping grid, basically Rotting Oranges but you also get asked whether every balloon can pop at all, then how many minutes it takes if they can, then a version where each cell has a different spread time so you end up doing Dijkstra with a min heap instead of plain BFS.
They want you to actually write and run your own test cases instead of just talking through the logic. Time was tight for two problems in an hour so don't overexplain, just narrate while you type.
Onsite got scheduled the next day. Rounds were more coding (classic LC style stuff, validate BST and group anagrams came up), a system design round on a real time market data pipeline (loader ingesting exchange feeds, fanning out over UDP to multiple processors, then handling packet loss, duplicates and ordering before storing), and a behavioral round that mostly wanted a deep dive on a system I'd built and the tradeoffs I made.
Still waiting to hear back on next steps but wanted to get this down while it's fresh. Overall the coding itself wasn't crazy hard tbh, but they grade heavily on communication, clarifying edge cases out loud, and catching your own bugs before they point them out.
Replies (5)
good luck on the results, this writeup alone is more detail than most posts I've seen on their process
this is super helpful, thanks for writing it up. did they let you pick which two coding problems or was it random?
seemed random honestly, no idea if it's pooled by team
market data SD sounds like a lot to cover in one round, did they expect a full diagram or more discussion based?
when I had a similar SD round it was mostly whiteboard discussion, not much time for a clean diagram
the log aggregation one came up for me too, exact same follow ups about non monotonic timestamps
same here, the sharding by userId part is where I got tripped up
the dijkstra twist on the balloon problem got me too, wasn't expecting weighted spread times