I would like to share my interview experiences with Palantir and Bloomberg for a Software Engineering Internship position. I was applying for the London office. I started the application process around September-October and finished at the beginning of December.
Bloomberg:
I applied for the Software Engineering Internship position at the London office. I was impressed with how quickly they responded to my application. I had previously visited the Bloomberg London office for the Codecon finals, which may have helped with the quick response. My phone interview consisted of two classic coding problems. I was confident that I did well, as I explained my thought process clearly and followed good coding practices. I was asked a 'trick' question about handling cases with no answer, and I was expected to say that I would raise an exception. The next day, I was invited to an on-site interview at the London office.
I informed Bloomberg that I also had an on-site interview with Palantir during the same time period and asked if we could combine the interviews to save me a trip. They agreed, and I had my Bloomberg interview right after my Palantir interview. My Bloomberg on-site interview was a standard coding interview, but it was longer than usual (1.5 hours). I was given an easy problem and asked to make modifications to precompute some data. The interview then took an unexpected turn. My interviewer asked me questions about locks and multithreading, identifying critical parts of the code, and locking mechanisms. I was also asked about computer architecture. The second question was more algorithmic, and I was asked to code an interface that would respond to queries efficiently. I proposed using a range tree (segment tree) with lazy propagation to improve efficiency. My interviewers were very nice and we had a friendly chat about the interview process after the interview.
I received an email that I had done well and was moving on to the next and final step. However, I had to reschedule the interview due to a conflict with my Palantir interview. Bloomberg was initially upset but eventually understood the situation and gave me a new flight and interview time. The final interview consisted of two rounds. The first round was a behavioral interview, which was very pleasant and felt more like a friendly chat. The second round was a systems design interview, which was a bit more challenging as I had no experience in that domain. I tried my best to approach the problem and was honest about my lack of experience. I received an offer and accepted after some negotiations. I will be starting virtually in the summer.
Palantir:
I applied for the Software Engineering Internship position at the London office after a friend recommended it. I completed a hackerrank online assessment, which was time-limited and consisted of four parts that built on each other. I passed the assessment and was contacted for a phone call to discuss the process. The phone call was an HR interview, and the recruiter was very nice. We discussed my resume and my reasons for wanting to join Palantir. I was honest about my lack of knowledge about the company and was given a technical interview a few days later.
The technical interview consisted of one easy problem. I was confident that I did well, as I was able to complete the problem smoothly and even asked the interviewer some questions. I received an email from the recruiter to schedule a phone call to discuss the interview. We had another call to discuss the on-site interview, and I was transparent about my interview with Bloomberg. I was asked about my preferences if I received offers from both companies, and I was honest about my considerations, including compensation. The Palantir on-site interview was very intense and consisted of three back-to-back, one-hour interviews. The first interview was a standard coding interview with a challenging competitive programming-style question. I was able to code the easier solution and discuss how I would use advanced data structures. The second interview was unusual. I was given a codebase in a language I was unfamiliar with (Java) and asked to find and fix bugs. I was able to find and fix some bugs, but there were more, including data inconsistencies. The final interview was a systems design interview, where I was asked to discuss possible solutions to a specific problem in the office. I was honest about my lack of experience in this area. The interview process was very intense, and I received the news that I would not be receiving an offer after a few days.
Overall, I recommend practicing standard algorithmic principles, including dynamic programming, graph theory, and common data structures. Exposure to competitive programming is a plus. Be aware of coding practices and be careful when writing your code. Be yourself and be humane, as interviewers are people too. Good luck!