Taro Logo

Senior Java Developer Interview Experience - London, United Kingdom

February 1, 2024
Positive ExperienceNo Offer

Process

Coderpad with 2 questions:

  • Find the second smallest number in a list.
  • Dynamic programming: Traverse a chessboard only by moving up and right to get to the top left. I don't remember the exact ask, but it involved mixing moves and was a dynamic programming problem solvable with recursion.

After that, I got to the main interview, which was in person:

4 rounds:

  1. Algorithms
  2. Data Structures
  3. System Design
  4. Discussion on your CV with the Team Lead

Algorithms: Asked 2 problems, all pseudocode:

  1. The first one I think is a classic, but I didn't know it: You have 100 doors. On the first pass, you open all of them. On the second pass, you close every other door. On the third pass, you toggle every third door (open if closed, closed if open). This continues for 100 passes. After 100 passes, how many doors are open? I didn't know the answer initially and solved it after receiving some help. They gave hints, like suggesting I try it for 10 doors to see if a pattern emerged. After working through a few examples, I was able to solve it.

  2. You have a number, I think it was 10, and you want to reach 1. You can only perform three operations: subtract 1, divide by 2, or divide by 3. When dividing, you can only do so if the number is perfectly divisible by the divisor. Find the minimum number of operations to get to 1. This was another dynamic programming problem, solvable with recursion. I knew how to do this one.

Data Structures: They discussed hashes, linked lists, and array lists. They also asked 2 difficult questions, one of which I figured out with help:

  • How to traverse a linked list and find the second to last element in one traversal? How about the k-th to last element?
  • Second, imagine you want to implement an autocomplete feature for something that could contain numbers and letters. How would you store these objects to provide suggestions based on the prefix the user enters? I didn't know the answer; it's to store them in a tree.

System Design: Design a URL shortening service that can scale to handle 1 million requests per day, and then 1 billion requests per day. For this, I mentioned I would likely store data in a database, shard the data, use a cache, and scale pods in Kubernetes.

Final Round: The boss was tough. He didn't like my CV because I had many jobs listed that used older technologies up until about 4 years ago. Since then, I've been working with microservices, including Kafka, Kubernetes, Spring, and JPA. However, he was more interested in Apache Spark, Snowflake, and a bit of React or Angular, as they work with a variety of technologies.

It's been about 10 days, and I haven't heard back yet.

Questions

Described in detail in the interview process section.

Was this helpful?

Interview Statistics

The following metrics were computed from 2 interview experiences for the Goldman Sachs Senior Java Developer role in London, United Kingdom.

Success Rate

0%
Pass Rate

Goldman Sachs's interview process for their Senior Java Developer roles in London, the United Kingdom is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive50%
Neutral50%
Negative0%

Candidates reported having very good feelings for Goldman Sachs's Senior Java Developer interview process in London, United Kingdom.

Goldman Sachs Work Experiences