深信服后端开发春招面经

深信服 · 后端开发 · 一面、二面 · 2026-04

《面试题目》

一面

  1. AI Coding手撕:
    • 用Java实现一个“最近使用应用”列表(LRU),最多显示N个应用。
    • 实现一个带前端界面的待办事项(To-Do List)项目。
  2. 基础问题:围绕AI项目背景及技术栈提问。

二面

  1. 个人情况:学习经历、实习经历深挖。
  2. 项目深度交流:详细阐述项目从xx到xx的实现过程,需结合画板进行架构讲解。
  3. 存储相关:深入探讨底层存储原理。
  4. RAG技术:针对RAG流程中的文本分割问题进行技术细节考察。

《参考解析》

1. LRU缓存实现 通常采用 HashMap + 双向链表 实现。HashMap 保证O(1)查找,双向链表保证O(1)增删。在Java中,直接继承 LinkedHashMap 并重写 removeEldestEntry 方法是最简洁的实现方式。

2. 存储相关原理 面试官可能关注数据库存储引擎(如InnoDB的B+树结构)、页管理、事务隔离级别实现(MVCC),或分布式存储中的持久化与一致性问题。建议梳理Redis持久化机制及数据库索引底层实现。

3. RAG文本分割 RAG中常用的文本分割策略包括:按字符数固定分割、按语义段落分割、递归字符分割(Recursive Character Text Splitting)。需关注不同切分粒度对上下文窗口利用率及检索召回准确率的影响。