二面时间:2024-09-23
岗位:C/C++研发工程师(人工智能);
Base:青岛;
时长:30min;
自我介绍;
针对项目:
CNN模型、损失函数、评价指标、改进方向、计算加速;
C++基础:
编译环境;
指针和引用区别;
程序崩溃怎么调试;
std::shared_ptr;
cmake,怎么指定动态编译;
比如有程序编译成功,但是报错undefined,怎么处理;
定位到有一个.so动态库,找不到一些符号链接,怎么处理;
生成的core文件,可以做一些什么信息的输出吗
加速计算:
Pytorch分布式训练;
是否有多卡训练经验,采用什么模式;
CUDA底层;
CUDA内存管理;
是否做过CUDA代码实现;
Pytorch和TensorFlow区别;
反问:
业务分布(因为我投的青岛,二面面试官是北京的);
ToB还是ToC;
评价:
一面的时候还是纯C++八股拷打,答得自认为不差,二面一半的时间都在问Pytorch、CUDA底层和多GPU训练了;
这些都不会,实验室也是上个月才购买了第一台双卡4090给我用,之前更多研究的是算法本身,没关注过算子、加速之类的技能,突然觉得自己基础能力还是太差了。
题目来自网友:sagima