面灵AI

三场 Java 面试考点整理:缓存、权限与 RAG

时间
2026-09
来源
牛客网

《面试题目》

  1. 等号比较与 equals、深拷贝与浅拷贝、重载与重写分别有什么区别?
  2. Spring 事务何时失效,Controller 与 RestController 有什么区别?
  3. Redis 常见数据结构适合什么业务,Lua 脚本有什么用途?
  4. SQL 内连接和外连接有什么区别?
  5. 为什么使用 B+ 树,非叶子节点保存什么?
  6. 聚簇索引和非聚簇索引有什么区别,MVCC 怎样工作?
  7. 项目如何分工和部署,为什么采用当前实例数量?
  8. 怎样接入 SDK,什么是 CAS,为什么需要多模态能力?
  9. Redis 的 SDS 是什么,缓存一致性与多级缓存如何实现?
  10. 如何优化发布过程,为什么选用 MinIO?
  11. RAG 混合检索如何实现,采用了什么 Agent 框架?
  12. 使用过哪些 Elasticsearch 版本、容器工具和国产软硬件?
  13. 面对完全陌生的场景,你会怎样开展工作?

《参考解析》

混合检索

关键词检索擅长精确术语,向量检索能找到表达不同但语义接近的内容。可以分别召回,再按排名融合或重排模型合并结果。评估时检查问题是否命中正确片段、引用是否支持回答;不能只看模型最后说得是否流畅。

多级缓存

本地缓存读取快,但每个实例各有一份;共享缓存便于复用,也有网络与故障成本。先明确允许多长时间的不一致,再选择过期时间、更新通知和版本校验。更新数据库成功后怎样使旧副本失效,比画出缓存层数更值得讲清楚。

内连接和外连接

内连接只保留匹配行,左外连接还保留左表未匹配的行并把右表列补为空。对右表的过滤条件放在 ON 还是 WHERE 中,可能改变是否保留这些空值行,写 SQL 时要拿未匹配样例检查结果。