Bloomberg | Senior Software Engg | London | Oct 2020 [Reject]
Anonymous User
2016

Status: SDE2 at Microsoft
Years of Experience: 2 years 3 months

Process: I applied directly on Bloomberg website for suitable roles. HR responded back after a month.

[Phone Screen] (1 hour)

Behavioural (10 mins): Tell me about yourself. Why Bloomberg? etc

DS/Algo (50 mins): Leetcode-Candy-Crush-1D

Solved in about 30 mins. Then discussed a few concepts of String data structure in java and String vs StringBuilder.

[Virtual Onsite]

[Round 1 - DS/Algo] (1 hour)

  1. Visualize lots of airports and airlines connecting them. Implement two methods:
    a. addRoute -> add route from source airport and destination airport
    b. printRoutes -> print all the routes from source airport to destination airport

Solved it using DFS. Faced network connectivity issues and frequent dropouts. I was able to code properly and somehow explain the solution.

[Round 2 - DS/Algo] (1 hour)

  1. A TV show is termed as “addictive” if the viewers quickly become addicted to the show and end up watching all the episodes. We need to find how quickly the users become addicted to the show. It can be tracked after viewing how many episodes of a show at least 70% of the viewers who watched that continued to finish the show entirely. In other words, more that 70% of the viewers who watched the first x eposides of a show continued to finish the entire show. The x is what we are looking for.

    For e.g.
    Episode Count
    1 40
    2 36
    3 31

    7 14
    ….
    10 10

Here the answer is episode 7 as 10/14*100 is more than 70%!

Assumptions:

  • All the shows have 10 episodes.
  • Viewers always start from episode 1 (no skipping)

Given a log of entries consisting of a user id, the show name and the episode number that was watched, produce the x for each show.

Input Function: void process_log(string show, int episode, int user_id);
Output Function: print_results();

  1. Follow up: What if we don’t have these assumptions? Discuss following problems
    • If all the shows do not have a fixed number of 10 episodes.
    • If viewers can skip episodes

Took me around 10 mins to understand the question itself. After proper understanding, it was easy enough to solve. Just store the count for each show->episode based on users in a hashMap and use it for calculation in print_results(). Follow-ups were easy to discuss and provide solutions. 1st one can be solved using binary search if the number of episodes is very huge. Second follow-up is almost similar to the main question.

[Round 3 - Design] (1 hour)

  • Tell me about yourself.
  • Many questions on my resume
  • Design and in-depth discussion of project I’m currently working on
  • Which language do you use in your current company and why?
  • Java vs C++. Which one is your favorite?
  • Questions on Java vs C++ garbage collection. How a garbage collection engine works in general?

[Round 4 - Hiring Manager] (1 hour)

  • Introduction
  • Why Bloomberg?
  • Again, discussion on project I’m currently working on
  • Number of employees under my Manager? How many team members do I work closely with?
  • Agile software development questions, sprint duration, how do you plan tasks and work in your team.
  • Have you ever mentored someone? How was the experience?
  • What would you do if you are not able to solve a problem?
  • Few other HR questions.

[Round 5 - Senior Recruiter Behavioural] (30 mins)

Kindof a rapid fire round where the recruiter asked a lot of HR questions and recorded my answers.

Overall Feedback: Phone interview and all DS/Algo rounds were good. Discussion around garbage collection did not go very well. Interviewers wanted to understand more about my work at Microsoft but did not get that. Could have had hiring manager round better.

Personal Comment: Most of the interview experiences suggest that you need a bit of luck to clear Bloomberg. I specifically asked the recruiter if there will be language specific questions - she said no. Yet, I was asked on Java and C++. Bloomberg will favour candidates with C++ and financial background. All the algorithmic questions were from Bloomberg leetcode questions or interview experiences. I would advice focusing more on behavioural interviews and practicing them.

Comments (3)