大概两个月前走完了 Amex frontend engineer 的流程,面的是他们的 digital servicing 团队(持卡人用来管理账户的 web app)。分享一下,因为网上几乎找不到前端向的 Amex 信息。
我的背景:React/TypeScript,4 年,中级。没有 fintech 经验。
流程是四轮:
Technical phone screen: JavaScript 基础加一道 coding 题。他们让我解释 event loop。不是抽象地问「explain concurrency(解释并发。)」,而是很具体:什么是 call stack,什么是 task queue,什么是 microtask queue。然后在 HackerRank 做一道小题。我那道是 DOM 操作,不是 React 相关的,这点我没想到。
Frontend-specific technical round: 这一轮开始有意思了。他们给了一个 take-home 风格的问题,但我们是 live 一起过。用纯原生 JS(不允许框架)做一个简单的交易历史表格,带筛选和分页。我平时几乎只写 React,这轮真的把我绊到了。我做出来了,但比我想要的慢。教训:如果你是框架专用型开发,Amex 面试前先热热身原生 JS。
Accessibility and performance round: 完全没想到会有这一轮。他们问了 WCAG 2.1 AA 合规(他们服务的用户很广,包括有残障的人,这对他们很严肃),我会怎么做 Lighthouse 性能审计,以及什么时候用 code splitting vs. lazy loading vs. preloading。如果你没做过真正的无障碍工作,去补课。他们问的是 ARIA roles 和键盘导航这种具体问题,不只是颜色对比度。
Behavioral: STAR 格式。我答砸的问题是「tell me about a time you had to push back on a design decision that would have hurt usability.(讲一个你不得不反对某个会伤害可用性的设计决策的经历。)」。要有一个真实故事,不要很虚。
我拿到 offer 了。NYC 中级 base 大概 $145k。没有 equity,就是标准的 Amex。
老实说,a11y 的重视让我挺惊喜的。挺难得能面到一个真的在乎这些的地方。