数据库有100000条数据需要请求回来并处理,最多允许开20个goroutine,每个goroutine最多请求100条数据,要求用Go并发+Channel模型实现这种并发请求的场景。
考察说明
考察Go并发编程中worker池模式、Channel通信和任务分配的设计能力
回答思路
- 能说明使用固定数量worker goroutine处理任务队列的整体架构
- 能正确处理任务的分发与结果收集,避免数据竞争和死锁
- 能解释Channel的缓冲与关闭时机,以及如何优雅退出
- 能处理部分请求失败或超时的情况
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。