pdd 服务端 一面 面经

pxx 服务端 一面
1.自我介绍和项目介绍
介绍自己的工作主要是什么,贡献是什么,这部分感觉自己叙述的有一点 混乱,需要再打磨打磨怎么表达
2.知道死锁吗,用你熟悉的语言(cpp)写一个可能会死锁的代码?解释一下为什么你这个会出现死锁。
lock 是哪个头文件的,mutex?这个 mutex 是线程粒度的还是进程粒度的?
追问:我写的是一个申请 m1/2 和 m2/1 的死锁,这个怎么去解决,用代码表现一下(我说可以用固定顺序,或者考虑用条件变量)
3.写一个优先队列,实现 add,remove 和 poll,尽量时间复杂度更低
4.求树的高度和非叶子节点的数目(第一次用递归写的),如果不使用递归,且在一次循环遍历中计算这两个怎么做?(使用的是 queue),然后让讲解一下思路
这里优先队列没写出来,就讲解了一下堆,以及数组模拟堆,三个手撕大概就三十多分钟,实习经历十五分钟左右的样子。

参与讨论