设计一个分布式任务调度系统,支持定时任务、延迟任务和周期任务。
Design a distributed task scheduling system supporting cron jobs, delayed tasks, and recurring tasks.
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
标签: nab, generated
目标公司: NAB
参考答案摘要
思路分析 核心问题:任务分发、执行保证(至少一次/恰好一次)、高可用。 参考答案 时间轮(HashedWheelTimer)管理定时触发。分布式锁防止重复执行。任务状态机:pending → running → completed/failed。支持重试和死信队列。 评分要点 调度算法选择 分布式锁和幂等性 故障恢复机制 常见追问 如何处理长时间运行的任务? 如何实现任务优先级?
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。