Hello everyone,
I am sharing my rounds experience with Bloomberg for "Software Engineer - 2021 Summer Internship - London". I think the same goes for entry-level or new grad positions. The recruiter reached out to me after applying online with a scheduled phone interview with one of the Bloomberg software engineers.
First Round (Phone):
The interviewer called me on time. He first introduced himself and explained which team he is working with. Then he gave me some time to introduce myself. He then asked me to use the hackerrank link provided by the recruiter.
Q: The first non-repeating character in a string.
My approach was two passes traversal along with a hashmap or fixed array for character counting, explaining the trade offs between both of them.
Follow up: What If the string was very long? What I can do to optimize the solution. I then introduced a one-pass solution using either an extra field on the hashmap, which is telling the first index on which I have seen this character, or using a linked hashmap. He seemed happy with both of them.
He didn't try to compile the code just asked me to trace it for him and discussed complexity. He gave me time to ask questions about the company or anything in my mind.
Q: https://leetcode.com/problems/first-unique-character-in-a-string/
After three days, I got positive feedback from the recruiter inviting me to virtual on-site interviews.
Second Round (Virtual Onsite):
This round was a video interview with two Bloomberg Software Engineers. They introduced themselves so did I. Then they asked me to use the hackerrank link provided by the recruiter.
Q1: Validate a BST
I discussed an in-order traversal "like" approach both recursively and iteratively. I wrote the code for the recursive approach. They didn't try to compile it. We just discussed complexity.
Q2: Design Underground System
I asked if the system is directed or undirected. One of them seemed very happy with this question and clarified that it is directed. I then discussed the approach using hashmap and some C++ Structs. I explained the solution's complexity. I clarified special cases like dividing by zero and so on. Again they seemed happy and didn't try to compile the code.
Q1: https://leetcode.com/problems/validate-binary-search-tree/
Q2: https://leetcode.com/problems/design-underground-system/
After three days, I got positive feedback from the recruiter, inviting me to a system architecture interview with one of their senior software engineer. And this is the part where I need help. I have no clue about system architecture or design. I have studied OOP at university, but it doesn't seem to be very useful. I need advice on how I should prepare for this interview, provided that I have only one week.
Thanks in Advance.
PS: All questions are Bloomberg tagged leetcode questions. I strongly advise doing LC tags for preparation.