如何准备面试¶
最近又是秋招季节,有一些同学问我如何准备一场秋招面试,特撰此文。
本文面向准备互联网和人工智能企业的机器学习算法岗位(机器学习、计算机视觉、自然语言处理、etc.)面试的同学,不同企业和岗位的面试流程会有很大差距(其实开发岗应该区别也不大,但是不同行业的区别真的很大),如果有需要的话可以看情况再写。
面试流程¶
一般来说,机器学习算法的面试可以被概括为两类:研究面和代码面。顾名思义,研究面只问研究,代码面只考算法题。当然,把这两种结合在一起,前半小时问研究、后半小时考算法题,就得到了更为常见的混合面。绝大多数面试都是混合面,但我也经历过一小部分的专题面试。
面试之前¶
在进入正文之前,我想先鼓励你从面试官的角度看一下自己的简历。
与你自己(或者其他熟知你的人不同),面试官在开始面试之前对你的了解只有那一页A4纸(如果你真的有2页甚至3页简历的话,请务必确保上面的内容是真的有用的,并且真的写满了⅔页);还有在面试正式开始之前的一段2-5分钟的自我介绍。这就是面试官对你的第一印象,而之后的提问都会与你的这一页纸和3分钟介绍有关。
所以,请务必确保你的简历上的内容和你的自我介绍是足够有信息量的。这其中的大忌是在自我介绍当中重新读一遍你的简历(当然,如果你的面试官有视力障碍的话则或许不适用)。对我而言,我一般在简历上写工作内容,而在自我介绍当中介绍我在所有工作当中的心路历程(e.g., 为什么会选择这份工作、为什么会选择离开这份工作)。
你也可以准备你自己的自我介绍,但请务必铭记在心,所有的提问都会和这三分钟有关。请尽可能的让他更具信息量。
研究面¶
研究面说是研究其实更多是问你过去的经历,只是这个经历对于机器学习算法岗位而言更多是研究而已。我个人一般会挑一段工作经历和一篇论文深入去问,每个会投入大约十分钟的时间(所以你最好在自我介绍的时候就重点介绍一下最想被问到的东西)。所有问题主要考察你知识的深度(所以不要怕问到你回答不出来,因为我一定要问到你回答不出来)和广度(没事儿多看看论文还挺好的)。之后,如果还有多余时间的话,我会天南海北的问问别的,比如跟我分享一篇你最近看过的很喜欢的论文,你对ResNet的理解,etc.
代码面¶
我从来不刷题(除了准备微软的面试时以外),但是大家的题目都处于我能做出来的范围之内。个人感觉你会常见的数据结构的操作就问题不大了。
让我想想,好像也没啥了。祝愿大家面试顺利,offer多多~
壬寅年秋分
于海淀路
prepare_interview.pdf