Goldman Sachs Data Engineer Interview Guide

The Goldman Sachs data engineer loop, round by round: what each stage tests, example questions with the guidance interviewers actually score, the mistakes that sink strong candidates, and how to prepare.

Last updated: Proudly published by: Jeff Wahl

What the Goldman Sachs loop tests: domains and difficulty

Our prediction of the question mix by domain and difficulty for this company's data engineer loop, from live listings and interview reports.

The technical bar

Python carries the most reported interview weight here, and the bar is applied with financial-domain assumptions baked in. A strong Python answer at Goldman typically involves data transformation under constraints: reconciling two sources that disagree, handling NaN or late-arriving records in a way that's auditable, or writing something another engineer can extend without calling you. The interviewers have seen candidates who write fast code that silently drops rows. That is a fail. SQL shows up in questions around aggregation and window functions applied to ledger-style data: partitioned by account, ordered by timestamp, with edge cases that matter in settlement. If you've worked on pipelines where correctness was formally tested rather than eyeballed, say that explicitly. Whiteboard-style problems here reward clear reasoning about edge cases over optimal solutions delivered fast.

By domain
SQL
38%
5
Python
62%
8
By difficulty
Easy
54%
7
Medium
23%
3
Hard
23%
3

The domain and difficulty mix we predict for a Goldman Sachs data engineer loop, across 13 problems. It updates as more Goldman Sachs data lands.

Updated 13 predicted Goldman Sachs problems

4 real Goldman Sachs interview questions

Reported by candidates from real loops, tagged by domain, round, level, and year. Expand for what the round is scoring.

SQLL5
Write a PostgreSQL query to provide a summary of the total invested amount in each asset type by each client per month; schema: transactions(transaction_id INTEGER, client_id INTEGER, transaction_date DATE, asset_id INTEGER, asset_type VARCHAR, amount_invested DECIMAL)
Onsite · sql
+
SQLL5
Write a SQL query that calculates the running total of sales for each product ordered by the month of the year; use window functions
Onsite · sql
+
PythonL4 · 2025
Given two sorted lists of integers, return a single merged sorted list without using built-in sort
Phone screen · screen python
+

Write a function merge_sorted(a, b) that takes two already-sorted lists of integers and returns a single sorted list containing all elements from both. You may not call sort() or sorted(). Both input lists are sorted in ascending order. Examples: merge_sorted([1, 3, 5], [2, 4, 6]) -> [1, 2, 3, 4, 5, 6] merge_sorted([1, 1, 1], [1, 1]) -> [1, 1, 1, 1, 1] merge_sorted([], [3, 4]) -> [3, 4] merge_sorted([5], []) -> [5] merge_sorted([], []) -> [] Edge cases: one or both lists empty, all elements in one list smaller than all in the other, duplicate values across lists. This is a common warm-up…

PythonL4 · 2020
Goldman Sachs Coderpad Interview 1st round (Data Engineer) (+2 year Exp.) JULY 2020
Online assessment
+

The coderpad round had 2 questions to solve live with the interviewer on call. Total time given was 1 hour. Ques 1> \'\'\' Given a 2-D String array of student-marks find the student with the highest average and output his average score. If the average is in decimals, floor it down to the nearest integer. Example 1: ---------- Input: [{"Bob","87"}, {"Mike", "35"},{"Bob", "52"}, {"Jason","35"}, {"Mike", "55"}, {"Jessica", "99"}] Output: 99 Explanation: Since Jessica\'s average is greater than Bob\'s, Mike\'s and Jason\'s average. \'\'\' Ques 2> Given a string like \u2018UUUDULR\u2019, need to…

Recent Goldman Sachs interview reports

Candidate accounts of the loop, each with its date, level, difficulty, and outcome. Scroll the feed.

Where offers are lost

Reports from DE loops at Goldman point to a consistent failure mode: candidates who treat the interviews as a technical showcase and underinvest in the "what happens when it breaks" side of every answer. An otherwise-strong engineer who says "I'd alert and retry" without explaining how the alert fires, who gets notified, and how a partial run is handled reads as someone who hasn't operated a pipeline in a production environment with real SLAs. The inverse behavior that correlates with a hire is narrating failure modes unprompted: what the pipeline does when upstream data is late, what the recovery path looks like, who needs to know. Goldman interviewers also note candidates who struggle to scope a problem when requirements are underspecified. The firm doesn't hand you complete specs; the expectation is that you identify what's missing and make explicit assumptions rather than proceeding on guesses.

1 candidate interview report

real candidate submissions

· midJul 2020
The coderpad round had 2 questions to solve live with the interviewer on call. Total time given was 1 hour. Ques 1> \'\'\' Given a 2-D String array of student-marks find the student with the highest average and output his average score. If the average is in decimals, floor it down to the nearest integer. Example 1: ---------- Input: [{"Bob","87"}, {"Mike", "35"},{"Bob", "52"}, {"Jason","35"}, {"Mike", "55"}, {"Jessica", "99"}] Output: 99 Explanation: Since Jessica\'s average is greater than Bob\'s, Mike\'s and Jason\'s average. \'\'\' Ques 2> Given a string like \u2018UUUDULR\u2019, need to…

Try a Goldman Sachs-style SQL round

Find every user active on 3 or more CONSECUTIVE days. This gaps-and-islands shape shows up in nearly every DE SQL round. Edit the query and run it against the seed data.

/* Users active on 3+ consecutive days. */
/* Hint: date minus a per-user ROW_NUMBER is constant within a streak. */
WITH streaks AS (
SELECT
user_id,
activity_date,
activity_date - CAST(
(ROW_NUMBER() OVER (
PARTITION BY user_id
ORDER BY activity_date
))
AS INT
) AS grp
FROM user_sessions
)
SELECT
user_id
FROM streaks
GROUP BY user_id, grp
HAVING COUNT(*) >= 3

Practice the Goldman Sachs loop

The problems our model expects in this company's interview, grouped by round. Work the shapes that come up, not the ones that read well on a list.

What the loop filters for

Goldman Sachs runs data engineering interviews as a signal-extraction exercise for a specific kind of professional maturity: can you operate in a risk-conscious, compliance-heavy environment where a pipeline error has regulatory or P&L consequences? The firm's data infrastructure supports trading, risk management, and regulatory reporting, and the people who built those systems are your eventual colleagues. That context shapes what interviewers are listening for. They want to see that you reason about correctness before you reason about cleverness, that you treat data contracts as real obligations rather than suggestions, and that you can communicate a technical decision to someone who controls the budget but doesn't write code. Generic engineering instincts get you partway; the filter is whether your instincts already account for the cost of being wrong in a financial context.

Prep allocation

Your first prep hours should go into Python data manipulation fluency and SQL window functions applied to financial data patterns: running balances, position snapshots, settlement windows. These are the domains most likely to appear and the ones where a shaky answer is hardest to recover from mid-loop. After that, build out 2 to 3 stories about production pipeline failures you've owned: what broke, how you diagnosed it, what changed afterward. Goldman's process values operational ownership, and a candidate without that material tends to plateau in the behavioral rounds regardless of technical score. With 2 levels on the published ladder, the L3-to-L4 distinction is worth understanding before the offer stage rather than after. At L4, the expectation shifts toward independent problem ownership and cross-functional communication; interviewers at that level probe for whether you've run a system, not just built one. Skip generic SQL optimization prep; the marginal hour there returns less than the time spent refining your incident narratives.

Goldman Sachs compensation and culture

The numbers, tech stack, and team structure live on the company overview.

Goldman Sachs data engineer roles by level

Level-specific pages: the comp, the bar, and what the loop tests at each seniority.

Compare Goldman Sachs with other data engineering employers

How the role, pay, and loop stack up against peer companies.

02 / Why practice

Prepare at Goldman Sachs interview difficulty

  1. 01

    Reading a solution is not the same as writing one

    Every engineer who has frozen on a query they had read a dozen times knows the gap. The only preparation that closes it is producing the answer yourself, under time, before the interview does it for you

  2. 02

    76% of hiring managers reject on the coding task, not the resume

    From HackerRank's 2024 Developer Skills Report. Candidates who look strong on paper still fail the live screen if they haven't done timed, executable practice

  3. 03

    5 problem shapes cover 80% of data engineer loops

    Dedup, sessionization, top-N-per-group, slowly-changing dimensions, partition tricks. Writing the shapes by hand turns the unfamiliar into pattern recognition

Related Guides