Goldman Sachs | April 25 | Associate Software Engineer Role

goldman sachs logo
goldman sachs
Associate Software Engineer
March 26, 202528 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)

Q1
Number of Islands
Data Structures & AlgorithmsMedium

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

Q2
Employee Access Card Low-Level Design
System DesignHard

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

Q3
G1 and G3 Garbage Collectors
Other

Discussed concepts related to G1 and G3 Garbage Collectors.

Q4
Attributes of G1 Garbage Collector
Other

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

Q5
Code Caching and JIT Compiler
Other

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

Q6
Disadvantages of Microservices Architecture
System Design

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

Q7
Internal Working of Database Indexing
System Design

Explain how database indexing works internally.

Q8
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?

Q9
Impact of Multiple Joins on Query Performance
System Design

How do multiple joins in a SQL query impact performance?

Q10
How Indexing Works During Query Execution
System Design

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

Q11
Indexing for Constant Query Time
System Design

How does indexing help in achieving constant query time?

Q12
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)?

Q13
Reasons for Database Normalization
System Design

Why do we normalize databases?

Q14
Disadvantages of Database Normalization
System Design

What are the disadvantages of database normalization?

Q15
Database Level Scaling Strategies
System Design

How can you scale a database at the database level?

Q16
Database Scaling Techniques: Clustering, Replication, Sharding
System Design

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

Q17
Handling Foreign Key Relationships with Sharding
System Design

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

Q18
Impact of Indexing on Write Queries
System Design

How does indexing impact the performance of write queries?

Q19
Introduction to Kafka
System Design

What is Apache Kafka?

Q20
Kafka vs. Asynchronous Threads
System Design

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

Q21
Java CompletableFuture
Other

Explain Java's CompletableFuture.

Q22
What is a Semaphore
Other

Explain what a Semaphore is in concurrent programming.

Q23
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?

Q24
JWT Token Validation Process
System Design

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

Q25
Client Token Authentication for 1 Day
System Design

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

Q26
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!