面灵AI

字节日常实习后端一面凉经(中国交易与广告)

时间
2026-09
来源
牛客网

《面试题目》

  1. 文档切片大小如何确定,过大或过小有什么问题?
  2. 查询重写和召回流程分别解决什么问题?
  3. 模型回答错误时如何排查,向量过滤和元数据过滤先做哪个?
  4. ReAct 的核心流程是什么,如何避免无限循环?
  5. 如何防御攻击性指令?
  6. 先更新数据库再删除缓存能保证强一致吗?
  7. 删除缓存失败时如何保持数据库与 Redis 一致?
  8. Redis 持久化有哪些机制,为什么使用子进程?
  9. 消费失败或重复消费时如何保证业务幂等?
  10. Java 与 Python 的编译执行方式有什么区别?
  11. 如何删除链表倒数第 n 个节点?
  12. 如何检测服务之间的循环依赖?

《参考解析》

切片要在上下文长度、语义完整性和召回粒度之间压测取值;查询重写改善用户问题表达,召回再结合向量与关键词。缓存更新通常采用更新数据库后删缓存,并用重试、消息队列或订阅 Binlog 处理删除失败,不能宣称强一致。Redis 通过 fork 子进程做 RDB/AOF 后台工作以减少阻塞主线程。消费端以业务唯一键或去重表实现幂等。链表删除倒数第 n 个节点使用快慢指针;循环依赖检测可对依赖图做 DFS 三色标记。