Tackling Bloomberg's Software Engineer Interview: Flattening a Doubly Linked List Challenge

Bloomberg | Software Engineer | Interview Experience

Interview Date: Not specified
Result: Not specified
Difficulty: Not specified

Interview Process

The interview was conducted in person at the university and lasted for about one hour. The interviewer was friendly and spent the first 10 minutes discussing the candidate’s resume and previous experiences. He asked why the candidate was interested in Bloomberg and what they knew about the company. The remaining time focused on technical questions, utilizing a whiteboard and paper for explanations.

Technical Questions

  1. Flatten a Multilevel Doubly Linked List (DFS, Linked List)
    The candidate was asked to solve LeetCode problem 430 but without using the prev pointer, only next and child pointers. They used a recursive DFS approach with two parameters: prev and current.

  2. Shuffle a Deck of Cards
    The candidate was asked how to implement a shuffle function for a given deck of cards. They proposed starting with a pointer at the first index of the array and using random.choice() on all indices from the pointer onward, then shifting the pointer and repeating until the end of the list.

Tips & Insights

The candidate noted the importance of clearly explaining the algorithm during the interview, as the interviewer had difficulty understanding the initial explanation. They also appreciated the opportunity to ask questions at the end of the interview.