Affirm Interview Guide

Affirm 面试辅助:交易数据聚合题与虚拟昂赛四轮

面向 Affirm(分期支付)SWE 与后端方向候选人的面试准备攻略。基于同学提供的面经梳理店面高频的 CSV 交易聚合题、母公司层级判定题与欺诈检测实现题,拆解虚拟昂赛的 coding、system design 与 BQ 结构,并提示赞助与流程速度上的实际风险。

Related Articles

Affirm 相关文章

继续查看这个公司的岗位拆解、题型复盘和专项准备文章,按自己的轮次选择阅读。

Upstart 面经 • Affirm 面经 • Verkada 面经 • 金融科技面试 • 本地开发环境 • HR 筛选 • System Design • sponsorship • 北美科技面试 • 2026

Upstart / Affirm / Verkada 面试全流程(2026):本地环境编码轮、HR 前置筛与 sponsorship 风险

2026 金融科技与硬件独角兽面试攻略:拆解 Upstart 的本地开发环境编码轮与 12 分钟 OA、Affirm 的 fraud detection 与 HR 前置筛、Verkada 的 tree diameter 与千万设备心跳系统设计,附 sponsorship 风险、挂点分布与 7/14/30 天准备路线。

阅读全文

Question Radar

Affirm 高频必考题型

先看题型方向,再用下面的代表题目判断自己是否真的会拆题、会解释、会处理 follow-up。

必备

CSV 交易聚合题:只保留 completed、按 merchantId 与小时差建立 Map<String, Map<String, Integer>>、调用面试官给定的时间差函数、以及生产环境下的 follow up 优化方案。

必备

母公司层级判定题:向上寻找 topmost parent company、父公司没有子公司的边界、错误数据与缺失字段的处理,并说明为何不需要复杂算法。

必备

欺诈检测实现题:debug 既有 counter 的三个典型 bug(未过滤事件类型、漏字段、空字符串入集合),以及可疑 PII 的传染式记录逻辑。

必备

牌局模拟题:牌堆切分与比较规则、从 2 人到 N 人的扩展、发牌不均时的取模处理,以及自己定义 class 与 method 的能力。

必备

System Design:分期贷款还款系统,涵盖定时支付、每日仅开放一小时的银行扣款接口、失败重试与幂等、短信邮件通知与状态机。

必备

BQ 与流程确认:why Affirm、challenge project、tight timeline、跨团队协作,以及在 HR 电话里确认岗位是否提供签证赞助与期望薪资口径。

Company Signals

Affirm 近期面试信号

从本地面经汇总里抽取高频信号,帮助你先判断该补 coding、设计、项目还是表达。

信号

店面最高频的是交易数据处理题:先拿到若干 CSV 读出的 Transaction 列表(字段含 amount、merchantId、status、userId、startTime),要求只统计 completed 的交易,再按 merchantId 与「交易时间与当前时间的小时差」建立两层映射并累加金额;读取与时间差换算函数由面试官提供,必须调用给定的实现。

信号

第二高频是母公司层级题:给出 parent company 与 child company 的关系,客户在子公司办 loan 时要向上找到顶层母公司(topmost parent)作为 loan company,同学提供的面经样本提示的边界是某个父公司没有任何子公司。多份反馈强调这道题没有算法,纯用 map 硬写即可,考验的是读懂题面而不是算法。

信号

长题面加预置代码是这一家的显著特征:有样本提到 codepad 上已经放了 100 多行代码,变量与函数语义都要边读边推断;也有样本直接说题目描述非常繁琐、数据处理是 map 套 map,几乎全程无沟通,面试官看你在那里卡着也不会给提示。

信号

2026 年的样本出现新形态:一轮是 event-driven 的欺诈检测,第一问 debug 既有的 PII 计数器(只应统计 underwriting 事件、漏了 ssn、缺失字段会多算),第二问实现 FraudDetector,把可疑 PII 传染式地记入可疑集合;另一轮是 52 张牌的牌局模拟,先两人后扩展到 N 人并处理发牌不均。

信号

挂人理由里「速度」和「沟通」出现频率很高:有候选人自述 test case 都跑过、也确认了没有第三问,仍然收到拒信;有候选人 test case 基本跑过、也讲了 unit test 怎么写,两天后收到的拒绝理由是「做太慢」;还有候选人代码写出来了但因为过程中卡顿没说清楚而被挂。

信号

虚拟昂赛结构在样本里为四轮:一小时 coding 加半小时 BQ、再一小时 system design 加半小时 BQ;system design 的公开题是分期贷款的还款系统,用户主动或定时发起还款,银行扣款接口每天只开放一小时,结果通过短信或邮件通知用户。

Sample Questions

Affirm 代表题目清单

这些不是让你背答案,而是把公司常见考法翻译成可练习的具体题目和 follow-up 场景。

Coding

给定若干 CSV 读出的 Transaction 列表(含 amount、merchantId、status、userId、startTime),只保留 completed 的交易,返回 Map<merchantId, Map<小时差, 金额之和>>;时间差函数必须调用面试官给定的实现,并回答如果要上生产该如何优化。

Coding

给定 parent company 与 child company 的层级关系,客户在某个 child company 办理 loan 时需要以 topmost parent 作为 loan company;处理父公司没有子公司、链路异常等边界情况。

Coding

event-driven 场景下先 debug 一个统计 underwriting 事件中不重复 PII 数量的计数器(事件类型过滤、缺失字段、漏统计字段),再实现 FraudDetector,把可疑 PII 传染式地记录进可疑集合以判定后续交易。

Coding

52 张牌的牌局模拟:洗牌后分堆,每轮比较双方顶牌,结束后输出持牌最多的一方;先实现两人版本,再扩展为 N 人并处理牌数不能均分时按取模补足。

System Design

设计分期贷款的还款系统:用户可以主动发起还款,也可以设置定时还款;银行同步 debit 接口每天只开放一小时;还款结果要通过短信或邮件通知用户。

Behavioral

讲一个技术难度最大或最具挑战的项目,说明其中的取舍;以及 why Affirm、如何处理紧凑时间线、如何推动跨团队协作、如何发现系统需要提升的点。

Depth Notes

Affirm 专项深挖

把题型清单继续拆成面试官会追问的能力证据,避免只停在关键词层面。

店面主频题

交易聚合题的两层映射

Affirm 店面出现频率最高的题可以用一句话概括:把一批交易记录按商户和时间窗口聚合。同学提供的面经样本给出的输入是若干 CSV 读出的 Transaction 列表,每个交易含 amount、merchantId、status、userId 与 startTime 等字段,读取逻辑与时间差换算函数都由面试官预先写好,候选人不允许自己另写一套。输出是两层映射:外层 key 是 merchantId,内层 key 是交易时间与当前时间的小时差,value 是该差值下所有金额之和。几个细节决定了这一轮能不能按时交付。第一是过滤条件,只统计 completed 的交易,status 是枚举,要按题面给定的枚举值比较,而不是猜字符串。第二是时间口径,小时差必须调用给定的函数,不要自己用时间戳相减,否则跨天、跨时区的算例会与预期不一致。第三是聚合方式,最直接的做法是遍历一遍列表、按需初始化内层 map 再累加,复杂度是线性,不需要任何高级数据结构。第四是 follow up,如果上生产怎么优化,这里要把分批读取、流式计算、按商户分片、热点商户的缓存、以及时间窗口的滚动淘汰讲清楚。这一轮的难点从来不是算法,而是在阅读长题面的同时保持速度;同学提供的面经样本里有人因为读题和调试耗时太久、虽然写出来了仍然被以「做太慢」为由拒绝,所以练习时一定要掐表,把读题、澄清、实现、自测分别控制在固定的时间盒里。

层级题

顶层母公司边界处理

另一道反复出现的是母公司层级题。题面是这样:客户办理 loan 时归属在某个 child company,例如 CC 的母公司是 AA,而 AA 的母公司是 DD,那么这笔 loan 要挂在最顶层的 DD 上。同学提供的面经样本给出的示例结构很短,但候选人普遍把时间花在边界上。第一类边界是某个父公司没有任何子公司,这类节点在更新映射时最容易出错,多位候选人反映自己就是在这里卡住甚至大脑宕机,因此实现时最好把「读取父映射」与「写入结果映射」分成两步,先算清顶层再统一写回,避免边遍历边改结构。第二类边界是链路深度与数据里可能出现的自环或异常记录,稳妥做法是逐级向上走并记录访问过的节点,遇到重复节点就停下来。第三类是多级合并之后的查询口径,即同一个顶层公司下的多个子公司在统计时是否需要合并。值得强调的是,同学提供的面经里有人提到原帖下讨论过拓扑排序或并查集,但发帖人自己澄清这道题没有任何算法逻辑,纯粹用 map 硬写即可;这个信息很重要,因为它说明面试官期望的是清晰直接的实现与解释,而不是炫技。准备的正确姿势是把两种写法都练一遍:用 map 逐级上溯的可读版本用来讲解,用并查集或路径压缩的版本留着回答 follow up 里关于多次查询效率的追问,同时在白板上把边界用例一条条列出来。

昂赛结构

四轮虚拟昂赛与 BQ

Affirm 的虚拟昂赛在同学提供的面经样本里被描述为四轮:一小时 coding 加半小时 BQ,再一小时 system design 加半小时 BQ,也就是 BQ 被拆成两段穿插在技术轮之间。除此之外还有一条更早的样本显示流程是 OA 之后约 HR 电话,第一轮一小时 coding 通过后进入 VO,VO 是一小时 coding 加半小时的 Engineer Leader 交流。两条路径放在一起看,可以确认两件事:coding 至少两轮,BQ 与主管交流的权重不低。Coding 轮的内容与店面同源,长题面、固定接口、数据处理,因此准备时可以复用同一套骨架。System design 的公开题是分期贷款的还款系统:用户已存在且有活跃贷款,系统要接受主动发起的还款与定时自动还款,通过同步的银行扣 debit 接口扣款,而该接口每天只开放一小时,最后还要把成功或失败的结果通过短信或邮件通知用户。这道题的评分点很集中:如何把一小时的扣款窗口设计成任务队列与调度器、如何处理超时与重复扣款(幂等键)、失败后如何重试与降级、通知如何与状态机解耦。BQ 部分同学提供的面经样本给出的问题包括 why Affirm、challenge project、如何处理紧凑的时间线、如何推动跨团队协作、如何发现系统需要改进的点,以及在 HR 轮被问到的期望薪资、技术栈、有没有带人经验。建议把每个问题准备成一个具体项目故事,并且刻意把 company 相关的动机讲得具体,因为同学提供的面经里明确提到表现出对公司的了解与兴趣是加分项。

风险提示

速度、赞助与流程节奏

准备 Affirm 之前有三个现实风险值得先弄清楚。第一是速度。这一家的题不难,但同学提供的面经样本里因为慢而被挂的比例很高:有人 test case 都跑过、也确认没有第三问,几天后收到拒信;有人自述整体流程正常、还和面试官聊了几句,两天后收到的理由却是做太慢;还有人代码写出来了但过程中卡顿、没讲清过程而被挂。可操作的应对是把每一轮的交付拆成可检查的里程碑,比如前十分钟只做读题与澄清、中段先写出能跑的朴素版本、最后留五分钟自测与讲复杂度,宁可功能少一点也不要卡在某一个边界上空转。第二是签证赞助。同学提供的面经样本里有一份 2026 年的完整时间线,候选人走完所有轮次并被告知通过,随后在移民评估阶段收到通知说该岗位不再提供 sponsor;同一份反馈还提到当时的职位描述里已经写明不提供签证赞助。这件事无法靠面试表现规避,只能在最开始的 HR 电话里直接确认,并且保留邮件记录。第三是流程体验的波动,同学提供的面经样本里出现过面试结束后多次发邮件询问反馈而被 HR 完全忽略的情况,因此时间线上要留出冗余,不要把其他机会的安排压在这一家的预期反馈上。把这三点想清楚,再决定投入多少时间准备这道高频题,会是比较理性的顺序。

Prep Plan

建议准备路线

先定位轮次,再决定优先补题型、项目、设计还是表达。

01

把「两层 map 聚合」练成肌肉记忆:一次性写清只保留 completed、按 merchantId 与小时差聚合的骨架,并额外准备 follow up 的生产化答案(分批读取、流式聚合、缓存与索引、时区统一)。

02

把母公司层级题按 union find 与纯 map 两种写法各写一遍,并专门练边界:某父公司无子公司、链路过深、环、同一客户多次办理,确保任何边界都能当场解释清楚。

03

针对虚拟昂赛补齐 system design 与 BQ:准备分期还款系统的全链路设计,把 why Affirm、challenge project、tight timeline、跨团队协作四个高频 BQ 各写出一段能讲三分钟的具体故事。

覆盖岗位

Affirm 常见目标岗位

SWE
覆盖轮次

建议重点模拟这些轮次

OA(HackerRank)HR 电话第一轮 Coding(约 1 小时)VO / 虚拟昂赛:Coding + System Design + BQEngineer Leader / HM 轮

代面服务

Affirm 代面(代面试)服务

针对 Affirm 的轮次结构定制:技术轮老师现场作答、你露脸对口型,项目深挖与 BQ 提前准备到位。

Affirm 的公开流程基本固定为 OA、HR 电话、第一轮 coding,再进 VO 或虚拟昂赛;coding 轮题面长、数据处理重,但算法不深。代面(对口型)由技术老师现场按面试官给定的 class 与 function 作答,并提供 BQ 与 HM 轮的完整话术。

  • 第一轮 Coding:CSV 交易聚合、母公司层级判定、欺诈检测与牌局模拟,老师按给定接口现场实现并解释
  • System Design:分期贷款还款系统,涉及每日只开放一小时的银行扣款接口、定时支付与短信邮件通知
  • BQ / Engineer Leader:challenge project、tight timeline、跨团队协作与 why Affirm,事前逐题打磨答案

$499/轮 起 · 多轮连面有打包价 · 建议面试前 3-5 天准备

实时辅助

Affirm SWE 辅助(实时)

面试官提问后 0.5-1 秒出答案,你露脸照着念。按 Affirm 的题型和节奏给话术。

Affirm 的题普遍是「题面很长、接口固定、算法简单」,考的是快速读懂既有代码并严格按规格实现。实时辅助帮你把两层 map 的聚合口径、边界条件与 follow up 优化点同步提示出来。

  • 聚合口径提示:只保留 completed 状态、按 merchantId 与小时差建立两层映射、时间差函数必须调用面试官给定的实现
  • 边界提示:母公司为顶层、父公司没有子公司、CSV 字段缺失与空列表等容易漏判的情况
  • 速度提示:这类轮次挂人理由经常是「做太慢」,实时给出下一步该写什么,避免在阅读题面阶段耗掉大半时间

$299/轮 起 · 建议面试前 2-3 天准备并做一次模拟

OA 代写

Affirm OA 代写

收到 OA 但没时间刷题?发过来,按你收到的具体 OA 题型报价。

同学提供的面经里 OA 走 HackerRank,之后还有一轮通过日历预约的 HR 电话;正式技术轮全程需要分享整个屏幕。OA 题目在样本中提到过 card game 与交易数据处理,具体题目与时限请以你收到的邀请为准。

$199 起 · 提前 1 天准备 · 限时窗口内交付

Company Comparisons

常被一起比较的公司攻略

如果你同时投递多家公司,可以用这些相邻攻略比较轮次、题型和评分重点,避免用一套准备方法硬套所有公司。

FAQ

Affirm 面试常见问题

常见问题

Affirm 面试流程一般有几轮?

Affirm 的面试流程通常包括 OA / Phone Screen、VO / Onsite 多轮技术面、Behavioral 面和 Hiring Manager 面。具体轮次取决于岗位和 Level,建议提前了解目标岗位的标准流程并针对性准备。

常见问题

Affirm 最常考什么题型?

根据同学提供的面经信号,Affirm 最常考的题型包括 CSV 交易聚合题:只保留 completed、按 merchantId 与小时差建立 Map<String, Map<String, Integer>>、调用面试官给定的时间差函数、以及生产环境下的 follow up 优化方案。、母公司层级判定题:向上寻找 topmost parent company、父公司没有子公司的边界、错误数据与缺失字段的处理,并说明为何不需要复杂算法。、欺诈检测实现题:debug 既有 counter 的三个典型 bug(未过滤事件类型、漏字段、空字符串入集合),以及可疑 PII 的传染式记录逻辑。、牌局模拟题:牌堆切分与比较规则、从 2 人到 N 人的扩展、发牌不均时的取模处理,以及自己定义 class 与 method 的能力。。建议先从高频题型入手,再做项目深挖和模拟面试。

常见问题

Affirm 面试需要准备多久?

建议至少提前 7-14 天开始冲刺准备。如果还在投递期,可以先做题型地图和岗位定位,拿到面试邀约后集中做模拟面试和表达训练。

常见问题

Affirm SWE 岗位最难的是什么?

Affirm 的面试以严格的 Hiring Bar 著称。最常见的失分点包括:前置澄清不充分、边界测试缺失、系统设计只背模板、项目深挖无法体现 ownership。针对性模拟可以有效降低这些风险。

常见问题

Affirm 面经应该怎么看?

同学提供的面经适合用来判断 Affirm 高频题型、轮次和常见挂点,但不要只背原题。更稳的做法是把面经拆成 OA / Coding / Design / Behavioral / HM 五类信号,再按目标岗位和 level 做限时训练。

常见问题

Affirm 代面、面试辅助、OA 代写多少钱?

Affirm 代面(对口型)$499/轮起,多轮连面有打包价;SWE 辅助(实时)$299/轮起;OA 代写 $199 起,提前 1 天交付。最终价格按岗位、轮次和具体面试情况浮动,添加微信 interview_coach_pro 先聊 30 分钟免费咨询再报具体价格。

AC
Software Engineering
Alex Chen·前 Meta / Stripe Senior SWE & Tech Lead

10 年+北美 SWE 经验,先后在 Meta(FAIR / Infra)和 Stripe 担任 Senior SWE 和 Tech Lead,主导过多项高并发系统架构设计,前 FAANG 面试官,累计面试 1000+ 候选人,熟悉 Meta / Google / Stripe 面试评分标准。

累计面试 1000+ 候选人UC Berkeley, CS 硕士
本文由 Alex Chen 审校与整理

需要按 Affirm 的具体岗位做冲刺计划?

添加微信 interview_coach_pro,发送岗位、level、轮次和日期,我们先判断最该补的环节。

查看服务与价格 →查看其他公司
✓已复制微信号!