一个可扩展的分布式 Job Scheduler 的功能需求与非功能需求通常怎么定义?重点是什么?
How do you define functional and non-functional requirements for a scalable distributed job scheduler? What matters most?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: requirements, semantics
参考答案摘要
答案 功能需求 通常包含:提交一次性/周期任务、取消任务、分发到多个 worker 执行、查询任务状态(queued/running/completed/failed)、以及 防止同一任务被并发重复执行 (至少要做到“尽量一次”)。 非功能需求 重点在: 可扩展 (百万级任务)、 高可用 (无单点,worker 挂了能重调度)、 低延迟 (到点尽快被调度与执行)、 一致性 (保证 at-most-...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。