面经周报补刊(10/12—10/18):Snowflake 卡牌建模、Pinterest 时间窗口与 Baseten Parser
补齐 2026 年 10 月 12—18 日面经周报,基于 10 月 13 日收录样本:Snowflake Set Game、Pinterest 时间窗口与余额结算、Baseten Parser、Stripe Ledger,附准备建议和来源。
本期补齐 2026 年 10 月 12—18 日的周报,于 10 月 25 日整理发布。选读重点是卡牌规则、带过期的数据结构、解析器和账本:这些题型很适合检查建模、边界与验证能力。
资料范围与缺口:该周目前可用的本地抓取批次只有 10 月 13 日,不代表整周完整采样。收录时间不等于面试时间,例如 Snowflake 原帖明确回顾的是更早的面试。下文只总结可读正文,附原帖入口;不从帖子数量推导招聘热度,也不把作者猜测当作评分规则。
本期题型索引
| 公司 | 可读记录中的方向 | 优先训练 |
|---|---|---|
| Snowflake | 树边界、卡牌合法性与组合搜索 | 边界去重、规则拆分、搜索优化 |
| 时间窗口内最高分、余额结算 | 过期与更新、贪心适用范围 | |
| Baseten | 树状数据处理、S-expression Parser、日志设计 | 解析状态、错误定位、查询访问路径 |
| Stripe | Financial Account Ledger OA | 金额与事件建模、输入输出验证 |
Snowflake:从判断三张卡,到搜索所有组合
一条两轮技术电面复盘提到树边界变体,以及从三张卡合法性判断扩展到多张卡的组合搜索。Snowflake 两轮技术电面复盘。
我们的建议:先把“每个属性满足规则”封装成可单独测试的判断,再考虑如何枚举组合。明确是否可能存在重复卡牌、输出是否需要去重、属性取值是否固定。对于每个属性恰有三种取值的版本,可以讨论由两张卡推导第三张卡并索引查找;若规则不同,需要重新证明优化成立。
不要只复述复杂度目标。现场应解释索引构建、重复卡牌处理和输出规模如何影响时间与空间。树边界题则先检查单节点、只有左链、只有右链等输入,防止根节点或叶节点被重复计算。
Pinterest:过期时间与分数更新,是两种不同变化
一条 onsite 记录描述了用户浏览过的 Pin 中,查询有效时间范围内最高分项目的题型。原文的窗口表述有不同版本,实际训练时应先锁定窗口长度与边界。Pinterest 时间窗口与最高分记录。
我们的建议:先确认分数是否会在浏览之后变化,以及同一个 Pin 重复浏览是否刷新有效期。若分数固定且事件按时间到达,可以讨论队列与最大堆;若允许更新,就需要额外记录版本或最新状态,清理过期堆项。不要在条件没确定时直接套单调队列。
至少测试:窗口为空、最高分项刚好过期、相同分数、重复浏览、时间边界。所有测试使用可控时钟,避免依赖真实等待。
另一个 DE 电面帖子提到余额结算与减少交易次数的追问。Pinterest DE 余额结算复盘。
训练时要区分“找到一个合法结算方案”和“全局最少交易次数”。正负余额配对可以构造方案,但反复取最大余额的贪心并不自动保证全局最优。若目标是最少次数,需要明确输入规模,再讨论搜索、剪枝和正确性依据。不能把原帖里出现的提示直接当作一般性算法结论。
Baseten:Parser 的失败路径值得单独设计
一条 General SWE 全流程记录提到树状文档处理、简化 S-expression 解析和日志系统设计。作者描述了在错误处理上消耗时间的经历。Baseten 全流程复盘。
我们的建议:写解析器前先确定语法、返回结构和错误形式,再维护明确的游标位置。原子、括号表达式和嵌套可以逐步实现;每一步都验证游标是否正确前进,防止无限循环或吞掉多余输入。
错误测试应覆盖未闭合括号、额外右括号、非法字符、空输入与尾随内容。一次解析失败,是抛异常、返回错误对象,还是允许继续恢复,应根据题意确定,而不是临时混用。
日志设计练习则先写两个具体查询:按服务与时间范围查询、按请求标识追踪。再解释索引、写入吞吐和保留策略如何支持它们;仅列出消息队列与存储组件,无法说明查询是否可用。
Stripe:Ledger 只确认题型,训练仍需自定契约
一条加拿大 New Grad OA 记录提到 Financial Account Ledger,但可读正文没有完整题干或评分细节。Stripe New Grad Ledger OA 记录。
我们的建议:把账本作为独立练习时,明确金额表示、事件顺序、重复事件和账户不存在的行为。可以使用整数最小货币单位避免浮点误差;遇到多币种时则必须另行定义换算与舍入规则。
不要把自己设计的练习要求说成这次 OA 的具体要求。拿到实际题目后,仍应以原始输入输出契约为准,逐项核对。
相关资源:Stripe 面试流程与 Coding 复盘。
一周补练清单
| 练习 | 时间 | 完成标准 |
|---|---|---|
| 卡牌规则与组合搜索 | 45 分钟 | 基础判断正确,解释优化前提与输出去重 |
| 带过期的最高分查询 | 60 分钟 | 用可控时间验证过期、重复与空窗口 |
| Parser | 60 分钟 | 正常与非法输入均有明确行为 |
| Ledger | 45 分钟 | 明确金额类型、重复事件与失败语义 |
复盘时写出“哪一个假设改变后,当前方案会失效”。比如固定分数改成动态更新,或合法结算改成最少交易次数,都可能要求重新设计;能识别这个边界,比记住题名更有用。
继续阅读:上一期:10/5—10/11 · 下一期:10/19—10/25 · 周报归档。
需要把这些题型排进个人准备计划,可查看 SDE 一对一面试辅导 或 预约咨询。
关于作者
Interview Coach Pro 是 Interview Coach Pro 的技术面试教练,长期辅导在美国求职的中文候选人准备 SDE、System Design、Behavioral、Data Engineer 和 ML Engineer 面试。
本文基于匿名面试复盘、公开岗位要求和一对一辅导中的高频问题整理,发布前会检查内容结构、术语准确性和可操作性。你也可以查看我们的 辅导团队 和 辅导方法。
相关面试辅导
如果你正在准备类似面试,可以直接从下面的专项辅导开始。