小红书Java后端开发一面面经

小红书 · Java后端开发 · 一面 · 2026-06

《面试题目》

  1. 自我介绍
  2. 讲一下之前实习中遇到的比较棘手的问题
  3. AI 项目整体流程是怎样的,遇到了什么问题,如何解决?
  4. AI 项目中短期记忆和长期记忆是否都用 Redis 实现?
  5. 如何判断何时采用短期记忆、何时采用长期记忆?
  6. 随着时间推移,长期记忆是如何持续维护的?
  7. 长期记忆中如何判断哪些信息该保留、哪些该精简或剔除?
  8. 除了召回率阈值,还有其他指标可以用来判断记忆是否该被剔除吗?
  9. 算法题:快速排序
  10. 日常是怎样使用 AI 的?有做过 vibe coding 吗?
  11. 使用 AI 时遇到过哪些比较有代表性的问题?如何解决的?
  12. 反问:在后端和 AI Agent 方向上有什么学习建议?

《参考解析》

  1. 短期记忆 vs 长期记忆的取舍:短期记忆通常对应当前会话上下文(如最近几轮对话),生命周期短、检索快,适合承接即时语境;长期记忆用于跨会话保留用户偏好、历史事实等信息,一般需要经过摘要/向量化后持久化存储,检索走相似度召回。判断标准通常是信息的”复用价值”和”时效性”——高频复用、跨会话仍有意义的信息才值得沉淀为长期记忆。
  2. 长期记忆的剔除策略:常见做法是结合召回率/相关性打分设置阈值,低于阈值的记忆逐步淘汰;此外还可以引入时间衰减因子(越久未被召回权重越低)、访问频次统计、记忆间的冗余去重等多维度指标,而不是单一依赖召回率。
  3. 快速排序思路:选取一个基准值(pivot),通过一次划分把数组分为小于基准和大于基准两部分,再对两部分递归排序;平均时间复杂度 O(n log n),最坏情况(如已有序数组每次取首元素作 pivot)退化为 O(n²),实际工程中常用随机选取 pivot 或三数取中来规避最坏情况。
  4. AI 辅助编程的学习建议:面试官给出的建议是持续跟进 agent 领域最前沿研究,理解上下文管理和记忆系统机制,可参考 Claude Code 等开源 agent 架构的设计思路;对候选人而言,具备扎实的 AI 工程经验会成为面试中的加分项。