后端岗位面试题更新 2026-08-05

请解释 Go 中 Singleflight 的实现原理,并说明它在并发安全、结果污染以及 call 失败时如何处理等待请求。

腾讯后端开发互联网/IT风险判断技术原理问题排查Go

考察说明

考察对 Singleflight 机制的理解、并发正确性及异常处理的边界

回答思路

  1. 说明用 map 管理进行中的调用并通过互斥锁保护
  2. 解释并发请求共享一次调用的流程与并发安全方式
  3. 指出结果污染来源(返回权被任一等待者释放)及解决手段(共享返回权、广播释放或超时控制)
  4. 说明 leader call 失败时如何唤醒所有等待者并传播错误,避免无限等待
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。