Bloomberg | SWE Summer Internship | London | 2021

bloomberg logo
bloomberg
software engineer summer internshiplondonOngoing
November 26, 20205 reads

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)

Q1
First Non-Repeating Character in a String
Data Structures & AlgorithmsMedium

Find the first non-repeating character in a given string.

Follow-up: What if the string was very long? How could I optimize the solution?

Q2
Validate Binary Search Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, determine if it is a valid binary search tree (BST).

Q3
Design Underground System
System DesignMedium

Design a system to track travel times between different stations on an underground subway system. You need to implement checkIn, checkOut, and getAverageTime functions.

I clarified if the system was directed or undirected, and it was confirmed to be directed.

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.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!