运气好,通过朋友介绍面试了一个很不错的公司,整体下来3个多小时,对我来说是“越级面试”了,所以没通过也很正常,但是收获是很多的。和之前的面试相比,简直就是一个天一个地,也是第一次意识到,真正好公司的面试可能都是类似这样的。
第一面,问我set和map的区别,移动语义是什么,std::move怎么用,返回值是什么,怎么算真正做到资源转移。算法:去除vector<float> 类型数组中的0.f的数,不过我没咋用过float的数组,于是面试官就改成int类型,去除0,其中我用了erase,不太熟练,没把握erase应该传入什么参数,返回的是什么,于是面试官很耐心地给我引导,让我最有深刻印象的一个说法就是:这些每个功能的实现都是用代码写出来的,不是凭空造出来的,所以他必定有实现的途径和逻辑,那么他为什么会这样做,实际上就是要看源码,我理解的点就是了解某个功能的用法,不妨用代码尝试写出来,看看中途到底是怎么实现的,返回什么,为什么要这么做,这样对自己可能会有很大的提升。
第二面,问零拷贝技术,问操作系统开机时是如何加载的,问计算机体系结构,GPU的结构,也问了道算法,这一面就是主要在问与答上,引导不多,但是也有。
第三面,leader面,leader很强,具备强大的管理能力以及技术能力,从高角度抛出一个问题:似然,概率,频率的区别是什么?那真是把我问到了。如何判断从人群中统计身高这种事件是否符合正态分布?计算图优化有哪些,张量优化有哪些?为什么要区分这两层?既然有计算图了,那么对于其需要完成的算子计算流程就需要用到拓扑排序,怎么构建一个拓扑排序,并且有些时候不需要用到其中的一些结点,怎么排序部分结点?
更多细节记不太清了,大致问题如此,记录自己的经历,复盘,继续进步。确实很菜继续努力。
碎碎念:一次有效愉快但失败的面试
最新推荐文章于 2024-11-07 12:04:46 发布