百度 分布式计算研发(提前批)一面面经
作者:灬腿长哦吧
链接:https://www.nowcoder.com/discuss/693959?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
2021.7.29
百度分布式计算研发工程师一面相关问题
1.自我介绍
2. 项目介绍
3.用户可控的代码量有多少
4.还有什么其他数据并行的方式
5.ring allreduce 相关知识
6.ring allreduce增加节点会增加数据量传输吗(不会)
7.ring allreduce 一个节点挂掉有什么方法解决导致的问题吗。(相邻节点存梯度,问存梯度还是存参数,存参数没有意义我说的)
8.参数服务器一个worker节点挂掉,会影响梯度的汇总吗。又什么解决办法吗?
9.知道现在深度学习框架下用的通信库是什么吗?知道nccl吗 和mpi的区别是什么。答(MPI只创建通信域,给所有计算进程编号。NCCL负责GPU聚合通信的具体最佳实现。)
10. c++11新特性有哪些呢?
11.unordered_map的数据结构,map的数据结构
12.智能指针
13.socket编程状态介绍
14.训练过程中有哪些导致gpu训练利用率不高的问题。(数据集IO读取, 数据内存-显存 数据交换, reduce过程)
如何解决数据集io读取问题
如何解决数据内存-显存中数据交换的问题
reduce 过程中解决办法
15. 算法题(本地写共享屏幕) 寻找两个正序数组的中位数(时间复杂度空间复杂度尽量小)
写完 算法题大概将近一个小时,最后面试官又突然想问两个问题,这两个问题回答的不是很好。
16.为什么使用批batch ,推理时间减少。
17.cuda stream 加速机制
18.PCIe传输慢怎么解决 nvlink知道吗
反问环节
总结:总体面试感受挺好的,面试官会针对你的 项目区延展知识点,并且会结合一些实际的真实场景去问你一些问题,问你有没有解决思路。答得不好也没关系,会让你想到什么说什么就好。
总结自己就是很多知识点深挖的不够,可能会用但是底层的机制没有太熟悉。还需加强。最后许愿二面,并且二面顺利吧。