27届京东后端AI开发实习生一面面经

京东 · 后端AI开发实习生 · 一面 · 2026-04

面试题目

项目及八股

  1. 你对RAG(检索增强生成)的理解是什么?
  2. 向量知识库和各自优缺点是什么?
  3. 针对检索的准确性,你在项目中做过什么调优操作?
  4. 项目中排序算法及其他?
  5. 你们对检索准确率做评测时,测试集和测试流程是怎么构建的?你是否参与了这块工作?
  6. ES底层的存储结构是怎样的?
  7. 若ES中已存储部分数据,执行更新操作时,ES内部的整个更新流程是怎样的?
  8. 服务降级策略的考量是什么?如何保证切换后服务维持正常?
  9. 你用Arthas排查问题时,具体排查的是什么问题?定位流程是怎么样的?
  10. 为什么要做分表存储的操作?
  11. 站在项目表设计的角度,什么场景下需要进行分表操作?
  12. 单表数据量达到多少时,会考虑做分表?
  13. 你有了解过MyBatis的切面操作吗?MyBatis的切面能做哪些事情?
  14. 请讲一下Spring AOP的大概流程和机制是什么?
  15. 你了解的事务隔离级别有哪些?
  16. 细粒度锁,具体是做什么用的?怎么实现的?
  17. 实现细粒度锁时,用的是Java的synchronized关键字吗?
  18. 如果是分布式服务做这种细粒度锁,你觉得应该怎么做?
  19. 你提到的Redisson加锁的机制,具体是怎么实现加锁的?
  20. Java中synchronized关键字底层的加锁流程是怎样的?它如何保证多线程并发时能拦住其他线程?
  21. ThreadLocal用于什么场景比较合适?
  22. 你了解ThreadLocal的实现原理吗?
  23. 若用ThreadLocal存储用户信息,在主线程内起异步线程,异步线程中能通过ThreadLocal拿到该用户信息吗?

大模型相关

  1. 除了RAG相关工作,还有用过大模型去做其他事情吗?
  2. 你使用大模型时是用工作流方式,还是用类似Spring AI这种框架去实现的?
  3. 你在开发过程中,有用过大模型辅助编码的工具吗?
  4. 大模型辅助编码工具对你的代码开发效率提升有多大?

参考解析

  • RAG调优:通常涉及文档分块策略(Chunking)、多路召回(Hybrid Search)、重排序模型(Rerank)的使用,以及Embedding模型的微调。
  • ES更新流程:ES是不可变索引,更新操作本质是先标记删除旧文档,再追加写入新文档。后台通过段合并(Merge)物理清理旧数据。
  • Spring AOP:基于代理模式。Spring在Bean初始化时,通过JDK动态代理(接口)或CGLIB(类)生成代理对象,在方法调用前后植入切面逻辑。
  • 分布式锁:Redisson利用Redis的Lua脚本保证操作原子性,通过hset存储锁标识和重入次数,并结合Watchdog机制自动续期以防止死锁。
  • ThreadLocal与异步:默认情况下,ThreadLocal无法在父子线程间传递。需使用InheritableThreadLocal或在异步任务提交时手动复制线程上下文数据。