Coderpad with 2 questions:
After that, I got to the main interview, which was in person:
4 rounds:
Algorithms: Asked 2 problems, all pseudocode:
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.
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:
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.
Described in detail in the interview process section.
The following metrics were computed from 2 interview experiences for the Goldman Sachs Senior Java Developer role in London, United Kingdom.
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.
Candidates reported having very good feelings for Goldman Sachs's Senior Java Developer interview process in London, United Kingdom.