后端岗位面试题更新 2026-08-05

给定一个图,每个节点代表一个任务,节点上有执行时间(秒)。边表示依赖:任务B依赖任务A,表示A完成后才能执行B。设计一个多线程调度器,在满足依赖的前提下并发执行所有就绪任务。多个没有依赖或依赖已满足的任务可以同时执行。任务执行需要真实的时间消耗(使用std::this_thread::sleep_for模拟),请使用多线程并发执行所有任务。如果所有任务都成功执行完成,返回true;否则返回false。

深圳虾皮信息科技有限公司后端开发互联网/IT编码实现问题拆解技术原理C++

考察说明

考察多线程并发编程、依赖调度和条件变量等同步机制的应用

回答思路

  1. 正确保存任务的依赖信息和执行时间
  2. 能识别就绪任务并派发到线程池执行
  3. 合理使用条件变量、互斥锁和计数器实现依赖等待与完成通知
  4. 正确处理任务执行异常或失败情况
  5. 最终返回值准确反映所有任务是否成功完成
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。