
面试
最近正好在
面试一些从事
AI推理和大模型推理方向的校招
同学,我决定把
面试过程以对话的形式整理出来,供大家参考娱乐。上周,
领导又递给我一份简历。之前我已经
面试过一次了,可以回顾这里的内容。
领导对我说:熊猫,这里有位来自某
大学的
同学,你看看有没有时间去
面试一下。我回答说:好的,我先看一下。当我浏览这份简历时,发现虽然整体表达不算特别突出,但工作量看起来很充实,实习经历也表明这位
同学确实认真投入过工作,并且接触过大模型推理相关的技术。在校招候选人中,这样的经历或许能排到前10%,说不定水平比我还要高。所以这次我心里其实有点紧张,带着敬畏的心态去准备这场
面试。——以下是分界线——时间很快到了
面试时刻。我开口说道:你好,
同学!我是XX
公司的
AI推理加速工程师,花名叫熊猫。首先感谢你今天参加我们的
面试,那我们开始吧。(我个人对颜值还是有一定自信的,所以通常都会主动打开摄像头。)请你先简单介绍一下自己与
AI相关的经历吧。接下来的五分钟里,候选人非常详细地介绍了简历上他负责的内容、取得的成果以及对团队的贡献。说实话,作为自我介绍,内容已经过于详尽了,我听着都有点累了,但又不好意思打断他的叙述。等他说完后,我回应道:OK,非常详细啊,看来你是有备而来的。然后我挑了一个我认为很有讨论空间的项目继续深入聊。你在那个项目中具体用了哪些优化手段来解决性能问题?候选人回答说:我具体采用了xxx、xxx和xxx的优化手段解决了xxx性能问题。(他详细分析了问题来源、适用方法以及最终结果,这正是我想听到的部分。)好的好的。我又换了个问题,继续围绕项目展开讨论。(省略若干字,候选人依然对简历上的内容非常熟悉,应对自如。)几个回合之后,我觉得是时候切入基础知识的考察了,于是问道:你能描述一下shared memory的bank conflict的定义吗?候选人回答说:噢,这个xxxxxx。(省略若干字。)我接着追问:那你看这种访问方式会有bank conflict吗?(同时我展示了一张图给他看。)候选人毫不犹豫地有。我进一步确认:你确定吗?(需要说明的是,bank conflict的概念本身就比较晦涩难懂,网上有很多错误的说法,资料也不好找,我自己也经常误解。)候选人依然坚持自己的判断:确定。随后,我换了个话题问:你听说过CUDA stream吗?候选人点头:听说过。我继续问:那么,CUDA的所有stream是否都可以异步执行?候选人解释道:不是,因为xxxx。(此处省略若干字。)尽管候选人的回答存在一些误区,但可以看出他在相关领域有一定的知识积累。整个
面试过程中,他展现出了对项目的深刻理解和扎实的技术功底。不过,基础知识方面还有待加强。当然,这也是很多年轻开发者常见的短板。总结这次
面试让我意识到,校招的
同学越来越优秀,他们在实际项目中的表现令人印象深刻。对于企业来说,如何通过
面试准确评估候选人的能力,是一个值得深入探讨的话题。而对于求职者而言,除了项目经验外,扎实的基础知识同样重要,这将是未来成长道路上不可或缺的一部分。希望这段分享能够为正在准备
面试的
同学们提供一些启发和帮助。