Bloomberg | SWE Summer Internship | London | 2021
Summary
I successfully completed two rounds of interviews for a Software Engineer Summer Internship at Bloomberg in London, which included coding challenges on data structures, algorithms, and a system design problem. I received positive feedback and have been invited for a final system architecture interview.
Full Experience
Hello everyone, I am sharing my interview experience with Bloomberg for the "Software Engineer - 2021 Summer Internship - London" position. I believe this experience could also be relevant for entry-level or new grad roles. After applying online, a recruiter reached out to me to schedule a phone interview with one of Bloomberg's software engineers.
First Round (Phone)
The interviewer called me precisely on time. He started by introducing himself and the team he works with, then gave me time to introduce myself. Following this, he directed me to a HackerRank link provided by the recruiter for the coding challenge.
The first question asked was to find the first non-repeating character in a string. My initial approach involved a two-pass traversal using either a hashmap or a fixed array for character counting, and I made sure to explain the trade-offs between these two options. A follow-up question then challenged me: "What if the string was very long? How could I optimize the solution?" In response, I introduced a one-pass solution, suggesting either using an extra field within the hashmap to store the first index where the character was seen, or leveraging a linked hashmap. The interviewer seemed satisfied with both of my proposed solutions.
He didn't ask me to compile the code but rather to trace it and discuss its complexity. Towards the end, he gave me an opportunity to ask questions about the company or anything else on my mind.
After three days, I received positive feedback from the recruiter, inviting me to virtual on-site interviews.
Second Round (Virtual Onsite)
This round was a video interview conducted with two Bloomberg Software Engineers. We exchanged introductions, and then they provided a HackerRank link for the coding challenges.
The first question was to Validate a BST. I discussed an in-order traversal "like" approach, presenting both recursive and iterative solutions. I then proceeded to write the code for the recursive approach. They did not ask me to compile it; we focused on discussing its complexity.
The second question was to Design an Underground System. Before diving into the solution, I asked for clarification on whether the system was directed or undirected. One of the interviewers seemed quite pleased with this question and clarified that it was directed. I then discussed my approach, which involved using hashmaps and some C++ Structs. I explained the solution's complexity and clarified special cases, such as handling division by zero. Again, they seemed content with my explanation and did not ask me to compile the code.
Three days later, I again received positive feedback from the recruiter, inviting me to a system architecture interview with one of their senior software engineers. This is where I currently am in the process.
Interview Questions (3)
Preparation Tips
Based on my experience, I strongly advise focusing on LeetCode questions for preparation. Specifically, I found it very beneficial to practice questions tagged for Bloomberg, as all the questions I received were Bloomberg-tagged LeetCode problems.