面灵AI

百度后端面经

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

《面试题目》

  1. xxx 是一个什么平台,用户都是哪些人?
  2. xxx 的用户数如何统计?
  3. 平台如何实现登录?
  4. 面向企业和政府的平台为什么还需要优惠券模块?
  5. 责任链和 AOP 分别解决了什么问题?为什么要抽取责任链?
  6. 如何判定两个请求是重复请求?
  7. 优惠券秒杀链路如何保证幂等?
  8. 布隆过滤器在链路中有什么作用?
  9. 为什么使用 Lua 而不是 Redis 单条命令?
  10. Lua 脚本中连接 MySQL 会有什么问题?
  11. RocketMQ 的事务回查和本地事务如何配合?
  12. 压测如何做,压测机器和生产环境是否一致?
  13. JVM 参数如何配置?
  14. 位图编码为什么使用位图,有哪些优缺点?
  15. 智能客服系统的背景是什么,你负责哪些部分?
  16. HTTPS 与 HTTP 如何区别,HTTPS 如何加密?
  17. ConcurrentHashMap 为什么线程安全?
  18. AQS 如何实现同步?
  19. Redis 失败后系统如何处理,如何保证高可用?
  20. 线上流量超过压测结果时如何处理?
  21. 消息积压怎么办?
  22. 不扩容时如何把 QPS 从 4000 提升到 6000?
  23. 如何判断压测达到服务器性能上限?
  24. 如何设计实时抵扣优惠券额度且保证不超扣?
  25. RAG 中负责哪些部分?意图节点如何打分?
  26. 如何保证每个环节选择的模型最优?
  27. Hit@1 是什么,项目中如何评估?
  28. 线上运行结果和测评结果一致吗?
  29. 记忆压缩为什么这样设计?
  30. MCP 调用了哪些工具,如何评估准确率?
  31. 测评集有多少条?
  32. 日常如何使用 AI 提效?为什么不能让 AI 全部写代码?

《参考解析》

  1. 秒杀幂等与防重:请求应带业务幂等键,入口用布隆过滤器和 Redis 做快速拦截,最终以数据库唯一约束或条件更新兜底。Lua 适合把库存校验、扣减和记录幂等键放在 Redis 内一次完成;脚本中访问 MySQL 会阻塞 Redis 事件循环,应通过消息或业务层异步落库。
  2. 消息与高可用:RocketMQ 事务消息先写本地事务,再由回查确认提交或回滚;消费端用业务唯一键去重。Redis 故障时应有集群、哨兵、超时和熔断策略,关键结果以数据库或消息补偿为准,不能把降级当成成功。
  3. 压测与扩容前优化:先确认压测模型、数据分布和机器配置接近生产,再从连接池、批处理、热点缓存、锁粒度和序列化开销等方面优化,并用 CPU、内存、GC、网络和队列长度判断瓶颈。
  4. RAG 与 Agent 评测:RAG 关注召回、重排、引用准确性和答案可验证性;Hit@1 表示正确目标是否出现在第一位。Agent 路由应结合离线数据集、工具调用成功率、延迟和线上 bad case 持续评估,记忆压缩要保留任务状态和关键事实,避免上下文无限增长。