上个月刚走完 amex 的线上 onsite,岗位是 senior SWE。四轮,同一天在 Teams 上完成。下面是实际体验。
时间表是 9am 到 1pm,中间有短休息。他们发了很细的日历邀请,每一轮都标了名字,这点对我安排精力其实挺有帮助。
第 1 轮:Coding(55 分钟) 两道题。一道 easy-medium,明显是热身。一道真正的 medium:图遍历,再叠一层业务逻辑(大概是带消费上限约束的最短路径,很符合信用卡公司的味道)。我两道都做完了,还有时间讨论 edge case。面试官很友好,我卡住时会给提示。
第 2 轮:System Design(45 分钟) 我的是卡交易通知系统。如果你看过这里其他关于 amex SD 轮的帖子,主题都差不多:幂等、失败处理、延迟和一致性的 trade-off。他们还专门问了 push vs pull 的通知架构,以及用户把通知关掉时我会怎么处理。前 8 分钟我都在讲需求,面试官似乎挺认可。
第 3 轮:Behavioral(45 分钟) 由 Hiring manager 主导。非常结构化的 STAR,他们直接说了。问题我记得的有:一次和同事在技术决策上有分歧你怎么处理;一个项目中途要改方向你怎么沟通。他们会追问结果和细节。
第 4 轮:Leadership and Culture(30 分钟) Director level。更不正式,更像聊你适合什么样的环境、怎么处理模糊。一道 curveball:「what's a belief you held strongly about engineering that you later changed?(你曾经非常坚信的一个关于 engineering 的观点,后来改变了,是哪个?)」挺好的问题,我回答得还行。
总时长:大概 3.5 小时,加上休息。
反馈周期:他们说 5-7 个工作日,我 4 天就收到反馈。verbal 之后 2 天发了 offer。