面灵AI

百度后端开发一面面经

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

《面试题目》

  1. 请做一下自我介绍。
  2. 为什么使用 Harness 构建 Agent?
  3. 大模型和 Agent 有什么区别?
  4. 为什么使用多 Agent 架构?
  5. 多 Agent 系统的意图路由应使用大模型决策还是硬编码决策?
  6. Java 中 ArrayList 和 LinkedList 有什么区别?
  7. HashMap 的底层原理是什么?
  8. HashMap 为什么线程不安全?有哪些线程安全的替代方案?
  9. Spring Boot 的依赖注入是如何实现的?
  10. Spring Bean 默认是单例吗?
  11. 什么是 MySQL 事务?
  12. MySQL 索引有什么作用?
  13. 常见的索引失效场景有哪些?
  14. 联合索引为 (a, b, c) 时,查询条件为 a = 1 AND c = 1 能否使用索引?
  15. 设计用户表时需要考虑哪些因素?
  16. 如何实现最长无重复子串算法?

《参考解析》

1. 多 Agent 路由:固定、可枚举且风险高的规则适合硬编码,语义开放、类别经常变化的任务可由模型判断。工程上通常先用确定性规则过滤明确场景,再让模型处理模糊意图,并记录路由理由和失败样本持续校准。

2. HashMap 并发安全:HashMap 的读写没有并发协调,扩容和同时写入可能造成覆盖、丢数据或读取不一致。并发场景可使用 ConcurrentHashMap;复合操作还应使用它提供的原子方法,不能只把多步读写换成线程安全容器。

3. 联合索引:该查询满足最左前缀,因此 a 可以用于索引定位;缺少 b 后,c 通常不能继续缩小传统 B+ 树扫描范围,但在支持索引下推时可能用于存储引擎层过滤。是否高效仍需结合选择性和执行计划判断。

4. 最长无重复子串:使用滑动窗口维护无重复区间,并用哈希表记录字符最近出现的位置。右指针向前扫描,字符重复时将左指针移动到其上次位置之后,每步更新最大窗口长度,时间复杂度为 O(n)。