拿下技术面上传简历

某异步任务系统在流水线各阶段之间用内存队列做缓冲,当前是无界队列。压测显示上游峰值 QPS 是下游消费能力的 3 倍,大促期间进程被 OOM kill。现在要改成有界队列;同时,流水线的回滚补偿模块需要严格按与执行相反的顺序触发补偿动作。请你说明:队列容量与拒绝策略怎么定(给出你要看的指标和大致算法),回滚补偿用什么结构,以及这件事怎么推动上游团队配合改。

数据结构与算法线性与树结构5 年以上知识点 1 个

面试官在考什么

考察候选人能否把“有界与背压”从代码问题升级为上下游契约与 SLO 问题,并说清队列与栈在语义上不可互换。

栈与队列

回答框架 · 前两步

  1. 容量不是拍出来的:应取目标可接受排队时长乘以单分片下游稳态吞吐,再受内存预算约束(单条大小乘容量加框架与 GC 开销),并留突发余量;排队时长上限要和业务方一起定并写进 SLO。
  2. 拒绝策略要分层且可解释:优先对上游阻塞反压,其次按优先级或聚合根丢弃,最后降级落盘或转异步;每种策略都要有可观测性(丢弃计数、告警、按业务方归因)。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「数据结构与算法」方向页

同一能力域的其他题