京东后端Agent开发一面面经

京东 · 后端Agent开发 · 一面 · 2026-04

面试题目

  1. 实习经历提问
  2. 如果是一个金融系统,不能让agent自己去真实操作(钱放出去就是大问题),你会选择怎么做?
  3. JAVA常用数据结构包含哪些
  4. 如果是一个并发量比较高的系统,你在写代码的时候会考虑哪些问题?
  5. 锁这块你用过吗?ReentrantLock的底层实现了解过吗?在并发场景下用HashMap会有什么问题?
  6. 分布式这块有什么了解吗?比如一些常用框架?
  7. Redis你用在什么场景下了?
  8. 分布式锁用过吗?分布式锁(用setnx命令实现)底层怎么实现的,了解吗?用setnx实现锁会有什么问题吗?
  9. 如果有一个MySQL需要调优,你会基于哪些角度去考虑?执行计划(explain)里你会看哪些列?
  10. 如果有一张5000万的表,让你做分页查询,你会怎么查?回表听说过吗?
  11. 用非聚簇索引查,5000万那张表有ABC三列的组合索引,条件只有AB,要查ID大约在2500万位置的10条数据,这个SQL会怎么执行?逻辑是什么?如果这张表有50个字段,要把50列全查出来,你会从哪些角度去优化?
  12. AI自带幻觉,它在工程层面能不能落地的问题?

参考解析

  • 金融系统Agent操作: 引入人工审核机制(Human-in-the-loop),通过审批流执行;使用“预执行”+“结果校验”模式;权限隔离,限制Agent仅能查询或仅能操作受限资产。
  • 并发与HashMap: HashMap非线程安全,高并发下扩容可能导致链表死循环或数据丢失;推荐使用ConcurrentHashMap(分段锁/CAS+synchronized实现)。
  • Setnx分布式锁: 问题包括死锁(需加过期时间)、锁过期任务未完成(需续期机制/Redisson WatchDog)、节点宕机导致锁丢失(需Redlock)。
  • MySQL分页与优化: 分页优化核心是利用索引覆盖。大数据量跳页可用“延迟关联”即先通过索引查询ID,再回表查完整记录;50字段查询应尽量避免SELECT *,使用覆盖索引,若无法避免可垂直拆表。
  • AI幻觉与落地: 采用RAG(检索增强生成)减少幻觉;在流程中加入Prompt约束与置信度过滤;增加人工兜底与逻辑判定模块以保障业务可靠性。