40 用C++写一段可能发生死锁的代码,解释死锁原因并给出修复方案。考察对死锁四个必要条件、互斥锁头文件与作用域、线程粒度与进程粒度区别的理解,以及能否用固定加锁顺序或条件变量等方案实际修复死锁。 查看学习思路
41 实现一个支持add、remove、poll的优先队列,并尽量降低时间复杂度。考察能否从接口语义出发选择合适数据结构,用数组模拟二叉堆实现优先队列,并正确分析各操作时间复杂度及边界情况。 查看学习思路