The process was not smooth at all, but overall was decent.
I started with a classic application on the careers website. After four days, I received an email to schedule a technical phone interview. They had to reschedule it another time due to reasons unknown to me. So, I rescheduled it for a week later.
The interview lasted about an hour. First, we discussed my projects and got really deep into the details. After that, there were two problems:
After one month, they invited me to an on-campus interview.
This interview also lasted about an hour. Again, they asked me about my projects and my previous work experience. There were also two problems:
After two months, they invited me to the London office for the onsite interview.
I had only one technical interview and one HR interview.
The technical interview lasted about two hours (maybe more). We discussed my projects and work experience extensively and got into detail. The interviewer seemed impressed by my work, so it felt more like a conversation. After that, he gave me a design question about building a Custom Index Engine.
I came up with a working solution very quickly, but he wanted me to optimize it as much as possible. So, I identified the bottlenecks and even proposed a multithreaded architecture.
This was my favorite interview, and I enjoyed it very much. Afterward, I had an HR interview where we discussed what I would like to work on, my previous work, what keeps me motivated, what I would improve, how, and the classic "Why Bloomberg?" question.
After two weeks, they called me and made me an offer for a Full-Time Graduate position in the London Office.
Print the top 10 largest elements from an integer array. Follow up to top K.
Given a string, rearrange it in decreasing order by character frequency. If frequencies are equal, use lexicographical order.
Given a large string (a book) and a list of unique words, print all occurrences where all the words appear consecutively in the string. The order of the words does not matter, but they must all be from the list and have no other words between them.
Example: INPUT: string: "This is a test is. other a" list: ["is", "a", "test"] OUTPUT: 1,2
Consider browser search where a user types a URL. You need to keep track of the history and print the most recent URLs the user searched. This is similar to an LRU cache.
Custom Index Engine - Design and implementation
The following metrics were computed from 7 interview experiences for the Bloomberg LP Software Engineer New Grad role in London, United Kingdom.
Bloomberg LP's interview process for their Software Engineer New Grad roles in London, the United Kingdom is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Bloomberg LP's Software Engineer New Grad interview process in London, United Kingdom.