拿下技术面上传简历

一个构建/任务调度系统里有约 20 万个构建目标、百万级依赖边。由于历史包袱,依赖图中存在少量环。现在的调度器一旦检测到环就整批失败,且每次都全图重算拓扑序,构建慢且不可用。请你设计这套调度:怎么定位环、怎么决定并行批次、增量构建时怎么少算。

数据结构与算法图与搜索5 年以上知识点 1 个

面试官在考什么

考察候选人能否把拓扑排序从课本算法升级为『调度 + 环路诊断 + 增量重算』的系统设计,并区分拓扑层与关键路径。

拓扑排序

回答框架 · 前两步

  1. 环检测用 Kahn 剩余节点集合或 DFS 栈回溯定位具体环,把环隔离成可诊断报告,不能因少量环拖垮整批调度。
  2. 并行批次由关键路径或最长路径决定,而不是简单按 Kahn 的层级;同一拓扑层内的任务未必能同时开工(受资源与依赖完成时间约束)。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「数据结构与算法」方向页

同一能力域的其他题