Goldman Sachs | April 25 | Associate Software Engineer Role

goldman sachs logo
goldman sachs
· Associate Software Engineer
March 26, 2025 · 63 reads

Summary

I recently interviewed for the Associate Software Engineer role at Goldman Sachs. The interview process spanned multiple technical rounds covering data structures, system design, core Java concepts, and advanced topics like multithreading and database internals.

Full Experience

I recently interviewed for the Associate Software Engineer role at Goldman Sachs. The interview process consisted of four distinct rounds.

In Round 1, I was asked questions similar to the 'Number of Islands' problem, along with some functional testing questions.

Round 2 focused on core Java concepts, particularly multithreading, the Spring framework, and other advanced Java topics.

Round 3 involved a Low-Level Design (LLD) problem to design an 'Employee Access Card' system, followed by several questions based on my resume.

Round 4 was a deep dive into various technical topics, ranging from Java internals to database concepts and distributed systems. This round covered a wide array of topics as detailed in the questions below.

Interview Questions (26)

1.

Number of Islands

Data Structures & Algorithms·Medium

Discussed questions similar to the LeetCode problem 'Number of Islands'.

2.

Employee Access Card Low-Level Design

System Design·Hard

Design a Low-Level Design (LLD) for an Employee Access Card system.

3.

G1 and G3 Garbage Collectors

Other

Discussed concepts related to G1 and G3 Garbage Collectors.

4.

Attributes of G1 Garbage Collector

Other

What are the key attributes or characteristics of the G1 Garbage Collector?

5.

Code Caching and JIT Compiler

Other

Explain code caching and the Just-In-Time (JIT) compiler.

6.

Disadvantages of Microservices Architecture

System Design

What are the disadvantages or challenges of using a Microservices architecture?

7.

Internal Working of Database Indexing

System Design

Explain how database indexing works internally.

8.

Use Cases for NoSQL vs. SQL Databases

System Design

In which scenarios would you choose to use a NoSQL database over a SQL database, and vice versa?

9.

Impact of Multiple Joins on Query Performance

System Design

How do multiple joins in a SQL query impact performance?

10.

How Indexing Works During Query Execution

System Design

Explain how an index is utilized when a database query is executed.

11.

Indexing for Constant Query Time

System Design

How does indexing help in achieving constant query time?

12.

Document Storage in MongoDB vs. RDBMS Tables

System Design

Why are documents typically kept in MongoDB instead of multiple tables, unlike in a Relational Database Management System (RDBMS)?

13.

Reasons for Database Normalization

System Design

Why do we normalize databases?

14.

Disadvantages of Database Normalization

System Design

What are the disadvantages of database normalization?

15.

Database Level Scaling Strategies

System Design

How can you scale a database at the database level?

16.

Database Scaling Techniques: Clustering, Replication, Sharding

System Design

Discuss database scaling techniques such as clustering, master-slave replication, master-master replication, and sharding.

17.

Handling Foreign Key Relationships with Sharding

System Design

How are relationships between two tables having foreign keys handled in the context of database sharding?

18.

Impact of Indexing on Write Queries

System Design

How does indexing impact the performance of write queries?

19.

Introduction to Kafka

System Design

What is Apache Kafka?

20.

Kafka vs. Asynchronous Threads

System Design

Why would one choose Kafka over asynchronous threads for certain use cases?

21.

Java CompletableFuture

Other

Explain Java's CompletableFuture.

22.

What is a Semaphore

Other

Explain what a Semaphore is in concurrent programming.

23.

JWT Authentication and Session Management

System Design

Explain JWT Authentication. How is JWT persisted? How do you handle logout scenarios if someone copies and reuses a token for API calls?

24.

JWT Token Validation Process

System Design

Who is responsible for validating a JWT token, and what is the validation process?

25.

Client Token Authentication for 1 Day

System Design

Discuss how to implement client token authentication that lasts for one day.

26.

Thread.wait(), Thread.notify(), Thread.notifyAll()

Other

Explain the usage and differences between Thread.wait(), Thread.notify(), and Thread.notifyAll() methods in Java.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!