Goldman Sachs Software Engineer Interview Guide 2026

Goldman Sachs Software Engineer preparation: six practice questions, solution approaches, follow-ups, diagrams and a study plan.

Topics: Software Engineer, Interview Preparation, ordered data and accountable decisions

Author: PracHub

Published: 9/10/2026

Goldman Sachs logo
Goldman Sachs · Software EngineerUpdated Sep 10, 2026 · Reviewed by PracHub

Goldman Sachs Software Engineer Interview Guide 2026

Goldman Sachs Software Engineer preparation: six practice questions, solution approaches, follow-ups, diagrams and a study plan.

3 rounds · typical prep 2–4 weeks

  1. 1Online Assessment2 questions
  2. 2Technical Screen7 questions
  3. 3Onsite10 questions

On this page0% read
01 · Overview

Interviewing at Goldman Sachs

Prepare for a Goldman Sachs Software Engineer conversation by connecting technical fundamentals to ordered data and accountable decisions. This guide gives you six focused practice questions, an illustrated design exercise and a study plan with concrete outputs. Use it to build answers you can explain and test, then adjust the emphasis to the actual team and assessment. Goldman Sachs's official company resource provides background on financial services. That context helps you ask better questions about users and product constraints. It does not establish a required interview language, a fixed sequence of rounds or a promised set of questions.

Practice bank
19+ questions
Rounds
3
Typical prep
2–4 weeks
Interview reports
1
02 · Difficulty

How hard is the Goldman Sachs Software Engineer interview?

From 19 labelled questions
  • Easy32%6 questions
  • Medium68%13 questions
  • Hard0%0 questions

Most questions land in the middle: hard enough to prepare for, rarely brutal.

Read 1 Goldman Sachs interview report from candidates who went through this loop.

03 · Topic breakdown

What Goldman Sachs actually tests for

Share of 19 Software Engineer questions
  1. Coding & Algorithms68% · 13
  2. Behavioral & Leadership11% · 2
  3. Software Engineering Fundamentals11% · 2
  4. System Design11% · 2
04 · Question bank

The questions most likely to come up

19+ in the Goldman Sachs bank · sorted by popularity
  1. Design a Ten-Minute In-Memory Notification Deduplication EngineDesign the in-memory component of a high-throughput notification service that detects repeated notification IDs. The preserved requirements say that…System DesignOnsiteMedium
  2. Count segments and optimize 3-server assignmentThere are two independent programming tasks.Coding & AlgorithmsOnline AssessmentMedium
  3. Describe a proud project and handling credit conflictAnswer the following behavioral questions:Behavioral & LeadershipTechnical ScreenMedium
  4. Constant-Time Put, Delete and Uniform Random Selection Data StructureDesign a data structure that supports put, delete, and getRandom, each in O(1) time.Software Engineering FundamentalsOnsiteEasy
  5. Design a Pastebin Service: Requirements, Entities, APIs and End-to-End ArchitectureDesign a pastebin-style service: a user submits a block of text and receives a short link that others can open to read that text. Start from a…System DesignOnsiteEasy
  6. Unlock every Goldman Sachs questionModel solutions on all of them, plus the coding and SQL consoles.See Premium
  7. Solve string and hashmap interview tasksGiven a string s, return the first character that appears exactly once in the string.Coding & AlgorithmsTechnical ScreenMedium
  8. How would you handle conflict and data pressure?You are newly assigned as the team lead by your manager. One collaborator openly disagrees with the decision and challenges your leadership.Behavioral & LeadershipTechnical ScreenMedium
  9. Cache Trade-offs and a Constant-Time Least-Recently-Used CacheThis round opened with a short conversation about the trade-offs of caching and later asked you to design a least-recently-used (LRU) cache. Work…Software Engineering FundamentalsOnsiteEasy
  10. Implement an Integer Hash MapDesign a data structure MyHashMap that stores integer keys and integer values without using any built-in hash table library.Coding & AlgorithmsOnline AssessmentCodingMedium
  11. Solve string and hashmap coding tasksCoding & AlgorithmsTechnical ScreenCodingPremiumMedium
  12. Collect the Most Rocks with Upward and Rightward MovesA rectangular grid contains a nonnegative number of rocks in each cell. For this practice version, begin at the bottom-left cell and finish at the…Coding & AlgorithmsOnsiteCodingMedium
  13. Find first non-repeating character indexYou are given two separate coding tasks.Coding & AlgorithmsTechnical ScreenCodingMedium
Practice 19+ Goldman Sachs questions

What to expect

Prepare for a Goldman Sachs Software Engineer conversation by connecting technical fundamentals to ordered data and accountable decisions. This guide gives you six focused practice questions, an illustrated design exercise and a study plan with concrete outputs. Use it to build answers you can explain and test, then adjust the emphasis to the actual team and assessment.

Goldman Sachs's official company resource provides background on financial services. That context helps you ask better questions about users and product constraints. It does not establish a required interview language, a fixed sequence of rounds or a promised set of questions.

Explore six guide-only practice questions →

Goldman Sachs Software Engineer preparation map: Top scores per student, Trapping rainwater, Group anagrams, Build a rate limiter, Data consistency across services, Design an LRU cache

Open the full-size diagram

Build a role brief before you study

A useful starting question for this domain is how a team would detect and recover from a delayed market-data update replacing a newer value in a view. Write down who is affected, what they should be able to trust and which component owns the accepted state. This is an original practice scenario, not a description of Goldman Sachs's internal architecture.

Read the vacancy with three columns in your notes: a stated requirement, an example from your work that demonstrates it, and an uncertainty to ask about. Separate an explicit language or framework requirement from a tool you happen to prefer. If the role is mainly frontend, focus on state, accessibility and browser behavior; if it is infrastructure-oriented, bring deeper evidence about concurrency, failure recovery and operation under load.

Ask the recruiter which assessments apply, whether work is live or take-home, what tools are permitted and how seniority changes the expected depth. Make those answers change your preparation. A timed coding discussion calls for a different rehearsal from a project review or a collaborative debugging session.

Choose your first practice session

Begin with top scores per student, trapping rainwater, group anagrams. Read each prompt without its answer, state the contract aloud and attempt a solution before checking the approach. The follow-ups are designed to expose assumptions, so write the changed requirement before changing your implementation.

For a coding task, retain one small example with expected output. For a design task, draw the state owner and one failure boundary. For a project question, identify your own decision and the evidence behind it. These artifacts make gaps visible much faster than rereading an explanation you already recognize.

Guide-only practice question bank

These six practice topics are selected from the published third-party guide. PracHub supplies the clarified problem statements, solution approaches and follow-ups. Treat them as preparation material; their inclusion does not independently verify that this employer asked them.

01 · CodingTop scores per student → 02 · CodingTrapping rainwater → 03 · CodingGroup anagrams → 04 · DesignBuild a rate limiter → 05 · DesignData consistency across services → 06 · CodingDesign an LRU cache →

Top scores per student

Practice prompt: Given student IDs and scores, compute each student’s average of their top five scores. Define a policy for students with fewer than five scores.

Solution approach:

  • Maintain a size-five min-heap for each student, replacing its minimum only when a better score arrives. This retains the values needed for each average without sorting every full group.
  • Decide whether duplicates represent distinct exams and whether the output uses integer or floating-point averages. With fixed five, scanning is O(n) and storage is O(number of students).
  • Test ties, negative values if permitted, uneven group sizes and malformed records. Never divide by five for a short group unless the specification explicitly requires missing scores to count as zero.

Follow-up: How would your approach change when the number of retained scores is a caller-supplied K?

Python data structures →

Back to all six questions ↑

Trapping rainwater

Practice prompt: Given non-negative bar heights of unit width, compute the water trapped between bars.

Solution approach:

  • At each position, the water level is bounded by the smaller maximum on either side. Prefix and suffix maxima produce an O(n)-time solution with O(n) extra storage.
  • A two-pointer version retains only running maxima. Process the side with the smaller running maximum, whose opposite boundary is already sufficient; explain the invariant before implementation.
  • For [3, 0, 2, 0, 4], the total is 7. Test monotonic arrays, equal heights, short inputs and multiple valleys. The optimized version uses O(1) extra space.

Follow-up: How would variable bar widths affect the calculation?

Python data structures →

Back to all six questions ↑

Group anagrams

Practice prompt: Group strings containing the same character multiset, with defined case and normalization rules.

Solution approach:

  • Create a canonical key per word using sorted symbols or a frequency tuple for a constrained alphabet. Store the words under that key.
  • Sorting a word of length L costs O(L log L); a fixed-alphabet count key can be built in O(L). Total space includes both keys and output.
  • Test repeated words, empty strings, mixed case and non-ASCII input. Preserve original spellings in the output even if the comparison key is normalized.

Follow-up: How would you return only the first word from each anagram group while preserving input order?

Python data structures →

Back to all six questions ↑

Build a rate limiter

Practice prompt: Protect an API with a stated request-rate policy and support concurrent callers.

Solution approach:

  • Choose a policy before a data structure: fixed window, sliding window or token bucket each allows different bursts. Define the tenant key, clock and what counts as one request.
  • Update the decision state atomically. A distributed deployment needs a shared authority or an explicit approximation; independent per-node counters do not enforce a strict global limit.
  • Test boundary timestamps, bursts, concurrent requests and store failure. Specify rejection status, retry guidance and whether the limiter fails open or closed for this workload.

Follow-up: How would you combine a per-tenant limit with a global downstream capacity limit?

MDN HTTP overview →

Back to all six questions ↑

Data consistency across services

Practice prompt: Keep a business operation understandable when one service commits and another service or notification fails.

Solution approach:

  • Choose one durable owner for the accepted operation and state the invariant it guarantees. Independent service calls do not automatically form one atomic transaction.
  • Use a transactional outbox when a database change must produce a recoverable event. Consumers still need idempotency because delivery may repeat. Multi-step workflows may need explicit compensating actions.
  • Trace a lost response, duplicate delivery and an unavailable downstream service. Give users and operators a stable operation ID and visible pending or failed states.

Follow-up: Which actions can be compensated, and which require manual resolution?

AWS transactional outbox pattern →

Back to all six questions ↑

Design an LRU cache

Practice prompt: Implement a fixed-capacity cache with get and put, evicting the least recently used entry when full.

Solution approach:

  • Combine a hash map with a doubly linked recency list. A hit moves its node to the most-recent end; insertion evicts the opposite end when capacity is exceeded.
  • Keep list and map updates consistent. Handle replacing an existing key, capacity one and the policy for capacity zero. Operations take expected O(1) time with O(capacity) space.
  • Trace capacity two: put A, put B, get A, put C. B must be evicted. Test repeated updates to the same key and a miss that must not create a node.

Follow-up: How would you make a get-and-recency-update atomic under concurrent access?

Python data structures →

Back to all six questions ↑

Design walkthrough: ordered data and accountable decisions

Use this exercise to connect the selected topics to a plausible application in financial services. The diagram is a preparation model with deliberately simplified boundaries. It is not a claim about the company's deployed systems.

Scenario: A delayed market-data update replacing a newer value in a view. Explain how the system discovers the discrepancy, what remains authoritative and what a user can do while recovery is in progress.

Goldman Sachs practice workflow: Validate instrument update; Assign ordering contract; Apply latest valid state; Publish bounded-latency view; Detect stale or missing feeds

Open the full-size diagram

Establish the contract

Start at validate instrument update. Define the input identity, the caller's permissions and the result that counts as acceptance. Use one normal request and one invalid request to test whether your description is precise. If the operation can be repeated, decide whether a retry means another attempt at the same work or an intentionally new operation.

Then explain assign ordering contract. Identify what is checked before state changes and what may still fail afterward. Avoid a success response that implies more than the system has actually completed. An accepted request, a durable record, a delivered message and a refreshed screen can be four different milestones.

Put ownership where the invariant lives

At apply latest valid state, name the record or state transition that must remain correct when two callers race. Choose a transaction, conditional update or single owner for that invariant. Describe the losing caller's result as carefully as the winning caller's result. A lock or queue is useful only if it protects the right boundary.

Keep derived displays and reports separate from authoritative state. Write down which version a displayed result represents and how that version is invalidated or refreshed. If a view may lag, define how the user recognizes that it is pending or stale. Do not hide an uncertain outcome behind a generic error message that encourages uncontrolled retries.

Make the failure observable

Now exercise publish bounded-latency view with a slow or unavailable dependency. Trace the identifier through the request, durable record, asynchronous work and final view. For the scenario above, show one concrete discrepancy between expected and observed state and the evidence that distinguishes an incomplete operation from a completed operation whose response was lost.

Finish with detect stale or missing feeds. A recovery procedure should explain who can perform it, how repeated execution is made safe and what evidence proves completion. Bound retries and surface work that cannot progress automatically. Keep the original failure visible long enough to investigate rather than deleting the evidence as part of a replay.

Test the design before adding more components

Run four variations: a duplicate request, an out-of-order observation, a dependency timeout and an unauthorized caller. For each, record the expected durable state and the user-visible result. If a variation does not apply to your chosen operation, explain why instead of adding a mechanism by habit.

Only then discuss scaling. Identify the first likely bottleneck using the work performed per request, the size of retained state and the slowest dependency. More replicas can amplify a shared database or queue bottleneck. Explain what you would measure before choosing sharding, caching or another independently deployed service.

Explain your reasoning in the interview

Make the first answer small and correct

Begin with the contract and a simple approach. Explain its cost and limitations, then improve the part that conflicts with a stated constraint. If you propose an optimization, preserve a test that demonstrates the original behavior. In a design discussion, a small system with a clear failure contract is easier to evaluate than a large diagram with unnamed responsibilities.

Handle a changed requirement explicitly

When the interviewer adds concurrency, a larger dataset or a failing dependency, pause and name the assumption that changed. Describe what remains correct and which boundary needs revision. Do not restart the entire answer unless the new requirement invalidates the original model. This makes adaptation visible and gives the interviewer a chance to correct your interpretation early.

Bring a project story with evidence

Prepare an example relevant to ordered data and accountable decisions. Explain the constraint, your personal contribution, an alternative you considered and the outcome you verified. If you lack professional experience in this domain, use a course or personal project honestly and describe what extra controls production work would need. Never invent traffic numbers, savings or responsibility to make the story sound more senior.

A two-week preparation plan

This is a suggested schedule, not Goldman Sachs's interview timeline. Move effort toward the confirmed assessment and the topics where your first attempt exposed a gap.

SessionConcrete output
Days 1–2A role brief and an attempted answer to top scores per student.
Days 3–4A tested answer to trapping rainwater, including one failure or boundary case.
Days 5–6Rehearse group anagrams and explain a changed requirement.
Days 7–8Complete build a rate limiter and compare your reasoning with its checklist.
Days 9–10Work through data consistency across services and design an lru cache.
Days 11–12Annotate the design diagram with ownership, failure and recovery.
Days 13–14Run a mock, repair the weakest answer and prepare questions for the team.

After each session, record what you could not explain without looking at the answer. Turn that uncertainty into a small test, diagram or documented example. Repeating a question is useful when the second attempt demonstrates a specific improvement, such as a clearer invariant or a previously missed edge case.

Questions to ask the team

Ask which user workflow needs the most attention, how the team knows a change is working and where engineers spend time diagnosing failures. For Goldman Sachs, use the discussion of ordered data and accountable decisions to make the questions concrete: which system owns the truth, which views may lag and who handles discrepancies between them?

Also ask how code reviews, production support and onboarding work for this specific role. The answers help you assess the work and prepare relevant examples without assuming that every team at one company has the same stack or responsibilities.

Frequently asked questions

Are these confirmed Goldman Sachs interview questions?

The six topics are selected from a third-party company guide; the problem clarifications, solution approaches, diagrams and follow-ups are PracHub preparation material. The third-party listing is not independent confirmation that this team asks these questions. Use current recruiter instructions for the actual format.

Do I need to use the language shown in a reference?

Use the language required by the assessment, or your strongest suitable language when there is a choice. Reference documentation helps verify behavior; it does not prove the employer requires that language. Be ready to explain your data structures and test cases without relying on memorized syntax.

What if I have only a weekend?

Complete the first two selected questions, trace the design failure above and prepare one honest project story. Prefer a few answers you can defend over a wide list of topics you cannot explain. For more exercises, use the PracHub Software Engineer question bank.

Sources and further reading

Software EngineerInterview Preparationordered data and accountable decisions