百度后端一面

百度 · AI算法工程师 · 一面 · 江西 · 2026-05

《面试题目》

  1. 现在是在学校是吗?还是还在实习?
  2. 你挑一个你比较有挑战性、最熟悉的项目讲一下,说说你在里面做了什么、项目整体怎么实现、大致流程是什么。
  3. 介绍下项目大概情况、关键环节,以及你解决的痛点问题。
  4. AI对话里意图识别具体是怎么实现的?
  5. 记忆存储是怎么实现的?
  6. 短期记忆用滑动窗口会有什么问题吗?
  7. 你比较熟悉哪些编程语言?主要是Java是吗?
  8. Java 多线程并发冲突有哪些解决方式?具体怎么实现?
  9. 抢到锁之后,如果要放弃CPU时间片,可以通过哪些方式实现?
  10. 防止SQL注入有哪些方式?
  11. MySQL 索引一般在什么业务场景使用?举具体场景。
  12. 建了索引但查询用不上,索引失效有哪些常见场景?
  13. 联合索引 A、B、C,查询条件只用 B=xx and A=xx,能不能命中索引?
  14. 搭建可视化token消耗面板是公司项目吧?具体怎么实现的?token是怎么统计的?
  15. 你在token可视化面板项目里主要负责哪个环节?讲下具体细节。
  16. Token面板项目里你实际承接的是哪一块功能?
  17. 多工具调用、长短期记忆场景里,哪些数据需要做记忆?判断标准是什么?
  18. 聊天记录查询慢,怎么定位到单表数据量过大的问题?聊天记录当时怎么存储、表结构怎么设计的?
  19. 聊天记录表大概存了多少条数据?是什么数据量级?
  20. 聊天记录什么查询场景比较多?一般按什么维度查询?
  21. 多工具调用具体怎么编排?主要实现什么能力?包含哪些模块?
  22. 大模型结构化输出具体是怎么实现的?
  23. 说说你学习、实习、项目中遇到的最大技术挑战,以及你是怎么解决的?
  24. 你还有什么想问我们的问题吗?

base北京


《参考解析》

  1. MySQL深度:MySQL InnoDB使用B+树索引,支持ACID事务。关键知识点:聚簇索引(主键索引)叶节点存完整行数据;辅助索引叶节点存主键值(需回表);MVCC通过undo log版本链+ReadView实现多版本并发控制,解决脏读/不可重复读;事务隔离级别从低到高:读未提交→读已提交→可重复读(默认)→串行化。

  2. Java并发:Java并发:synchronized关键字(偏向锁→轻量级锁→重量级锁升级);ReentrantLock(可重入、可中断、公平锁);volatile(内存可见性+禁止指令重排,不保证原子性);CAS(Compare-And-Swap,无锁乐观并发);ThreadLocal(线程本地变量,WeakReference,注意内存泄漏)。线程池核心参数:corePoolSize/maximumPoolSize/keepAliveTime/workQueue/handler。

  3. RAG与大模型:RAG(检索增强生成)流程:文档切片→向量化(Embedding)→存向量数据库→检索时将query向量化→TopK语义检索→将相关文档拼入prompt→LLM生成。优化:混合检索(语义+关键词)、重排序Rerank、查询改写、上下文压缩。评估:召回率(relevant docs retrieved/total relevant)、精确率、Answer相关性。