百度后端开发一面面经
- 轮次
- 一面
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍。
- 为什么使用 Harness 构建 Agent?
- 大模型和 Agent 有什么区别?
- 为什么使用多 Agent 架构?
- 多 Agent 系统的意图路由应使用大模型决策还是硬编码决策?
- Java 中 ArrayList 和 LinkedList 有什么区别?
- HashMap 的底层原理是什么?
- HashMap 为什么线程不安全?有哪些线程安全的替代方案?
- Spring Boot 的依赖注入是如何实现的?
- Spring Bean 默认是单例吗?
- 什么是 MySQL 事务?
- MySQL 索引有什么作用?
- 常见的索引失效场景有哪些?
- 联合索引为
(a, b, c)时,查询条件为a = 1 AND c = 1能否使用索引? - 设计用户表时需要考虑哪些因素?
- 如何实现最长无重复子串算法?
《参考解析》
1. 多 Agent 路由:固定、可枚举且风险高的规则适合硬编码,语义开放、类别经常变化的任务可由模型判断。工程上通常先用确定性规则过滤明确场景,再让模型处理模糊意图,并记录路由理由和失败样本持续校准。
2. HashMap 并发安全:HashMap 的读写没有并发协调,扩容和同时写入可能造成覆盖、丢数据或读取不一致。并发场景可使用 ConcurrentHashMap;复合操作还应使用它提供的原子方法,不能只把多步读写换成线程安全容器。
3. 联合索引:该查询满足最左前缀,因此 a 可以用于索引定位;缺少 b 后,c 通常不能继续缩小传统 B+ 树扫描范围,但在支持索引下推时可能用于存储引擎层过滤。是否高效仍需结合选择性和执行计划判断。
4. 最长无重复子串:使用滑动窗口维护无重复区间,并用哈希表记录字符最近出现的位置。右指针向前扫描,字符重复时将左指针移动到其上次位置之后,每步更新最大窗口长度,时间复杂度为 O(n)。