面灵AI

滴滴后端实习一面面经

轮次
一面
时间
2026-08
来源
牛客网

《面试题目》

  1. 纯 Agent 项目和实习经历中分别承担了哪些工作?
  2. 后端项目解决了什么业务问题,为什么需要异步调度架构?
  3. 本地模型性能有限时,如何提高任务处理效率?
  4. 任务执行失败或连接中断时,如何保证任务不丢失?
  5. Kafka 与 MySQL 在任务调度中的交互链路是什么?
  6. 为什么 Kafka 只传任务 ID,而不传完整任务数据?
  7. 如何保证任务处理与数据库状态更新的一致性?
  8. 如何防止同一任务重复入队或重复执行?
  9. 乐观锁和任务 Token 分别解决什么问题?
  10. 实例宕机后如何识别并恢复未完成任务?
  11. 文档并发更新时如何使用版本字段实现乐观锁?
  12. 热点文档频繁修改时,乐观锁会产生什么问题?

《参考解析》

  1. 任务可靠性:数据库保存任务真相,消息只携带稳定任务 ID,消费者按 ID 加载最新数据。状态迁移使用条件更新和幂等键,消息确认应发生在业务状态持久化之后。
  2. 失败恢复:执行者领取任务时写入租约和持有者标识,并定期续租。扫描过期租约可恢复宕机任务;重试次数、下一次执行时间和最后错误需要持久化。
  3. 乐观锁:更新时使用 WHERE id = ? AND version = ?,成功后版本加一。受影响行数为零表示发生冲突,需要重新读取并按业务规则重试或提示冲突。
  4. 热点冲突:写竞争越高,乐观锁重试成本越大。可通过按实体串行化、合并写请求、缩小冲突字段或重新设计数据粒度降低竞争。