Goldman Sachs OA 面经分享|题型拆解 + 实战经验 + Programhelp 远程辅助实录

1,342Views

每年一到暑期實習招聘季,Goldman Sachs的 Summer Analyst Program 都是無數 CS / DS / Quant 專業學生的 dream offer。
不只是因為大廠光環,更多是因為——項目 exposure 大, 轉正率高, 校招外跳好跳。也正因如此,GS 的 OA 競爭超激烈,很多人提前幾個月就開始刷題、找人 mock。
下面是我們 Programhelp 協助的一位同學完整 OA 過程拆解,含題型回憶、實戰技巧和我們遠程無痕聯機協助細節,希望能幫你高效準備!

Goldman Sachs OA 面经分享|题型拆解 + 实战经验 + Programhelp 远程辅助实录

OA 流程 & 題型總覽

專案 說明
平臺 HackerRank
總時長 90 分鐘
題目數 2~3 道編程題 + 2 道數學/邏輯題
語言限制 Java / Python / C++ / JS 等常見語言均可
題型分佈 數組 + 字符串處理、圖論變形、邏輯推理題

Problem 1: Find the Damaged Toy

Problem

At a birthday party, N kids (numbered from 1 to N) are sitting in a circle. The host has T toys and starts distributing them one at a time, beginning with the kid with ID D, and continuing clockwise. After reaching kid N, the count wraps around to kid 1.

You are to find out which kid will get the last (damaged) toy.

Input

  • N: Total number of kids
  • T: Number of toys
  • D: Starting ID of the kid

Output

The ID of the kid who receives the last toy (damaged one).

Example

Input: N = 5, T = 2, D = 1
Output: 2

Explanation

  • First toy → Kid 1
  • Second toy → Kid 2 (this is the damaged one)

Problem 2: Encode or Decode Message

Problem

You are given a message (string) and a key (positive integer). Your task is to either encode or decode the message based on a given operation type:

  • 1 = Encode: For each character, repeat it key[i] times (cyclically).
  • 2 = Decode: Compress repeated characters based on the digits of the key (cyclically). If the pattern doesn’t match the key, return -1.

Input

  • Operation type: 1 (Encode) or 2 (Decode)
  • Message (string)
  • Key (positive integer)

Output

Transformed string, or -1 for invalid decoding.

Examples

Input: operation = 1, message = "Open", key = 123
Output: "Oppeen"

Input: operation = 2, message = "Oppeen", key = 123
Output: "Open"

Notes

  • If the key is shorter than the message, repeat the key cyclically.
  • For decoding, if the actual repeats don’t match the expected key digits, return -1.

Problem 3: Minimum Moves in a Maze

Problem

There is an n × m maze (grid), where:

  • 0 = Empty cell
  • 1 = Obstacle

You are at (0, 0) and want to reach (n − 1, m − 1). You can move in four directions (up, down, left, right), and in one move, jump 1 to k steps in that direction only if all the jumped-over cells are 0.

Function Signature

def getMinimumMoves(maze: List[List[int]], k: int) -> int

Output

Return the minimum number of moves needed to reach the end, or -1 if impossible.

Examples

Input: maze = [[0,1],[1,0]], k = 2
Output: 2

Input: maze = [[0,0,0],[1,0,0],[1,0,0]], k = 5
Output: 2

Input: maze = [[0,1,0],[1,0,0],[1,0,0]], k = 5
Output: -1

Constraints

  • 1 ≤ n, m ≤ 100
  • 1 ≤ k ≤ 100
  • Maze contains only 0 or 1

總結建議 + 白嫖技巧

準備建議

  • 刷題方向明確:GS 偏好考細節處理能力,建議重點練 LeetCode 高頻中等題 + 數學/邏輯題;
  • 口頭表達不能少:OA 雖然不是 VO,但 HackerRank 有錄屏 + 麥克風監控,建議適當訓練思路表達;
  • 英文審題能力要練:部分題幹文字不簡潔,建議考前多刷“語義不清”的 LeetCode 英文原題。

Programhelp 實力護航|從 OA 到終面,我們全程陪跑

Goldman Sachs 的 OA 不僅考察你對算法和邏輯的理解,更強調時間管理和多題並行思維的能力。很多同學明明刷了很多題,到了正式考試還是緊張到腦袋一片空白。而這,正是 Programhelp 能幫上大忙的地方。

我們不只是單純講題——而是在你面對高壓 OA 或線上面試時,用無痕遠程協助 + 實時語音提醒,真正解決“做不出來”或“沒時間做完”的難題。
多平台熟練操作,包括 HackerRank、Codility、CodeSignal、Karat 等

我們已經幫助超過 3000 位同學順利通關 OA,斬獲包括 Goldman Sachs、JP Morgan、Citadel、Two Sigma 在內的 offer。如果你也在準備投行或科技公司的筆試,歡迎私信我們了解詳細服務方案。

author avatar
Alex Ma Staff Software Engineer
目前就職於Google,10餘年開發經驗,目前擔任Senior Solution Architect職位,北大計算機本碩,擅長各種算法、Java、C++等編程語言。在學校期間多次參加ACM、天池大數據等多項比賽,擁有多項頂級paper、專利等。
END