Bloomberg Reject April 2026
Summary
I passed the first two DSA rounds but was rejected in the system design round at Bloomberg.
Full Experience
Round 1 # PASSED (DSA)
-
Question 1 : Merge two sorted arrays into one i.e parent array.
- Got it done in 5 minutes with approach and solution.
- Standard two pointer approach starting from the right side and filling up the parent array based on array values from two arrays.
- Explained each and every line while coding along with time and space complexities.
-
Question 2 : Compute fraud transactions based on given dataset.
- The dataset is a list of trasactions happening across.
- Same account if debited witin 60 min at two different locations will constitute as fraud transactions.
- Any amount greater than 2000$ will be considered fraud
record(String accountHolderName, int amount, String location, LocalTime timeStamp)- Standard filter across transactions with amount exceeding 2K$ and nested for to identify repeated transactions across different location within 60 min time duration.
- Explained each and every line while coding along with time and space complexities.
Round 2 : #PASSED (DSA)
-
Design a currency converter.
- Given a list of curruncies and their conversion rates.
- Give me back a currency conversion from one currency to the other.
[ ["USD", "JPY", rate], ["JPY", "RUB", rate], ["USD", "INR", rate], ] get me conversion from JPY -> INR.- Standard Graph problem solved using DFS within time limit explaining each and every single line while coding along with time and space complexities.
Round 3 : #REJECTED (SYSTEM DESIGN)
-
Question : There are database jobs running with an agent to backup database instances across different clusters. Write a database job manager service which manages the db_backups.
- Implement three apis to do the following.
- Get due jobs for running
- Update the job status once the job has completed run.
- register a new database to backup.
Enhancements
- Verify whether the backup successfully happened
-
Designed and explained each api also discussing the different tradeoffs of distributed backing up.
-
Wrote the repository layers with approprate logic to deal with data coming in an out of the system. with already given entities.
-
Involving Distributed job co-ordination using lock registry.
-
Using Pessimistic or Optimistic Locking Techniques to make sure only one job backup runs across distributed clusters.
-
Since there is an api requesting data of pending jobs frequently. implement caching methodologies to not allow frequent db interactions to the data for due job runs directly from db using limits and constraints.
-
Since it was a desing round on a code pad more over like a LLD thing not sure what the interviewers where expecting. there was two panel system design interviewer setup.
-
MY TAKE: I am a java developer who was given a python question with a python setup of entities and test cases to look at. There was some time spent in understanding the python setup to have a transition into java setup.
-
The interviewers were vague not exactly sure on what they were looking for whether to me implementing the api or me talking about it.
-
I wrote all the four cases succesfully making sure to also talk scaling strtegies after the initial design.
-
I think its more of a luck thing even after you do all the hard work and push yourself up to the interviwers. Because no matter what you say if you dont say what they exactly want to hear. thats a negative.
-
Posting it here so anyone preparing can take feedback and better prepare and know exactly what to expect!
Interview Questions (4)
Merge Two Sorted Arrays
Given two sorted arrays, merge them into a single sorted parent array. Use a two‑pointer approach starting from the right side, filling the parent array based on the values from the two arrays. The candidate implemented the solution in about 5 minutes and explained each line with time and space complexities.
Detect Fraudulent Transactions
Given a list of transaction records record(String accountHolderName, int amount, String location, LocalTime timeStamp), a transaction is fraudulent if:
- The same account is debited within 60 minutes at two different locations, or
- The amount exceeds $2000. The candidate filtered transactions exceeding $2000 and used nested loops to identify repeated transactions across different locations within the 60‑minute window.
Currency Converter
Given a list of currency pairs with conversion rates, e.g., [ ["USD","JPY",rate], ["JPY","RUB",rate], ["USD","INR",rate] ], return the conversion rate from a source currency to a target currency (e.g., JPY → INR). This is modeled as a graph where currencies are vertices and rates are weighted edges. The candidate solved it using DFS to find a path and multiply the rates along the path.
Database Backup Job Manager Service
Design a service that manages backup jobs for database instances across different clusters. Required APIs:
- Get due jobs for running
- Update job status after completion
- Register a new database to backup Enhancements include verifying successful backups, using caching for frequent due‑job queries, and handling distributed coordination with lock registries (pessimistic or optimistic locking).