岗位练习 · 完整流程

后端工程师面试题:接口、数据与故障处理

围绕线上真正会出问题的地方练习后端面试:重试、慢查询、并发竞争、数据迁移和下游故障,以及你如何及时发现。

早期体验期间免费。练习在应用内进行,需要登录账号。

准备清单后端工程师

  1. 01接口设计
  2. 02数据库与索引
  3. 03并发
  4. 04容错与降级

下一次练习技术面试练习室

01常见题

按面试轮次整理的后端面试题

这些后端面试题由 InterviewWare 编写或改编,并非任何公司的真实面试题。题目按面试轮次分组,并列出面试官关注的信号和通常随之而来的追问。

题目面试官关注什么可能的追问
R1 · 经历与动机
Q01 介绍你做过的一个服务的数据模型,以及你会改动的一处。核心实体和访问模式、由此决定的索引或主键设计,以及一处坦诚的改进和它的迁移成本。流量涨到十倍,哪个查询会最先扛不住?
R2 · 专业能力与案例
Q02 如何让 API 操作能够安全重试?把幂等键和处理结果一起存储;尽量设计天然幂等的操作;说明重复请求时客户端会收到什么。两个相同的请求同时到达不同的服务器,什么机制能阻止它们都执行?
Q03 如何排查一条慢查询?用真实参数复现,查看执行计划,检查索引是否命中和行数估算,并权衡新增索引带来的写入成本。这条查询在测试环境很快、生产环境很慢,差别可能在哪?
Q04 下游服务不可用时,应该怎么处理?设置超时、有上限的退避重试(加随机抖动)、熔断,以及有意设计的降级响应,而不是让故障层层传导。你的重试反而让故障更严重了,为什么?你会怎么改?
Q05 两位顾客同时购买最后一件库存,如何防止超卖?原子的条件更新或行锁、带版本号的乐观锁,或带过期时间的预占库存——并说明各自在高并发下的取舍。秒杀期间这一行成了热点瓶颈,接下来怎么办?
Q06 在一张数据量大、访问频繁的表上新增字段并回填数据,要求不停机。先扩展后收缩的分步迁移、分批限速回填、代码同时兼容新旧结构,以及明确的回滚点。回填进行到一半,主从复制延迟突然飙升,你怎么办?
Q07 什么时候应该把工作放进消息队列异步处理,而不是在请求里同步完成?以延迟和故障隔离为理由;至少一次投递与幂等消费;用户如何得知处理结果。一条“毒消息”每次都让消费者崩溃,如何避免它堵住整个队列?
Q08 一个热点缓存键过期,数据库瞬间被打满(缓存击穿),如何预防?合并并发请求或加锁重建、错开或提前过期、短时间返回旧数据,以及监控缓存命中率。你如何确定数据最多可以旧到什么程度?
Q09 一次发布后,p99 延迟翻倍,中位数却没变,你从哪里查起?针对长尾的原因:部分请求依赖了慢服务、锁竞争、GC 停顿、新实例缓存未预热;对比慢请求和正常请求的调用链。你会先回滚还是先排查?为什么?
Q10 API 客户端鉴权,用服务端会话还是签名令牌(如 JWT)?怎么选?令牌吊销和过期、状态保存在哪里、令牌体积,以及签名密钥轮换。一个令牌泄露了,在你的设计里多快能让它失效?
R3 · 判断与协作
Q11 产品经理想跳过压测以赶上线日期,你怎么回应?把风险量化,提出缩小范围的测试或灰度发布,并明确由谁对决定负责。你的意见没被采纳,照常上线了。你会提前做好哪些准备?

02试答一题

试答一道后端面试题

从上面的题目中挑一道,先写下你的回答。在你请求反馈之前,草稿只保存在当前浏览器。

练习题 · 后端工程师

如何让 API 操作能够安全重试?

0 字

获取反馈需要注册免费账号(一步完成,无需银行卡)。草稿只保存在当前浏览器,注册后自动填入;在你提交之前不会上传。

03答题示例

支付回调偶尔会重复到达,你会怎么处理?

中级岗位回答提纲,约两分钟。 示意内容:由 InterviewWare 编写,并非真实候选人的回答。

  1. 01

    假设

    我先假设支付方会附带事件 ID,并且在我们返回成功之前会一直重试。

  2. 02

    设计

    把事件 ID 和订单更新放在同一个事务里写入,并加唯一约束;重复写入会失败,我们直接返回成功,不再重复处理。

  3. 03

    故障

    如果提交成功后、响应前服务崩溃,重试请求会命中唯一约束,被安全地确认。

  4. 04

    观测

    我会按支付方统计重复次数,数量突然上升,就说明对方的重试或我们的响应出了变化。

04答题建议

后端面试答题要点

这样答更有效

  1. T1讲故障路径要和讲正常流程一样细。
  2. T2选存储、上缓存之前,先说明一致性和延迟要求。
  3. T3说出能让你发现问题的那个监控指标或日志。
  4. T4任何迁移或发布方案,都要包含回滚步骤。

后端面试常见误区

  1. M1只说“加重试”,却不提退避、上限和幂等。
  2. M2一个条件更新就能解决的问题,却上了分布式锁。
  3. M3建议加索引,却不提它带来的写入和存储成本。
  4. M4只按平均延迟设计,忘了长尾。
  5. M5声称做到了“恰好一次”投递,却讲不出是怎么实现的。

05国内求职

国内后端面试怎么准备

校招重基础,社招重线上经验

后端校招更看重计算机基础:数据库索引与事务、操作系统的进程与线程、网络协议,外加一两道算法题;项目部分通常是课程设计或实习项目,面试官主要确认你真的写过、理解过。社招后端的核心是项目深挖和线上经验:高并发怎么扛、数据一致性怎么保证、出过什么事故、怎么复盘,三年以上经验的岗位基本都会有系统设计题。

后端面试流程和三轮模拟

国内后端面试常见两到三轮技术面、一轮主管面,再加 HR 面。对照 InterviewWare:R1 经历与动机,大致对应自我介绍和项目概述;R2 专业能力与案例,对应基础知识、项目深挖和场景题(比如本页的超卖、缓存击穿);R3 判断与协作,对应与产品、测试在上线节奏和风险上的分歧。系统设计题可以到系统设计页单独练习。

项目深挖的常见追问链

后端项目深挖最常见的追问链是:“这个服务的 QPS 大概多少?”“数据库怎么设计的,有没有分库分表?”“缓存和数据库的一致性怎么保证?”“出过最严重的线上问题是什么,怎么定位的?”。准备时,每个项目都要能说出大致量级和数字的来源,以及至少一次故障的完整排查过程。

06推荐工具

后端面试练习工具

  1. 技术面试练习室

    讲解之前,先在系统设计白板上画出重试和幂等的处理路径。

    JS · Python公开用例
  2. AI 语音模拟面试

    在实时语音面试里把一次故障排查从头讲一遍,面试官随时可能打断追问“你是怎么发现的?”。

    实时15–60 分钟
  3. 对话式 AI 模拟面试

    选择技术面试官,他会追问延迟、错误率和故障模式。

    4 位面试官R1–R3文字 · 语音

07公司准备

后端面试:公司准备参考

内容参考各公司公开的招聘页面。练习题由 InterviewWare 编写,并非这些公司使用的面试题;InterviewWare 与所列公司没有任何关联。

查看全部公司准备来源
  • 亚马逊

    亚马逊 SDE II 面试准备页面提到,要明确讨论系统的可靠性与规模,并验证边界情况。

    练习题

    设计一个能应对重复事件和部分故障的订单处理流程。

    练习这道题

    官方来源:Amazon · SDE II Interview Prep

    来源核对日期:2026年9月27日

  • 微软

    微软的技术面试建议提到,要测试正常、边界和异常情况。

    练习题

    如何测试必须支持中断恢复的文件上传服务?

    练习这道题

    官方来源:Microsoft · Technical interviewing

    来源核对日期:2026年9月27日

更多方向

探索更多方向

早期体验 · 免费

今天,记下第一轮练习。

带上简历或岗位描述,或者只写下想要的岗位。从第一个回答开始,训练日志就会记录你的进步。