百度 分布式计算研发(提前批)一面面经

    作者:灬腿长哦吧
    链接: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知道吗

    反问环节

    总结:总体面试感受挺好的,面试官会针对你的 项目区延展知识点,并且会结合一些实际的真实场景去问你一些问题,问你有没有解决思路。答得不好也没关系,会让你想到什么说什么就好。
    总结自己就是很多知识点深挖的不够,可能会用但是底层的机制没有太熟悉。还需加强。最后许愿二面,并且二面顺利吧。