时间:2021-11-30 下午2点
方式:阿里会议视频面试
岗位:研究型实习生-智能存储
为什么会参加这次面试?
因为想要亲身参与真实的科研活动或者一个真实企业内的做工程的过程,所以投递了这份简历,我也没有想到会给我安排面试。其实面试的时候我已经忘记自己投递的是哪个课题了,现在推测一下可能是大规模预训练模型的迁移啥的。
因为面试的前一天参加了字节的面试,十分挫败,所以对面试可以说十分没有信心,加上收到的邮件里没有会议链接。无论面与不面,迟早要打电话告知,所以索性决定打电话推辞掉这个面试。打了电话,估计中午面试联系人可能在休息,所以过了一会才接到,面试联系人劝说我面试没有坏的影响,就当锻炼自己,只有好处没有坏处,不如一试。所以没有推脱,反正就一个小时,一个小时之后我的生活还会恢复原样。
面试过程
面试的时候发现刚刚接电话的人应该就是面试官,面试官给我详细介绍了一下什么是研究型实习生以及它和其他的实习生的区别,以及对招聘的影响。然后就开始面试,先是自我介绍,还是介绍了本科,研究生的学校和专业,实习与比赛。问了我大概想做科研还是偏工程的方向,我回答工程,但后来想想应该回答我都行的其实。
面试了一道算法题:
将一个字符串按单词反转,但是对空间的开销有限制,最好是在原地址上直接修改,如果用栈,或者切割单词成数组之类的方式都是不符合空间开销要求的。
刚开始我想的是将单词先切出来,面试官发现我可能没有理解题目就又说了一下。
我之后想说判断空格 然后做首尾交换,面试官提醒我单词的长度可能是不一致的,让我再想想。
面试官说可以先说一下思路,再写代码。(说实话这点还挺赞的。)
最后我想了想,说实话因为没有什么信心,我都想放弃算了。
但偏偏还是想到了先把每个单词都先在局部反转,然后全局一起反转就不会产生大的空间开销。
面试官说这个想法是对的,然后让我自己实现一下,就大概写了写代码。
又问了我这个算法的时间复杂度是多少,我说是O(n)。
问平时怎么做测试,我回答用自己设计测试样例,然后print的方法和编辑器调试。
他问我有么有用什么测试工具之类的,我说在课上学过UnitTest4,但实际上没用过。
知不知道多线程,pthread之类的。
之后聊了实习,实习时写的Json工具,日志接口开发。我都回答其实没有什么含金量。
然后是机器人大赛,路径规划算法用的是A* ,问我为什么用A* 而不是用机器人走迷宫的方式来操控机器人。和视觉算法的设计,以及OpenCV啥的。
最后聊了本科毕设,介绍了自己的毕设内容,问我觉得最有挑战的部分是啥。我回答是loss函数的设计,三段蒸馏,每段的不同的损失计算方法。
然后就是反问环节,我没问,确实不知道问啥。
面试总结
大概就只记得这些了,好像忘记了很多其他的细节,但是面试完心情也比之前好了一些。
阿里巴巴的这次面试给我最大的感受就是,面试官会确认自己的意思有没有准确传达给我,这个细节还挺令我感动的。面试官会把自己的问题或者很多要考虑的情况讲的很细致,确认我理解之后再让我思考并回答,这样其实对我这样不太熟悉面试的人十分友好的。
面试的结果还不知道,但是无论好与坏,这次面试都给了我一些鼓舞,即便是结果不太好,我也不会气馁,不管怎么样都要继续努力。(希望结果是好的吧)
后来接到了二面的电话,所以一面应该是过了。