Bloomberg·Software Engineer·Onsite - System Design / Architecture
May 2026
Bloomberg SWE interview, system design round focused on building an in-memory trade subscription engine in C++. The problem looked deceptively like a coding question but quickly turned into a full design discussion about data structures, matching logic, and concurrency.
- Design and implement the internals of an in-memory trade subscription processor in C++. Given a simplified interface with subscribe, onNewTread, and unSubscribe methods, what private data structures would you use, and how would each method work conceptually?
- How would you handle thread safety in this system, given that one thread is continuously calling onNewTread while another may be adding or removing subscriptions concurrently?
- What is the time and space complexity of your design for subscribe, onNewTread, and unSubscribe?
“The interface looked clean so I jumped straight to a flat vector of subscriptions and immediately realized that's a disaster at 10^5 subs with tens of thousands of trades per second.” The rest of the author's notes on Software Engineer interview at Bloomberg, Onsite - System Design / Architecture round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post