面灵AI

深圳思博兰科技实习一面

时间
2026-08
来源
牛客网

《面试题目》

  1. 知识分享平台
  2. 当时为什么要做这个知识分享社区项目?
  3. 项目做了feed流缓存,为什么要做?项目的并发压力来源是什么?
  4. 讲下项目的三级缓存设计。
  5. 缓存回源到MySQL,Redis和数据库双写,如何保证数据一致性?
  6. AI问答链路采用旁路方式接入原有RAG接口,是什么含义?
  7. 知光AI项目是不是就是社区平台上加AI对话助手?
  8. 三、Coding‑Agent项目(AI智能体
  9. Agent执行链路基于function‑calling循环,请完整描述一次循环流程;重点说明:模型不返回工具调用、输出胡说八道、返回非法JSON参数,项目如何做异常兜底处理?
  10. 如果模型一直返回错误/非法工具调用参数,如何处理?
  11. 说说乐观锁、幂等键、参数哈希约束,如果没有这三者,会出现哪些错误?
  12. 上下文工程按token预算规划摘要、工具证据、按需skill:token预算如何分配?什么是工具证据?
  13. 什么是skill的按需加载?
  14. 项目有子Agent,对比主循环多次调用工具,子Agent有什么优势?
  15. 子Agent的核心价值,为什么要设计子Agent?
  16. 参与OpenViking开源,bug是如何发现、如何修复的?
  17. 语言、实习相关
  18. 我们业务主要使用Go语言,你主栈是Java,说说Java和Go的区别。

《参考解析》

  1. Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
  2. MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
  3. 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
  4. Agent或RAG链路应记录工具调用、检索证据和失败原因;对非法参数、路由错误和超时设置校验、重试上限与可观测日志,避免把模型输出直接当作可信结果。