推荐算法 暑期实习面试经验 [阿里推荐算法暑期实习招聘]
一般算法岗位的面试包含四个部分:自我介绍、项目、基础和算法。
自我介绍
建议提前写好一个自我介绍,包括自己的学校专业,所做的项目或论文,熟记于心。自我介绍说可以很好的诱导面试官。很多面试官会顺着自我介绍继续提问,了解你做的项目和论文。面试的多了,自我介绍后来就成为了肌肉记忆,非常熟练。
项目/论文
个人认为项目/论文是面试最关键的部分。面试官首先会让你介绍下自己做过的项目/论文,然后针对介绍内容进行提问。如果项目/论文聊的时间很长,而且比较愉快,那么后续基础和算法部分就会放水甚至直接跳过。建议以做课程展示的方式去叙述项目/论文,事先将要将的内容写成讲稿,然后背下来。例如,对于论文来说,可以按照introduction部分的格式进行介绍。面试官在短短的十几分钟内,一般很难问出优质的问题。所以,问题大部分集中在实验上(用了什么数据集、实验如何设计)或者算法上(模型的细节、损失函数和优化过程)。除此以外,会引申出一些基础问题。比如论文和RNN算法相关,那么可能就会问到序列模型的一些细节。
基础
基础知识包括机器学习、深度学习的一些常见知识点,重复性非常高。这里没有什么好的方法,需要去收集一些面经,去针对性学习。如果时间较充裕的话,还是建议去找一本书去系统的学习下。对于缺乏项目/论文的同学,基础知识部分就需要相当扎实的基础。个人在面试的时候基础知识经常答不上来,所以后来就把项目/论文环节拉长,缩短基础部分的面试时间。
算法
算法的考验基本是逃不开的,这部分可以说最难,又可以说最简单。一般来说如果算法题没写出来,基本面试就结束了,除非前面表现很好。题目不会跳出LeetCode,因此刷题是必须的。记得当时从3月底开始刷题,到最后劳动节结束面试,题目量大概到三四百左右。刷题顺序可以先刷LeetCode里的热门Hot一百和精选Top面试题,然后再根据自己的需求选择不擅长的题型刷。这里推荐https://github.com/labuladong/***ing-algorithm,虽然这份题解有抄袭争议,但是写的确实不错。 至于个人的一些刷题经验,我是属于死记硬背类型。在做题时,先自己尝试十分钟,如果写不出来,直接看题解。把题解读懂后,多做几遍加强记忆。与其说是把题目理解了,不如说是把题目背下来了。