Wanted to share my interview rounds with Bloomberg.
Position:
New-Grad SDE , New York Office
Background:
CS Masters Top US School
Oct 06 '22 - 1st Round Phone Interview
1 LC Medium: https://leetcode.com/problems/flatten-a-multilevel-doubly-linked-list/
https://leetcode.com/discuss/interview-question/506326/bloomberg-phone-flatten-multilevel-linked-list
I got intimidated seeing the question. I started with explaining how to traverse a linked list and kept communicating what was going on in my head. Speaking loudly, using small cues from the interviewer, and using an example, suddenly struck me that the solution will need to use recursion (since we had multiple levels and repeating the same pattern). I coded 95% of the solution. The interviewer acknowledged that I was on the right path but the time was up so I had to leave it there. Takeaways that might have helped me move to the next round is I believe, I communicated properly my thought process behind each line of code I wrote. I took several examples (including edge cases) and went through how my code will behave in each scenario.
Nov 29 '22 - Virtual Onsite Assessment
Part 1 (1 hour)
LC Medium: https://leetcode.com/problems/find-the-index-of-the-first-occurrence-in-a-string/description/ - I had done this before and it was pretty straightforward. I missed a few edge cases (like when haystack length is less than needle and array goes out of range etc.) but when the interviewer pointed out these edges cases, I realised what was wrong, and immediately fixed that in my code. Interviewers asked me to take several examples and simulate how my code would behave line-by-line in each case.
LC Medium: https://leetcode.com/problems/flatten-a-multilevel-doubly-linked-list/ - I got exactly the same question from my 1st round phone interview which I mentioned above :). We only had 10-15 minutes left to discuss this question, so I just explained my solution at a high level and told how recursion should be used here. I coded about half of my solution and the interviewer was convinced that I was on the right path, but we had to stop because time ran out.
Part 2 (1 hour)
LC Medium: https://leetcode.com/problems/min-stack/ - This was pretty straightforward for me and I coded it in 10 minutes. I used a stack for this but the interviewer asked me if there were any alternative ways to do it. I discussed a few other approaches and he seemed satisfied with it.
LC Medium: https://leetcode.com/problems/kill-process/description/ - The interviewer did not expect me to code the solution since we didn't have time. I just had to explain a high level solution. I got confused in understanding the question initially and my approach was: consider the tree as a graph and try to reach a node where the incoming edges should be zero (which should represent the root node). I am not sure if it was a convincing solution as the interviewer’s expression were ambiguous. Towards the end, we had a nice chat about his work at BB. Overall it ended on a positive note I guess.
Got a rejection email the next morning. Maybe you just have to be flawless. But I read other discussion posts where people with completely perfect interviews were also rejected through an automated email few days later. So, not sure what Bloomberg actually looks for.