面灵AI

去哪儿 AI全栈开发实习生一面

轮次
一面
时间
2026-09
来源
牛客网

《面试题目》

  1. Java 为什么需要分代垃圾回收?不分代会怎样?
  2. G1 相比 CMS 的核心优化是什么?可配置停顿时间如何实现?
  3. Redis 过期删除策略有哪些?如何平衡惰性删除和定期删除的 CPU、内存开销?
  4. MCP 客户端和服务端的交互流程是什么?
  5. 有 100 个 MCP 时,Agent 如何处理工具列表并保证性能?
  6. 如何用正因子拆分求组合数?
  7. 如何用差分和前缀和解决上色水管问题?

《参考解析》

分代回收利用“大多数对象生命周期短”的经验,让新生代采用高频、低成本回收,减少每次扫描的对象量。G1 将堆划分为 Region,按回收收益选择区域并通过 MaxGCPauseMillis 设定目标停顿,但目标不是硬保证。Redis 通常组合惰性删除与定期删除,访问时清理已过期键,后台分批抽查,避免一次性遍历阻塞。MCP 客户端可按需发现、缓存并分层暴露工具,避免把所有描述一次塞进上下文。