帆软二面 面经
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 假如现在给你一个 Agent,让你长期负责提升准确率,你会怎么做?
- 第一步做什么?第二步做什么?
- 怎么建立 Benchmark?
- 怎么量化 Agent 的效果?
- 图表怎么设计?
- 有了指标之后,怎么定位到底是哪一部分出了问题?
- 怎么持续优化?
- Caffeine 是什么?
- 你在哪里用到了 Caffeine?
- Caffeine 里面具体缓存什么?
- 最终数据存在 MySQL 吗?
- 你的系统是不是分布式的?
- 如果系统只有单实例,Redis 还有没有必要?**?
- 去掉 Redis 以后,系统具体哪里会变差?
- 本地缓存已经有了,为什么还需要 Redis?
- Redis 重启会不会丢数据?
- Redis 怎么持久化?
- 还了解其他缓存框架吗?
- Memcached 和 Redis / Caffeine 有什么区别?
- Memcached 是进程内缓存还是独立服务?
- 既然 Lua 脚本已经保证原子性,为什么还需要 Redisson 分布式锁??
- Lua 和 Redisson 分别解决什么问题?
- Redisson 锁存在的必要性是什么?
- 如果去掉 Redisson,只保留 Lua,会出现什么问题?
- 系统还能不能正常运行?
- Lua 脚本是不是在 Redis 中执行?
- Lua 已经能完成库存判断 + 扣减,Redisson 到底保护谁?
- 有没有真正思考过 Redisson 是否是多余设计?
《参考解析》
- 把数据准备、检索、上下文拼接和生成拆开评估,用离线基准集和线上反馈定位误差来源;参数调整要同时考虑延迟、成本与准确率。
- 回答时先给结论,再结合真实项目说明取舍、指标和异常处理,避免只背概念。
- 根据场景选择缓存结构,并处理穿透、击穿和雪崩;分布式锁要带唯一标识,释放时校验持有者,避免误删。
- 先用执行计划和慢查询日志定位瓶颈,再结合索引、SQL 写法和事务范围优化;联合索引遵循最左匹配,避免隐式转换导致失效。