目录
正在加载目录...

Shopify SDE NG 面经|体验最好的大厂面试之一

上个月刚面完 Shopify SDE NG ,整体体验非常好。面试官都很友善,流程人性化,是我经历过最舒服的大厂面试之一。Shopify 面试通常 3-4 轮,重点不只是写代码,更看重沟通、协作和文化契合。下面把完整流程和每轮重点整理出来。

Shopify SDE NG 面经|体验最好的大厂面试之一

Shopify SDE 整体流程

Online Application → OA → Pair Programming → Life Story (部分岗位会加 System Design)

整个流程推进比较快,我从 OA 完成到拿到最终结果大概 3 周。每轮反馈都比较及时,沟通体验在大厂里算少见的好。

Online Application

Shopify 的简历筛选比很多公司认真,招聘团队会真的读 Cover Letter。我在里面写了自己用 Shopify 搭过独立站的经历,以及对电商基建的兴趣,后面 Life Story 面试官还专门提到了这段。

如果有电商相关项目、用过 Shopify API,或者写过 Ruby,一定要写进简历,这些都是明确加分项。

Shopify Online Assessment

OA 在 CoderPad 上进行,90 分钟,三道题,结构比较特别:一道可以用任意语言,一道必须用 Ruby,还有一道逻辑推理题。

第一题:最长有效括号子串

给一个只包含 () 的字符串,求最长有效括号子串的长度。这是 LeetCode #32 的原题,我用了栈的做法:维护一个存下标的栈,初始放一个 -1 作为哨兵,遇到 ( 就把下标入栈,遇到 ) 就弹栈,如果栈空了就把当前下标推进去当新的基准,否则用当前下标减栈顶就是当前有效长度,全程维护最大值。这道题逻辑不复杂,但边界处理要仔细,做完大概花了 15 分钟。

第二题:购物车阶梯折扣(必须用 Ruby)

这道题要求用 Ruby 实现:给定购物车里的商品列表,每件商品有单价、数量和折扣规则(比如”买3付2″这种买多送一类型的折扣),计算最终总价。

我在 Ruby 上没有特别熟练,但基本语法够用。主要逻辑是对每件商品,先算出需要实际付款的数量(quantity / discount_threshold * discount_pay + quantity % discount_threshold),再乘以单价,最后求和。这题不难,但没接触过 Ruby 的同学建议提前熟悉一下基本语法,不然会卡在写法上。

第三题:逻辑推理

这道题不考编程,是类似 IQ 测试的逻辑题,图形推理或者数列规律之类的。我做的那道是给一组图形序列,找规律填空,花了大概 10 分钟做完。这类题主要靠临场反应,提前刷一两道找感觉就好,不用特别准备。

Pair Programming

45-60 分钟,和 Shopify 工程师在共享编辑器里一起写代码。这是整个面试最核心的环节,考的不只是编程能力,更是沟通和协作。

Shopify 这轮允许使用 AI 工具,但面试官会观察你怎么用、用完能不能解释清楚,所以 AI 只是辅助,不是替代。

我遇到的题目是:设计一个命令行购物程序 支持添加商品、查看购物车、结算计算总价。

我先花几分钟和面试官对齐需求边界(有没有库存限制、是否支持折扣等),这一步对方明显比较认可,说很多人上来就直接写类、不问问题。

然后设计了 Product、CartItem、ShoppingCart 几个类,边写边解释每个决策。面试官会插问「为什么这里用 HashMap 而不是 List」,我就顺着一起讨论。写完基础功能后,开始追问扩展性:加优惠券怎么改、支持多货币怎么处理。这部分主要聊设计方向,不要求继续写代码。

这轮最怕闷头写代码。一定要把面试官当成一起解决问题的队友,保持沟通。

Life Story Interview

30 分钟,Shopify 非常独特的一轮。不考 Coding,不考系统设计,就是聊你这个人。

我被问到的方向包括:

  • 为什么学编程
  • 最自豪的项目是什么,过程中最难的决策是什么
  • 怎么看待失败
  • 对 Shopify 某个产品有没有改进建议
  • 为什么想来 Shopify

我讲了给独立商家做库存管理工具的经历,以及在功能完整性和上线时间之间做取舍的过程。面试官追问了几次决策背后的原因,整体聊得比较深入。

这轮没有标准答案,关键是真诚。有真实故事、有思考和反思,比一路顺风更有说服力。

System Design

有经验的候选人可能会被问到 System Design,典型题目:设计一个 Shopify 的订单处理系统

需要覆盖:

  • 需求分析(订单量、延迟、支付方式、物流)
  • 系统架构(订单服务、支付服务、库存服务、通知服务)
  • 数据库设计
  • 可扩展性(微服务、消息队列、缓存)

上岸经验分享

Shopify 面试最大的特点是真的在找”对的人”,而不只是刷题刷得好的人。Pair Programming 里你怎么沟通、Life Story 里你讲的故事是不是真实有温度,这些和 Coding 本身一样重要。

Interview Show 会针对这些点帮你提前适应结对编程的表达方式,把个人经历梳理清楚。最近在准备、没信心的同学,可以来聊一下我们的面试辅助方案。

祝顺利拿到心仪 offer。

END