今天来聊聊我远程参加高盛(Goldman Sachs)技术面试的真实经历,题目不是LeetCode抄一题那么简单,而是有点像“你会做?那你会写测试吗?你知道怎么优化边界吗?”那种连环combo题。别急,我这就把整个过程掰开揉碎说清楚,帮你们少走弯路。
✉️ 这场面试怎么来的?
没内推,就是我在高盛官网投的实习岗位。过了简历关没多久,HR就发了远程面试邀请。不是CodeSignal,也不是HackerRank那种,直接是一个Python脚本文件,里面有代码框架和题目说明,自己下载、在本地跑,完成后上传。给你自由也给你压力,一看就知道是在考察真实动手能力和代码风格。
🧠 第一题:你能判断10的幂吗?
原题:

面试官要求:
- 实现
isPowerOf10(x)
- 给出你自己的测试用例,写在
doTestsPass()
里 - 可以自己玩REPL,debug自由发挥
我当时脑子里蹦出几种思路:
- 暴力法:一个个乘10,看等不等于x
- 数学法:log10(x) 是不是整数
- 位运算?(对不起,这题不是2的幂,用不上)
我的实现:

我的测试:

运行一下,完美通过。这题虽然简单,但高盛要你自己写测试 + 读懂REPL代码结构,意图明显:能不能独立写、能不能写得干净、能不能对代码质量负责。
❄️ 第二题:下雪了,你能算出雪有多少吗?
这个题我真的服了,考的是“积雪问题”,是那种LeetCode里叫“Trapping Rain Water”的经典题,但是人家高盛不光要你写,还要你解释、写测试、思考边界,考点超全
题目原文(节选):
Given an array of non-negative integers representing elevations of hills,
determine how many units of snow could be captured between the hills.
Example: [0, 1, 3, 0, 1, 2, 0, 4, 2, 0, 3, 0]
Solution: 13 units of snow
我的解法核心思路:
- 从左往右扫,构建每个位置左边的最大高度数组
left_max
- 从右往左扫,构建每个位置右边的最大高度数组
right_max
- 遍历原数组,每个点的积雪量 =
min(left_max[i], right_max[i]) - height[i]
,如果为负就记0 - 全部加起来就是总积雪量
我的代码:

我的测试:


🔍 总结一下,这场面试到底难不难?
**看上去不难,但容易栽。**为什么?
- 题不难,但细节多:自己加测试、考虑边界,不能马虎。
- 代码风格要干净:变量名清晰、结构合理、逻辑分明很重要。
- 能不能写出健壮的代码:空输入?负数?边界?不能只考虑理想情况。
- 你有没有主动性:有没有加测试?有没有注释?这些都反映了你做事是否“像个工程师”。
🎁 写给准备高盛技术岗的你:
- 刷题不是万能的,写干净代码才是面试的敲门砖。
- 提前练习写测试用例,很多人不会写,其实这才是面试里最容易出彩的加分项。
- 高盛面试更像“工程思维检查”,不是单纯的算法battle。
- 面试时千万别只交个能跑的代码,留注释、解释思路、做好测试,才是完成度100%。
经过csoahelp的面试辅助,候选人获取了良好的面试表现。如果您需要面试辅助或面试代面服务,帮助您进入梦想中的大厂,请随时联系我。
If you need more interview support or interview proxy practice, feel free to contact us. We offer comprehensive interview support services to help you successfully land a job at your dream company.
