设计一个可扩展的分布式任务调度服务时,核心功能性与非功能性需求分别有哪些?哪些需求可以作为 out-of-scope?
When designing a scalable distributed job scheduling service, what are the core functional and non-functional requirements? Which requirements can be out of scope?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: system-design, requirements
标签: functional-requirements, non-functional-requirements, scalability, high-availability, consistency
参考答案摘要
TL;DR 功能性需求包括提交/取消任务、分发执行、任务状态监控以及避免同一任务并发重复执行。非功能性需求关注可扩展性(百万级任务)、高可用(无单点、节点故障自动重调度)、低延迟与一致性(尽量做到 exactly-once 或最小重复)。Out-of-scope 可以包括优先级与任务依赖。 Functional Requirements 提交 one-time 或 periodic jobs 取消...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。