I applied online through the careers section of Bloomberg. The application was for an entry-level software engineer position at the Bloomberg London site. I needed to upload my resume and cover letter.
My language of choice for the interview was C/C++.
I had:
Following this, I was called for an onsite interview at the London office and had three rounds of interviews there (two technical and one HR).
After the onsite interview, I had a final interview with the tech head at the London site.
Pointer basics.
Bracket matching: /* "(aa)bb" -> true "[ aa [ bbb ]" -> false "aa } bbb { c" -> false "aa [ bb () ]" -> true "[aa { ] cc } ]" -> false */
Design and implement a web browser that, at any given instance, can efficiently tell the top 5 visited websites based on the number of visits. This question is a variant of the LRU cache and can be optimally implemented using a map and a doubly linked list.
Run-length encoding of a string. See below for an example: aaaaabbbccd → a5b3c2d1 xyz → x1y1z1
Merge overlapping intervals. See below for an example: [1,3] [2,5] [8,9] → [1,5] [8,9] [1,3] [2,6] [4,99] → [1,99]
Given a binary tree, determine if it is a valid BST.
Implement a generic hashmap in C++. Ensure the use of templates, good hash functions, and be prepared to discuss design choices for handling collisions.
There will be behavioral questions. Make sure to prepare for the question: "Why Bloomberg?"
The following metrics were computed from 124 interview experiences for the Bloomberg LP Software Engineer role in London, United Kingdom.
Bloomberg LP's interview process for their Software Engineer 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 interview process in London, United Kingdom.