快手后端实习生二面面经

快手 · 后端开发实习生 · 二面 · 2026-06

《面试题目》

AI 相关

  1. 拿到一个任务后,怎么做大模型的选型
  2. 在应用中有哪些可以节约成本的方法
  3. 在写提示词时,怎么能更好地命中缓存
  4. 讲一个上下文管理的案例,什么时候需要对上下文进行管理
  5. 讲下 RAG 使用的场景,举个项目中具体的例子
  6. 讲下 RAGAS 四个维度的评测指标,如何自己去实现这四个维度的评测

Java

  1. JVM 的内存区域(运行时数据区)
  2. 静态变量存放在哪个区域
  3. 什么情况下会使用本地缓存

Redis

  1. 什么是热点问题

场景题

  1. 设计一个分布式场景下趋势递增的发号器
  2. 设计一个停车场系统(忽略支付)

《参考解析》

  1. Prompt 缓存命中优化:主流大模型 API(如 OpenAI、Claude)支持前缀缓存,把固定不变的内容(如 System Prompt、few-shot 示例)放在 Prompt 最前面、可变的用户输入放在最后,能显著提高缓存命中率,降低重复计算成本和延迟。
  2. 静态变量存储位置:JDK 7 之前静态变量存放在方法区的永久代(PermGen),JDK 8 及之后方法区改为元空间(Metaspace,使用本地内存),但静态变量本身(作为 Class 对象的一部分)实际存放在堆中的 Class 对象里,只是类的元数据(如方法字节码)存放在元空间。
  3. 分布式趋势递增发号器:可选方案包括数据库自增序列/号段模式(批量获取一段ID缓存在本地)、雪花算法(Snowflake,时间戳+机器ID+序列号拼接生成趋势递增且全局唯一的 ID,无需强依赖中心节点,吞吐量高但依赖时钟同步)、Redis 的 INCR 命令生成自增 ID。
  4. RAGAS 评测四维度:忠实度(Faithfulness,回答是否基于检索内容而非模型幻觉)、答案相关性(Answer Relevancy,回答是否切题)、上下文精确率(Context Precision,检索到的内容中有效片段的占比)、上下文召回率(Context Recall,应召回的相关内容有多少被实际召回),可通过构建标注好的问答对数据集,用大模型或规则打分的方式自动化评测。