申请CS博士项目的过程往往是跌宕起伏的,对于大多数同学而言,在准备面试和面试期间会感到尤其紧张。本文将分享笔者在申请季准备委员会面试的经验,希望能给后来申请的学弟学妹提供一些有用信息供参考。
最终能不能拿到offer是带点玄学的,能有面试机会已经说明了你的背景条件十分优秀,至少已经过了这个学校录取的最低bar或者你的申请材料已经引起了意向教授的兴趣,所以不管是保底校还是彩票校,在面试时一定要展现自己最自信的一面,既然决定了接受面试,就拿出最认真的态度对待。
笔者总结了一些面试他人时对方给自己的加分项并结合部分面试官(大多为教授)对于面试者的看法:
1. 如果是视频会议请务必打开摄像头,这是最起码的尊重也是为了避免有人代面。
2. 不管什么地区的学校,除非华人老师主动跟你说中文,不然都默认讲英语,准备的时候也要按照英文面试准备。
3. 如前面所讲,在心态上需要把PHD当做一份工作,也要把PHD面试当做工作面试来认真对待。
4. 面试的时候最好找一个安静的没人打扰的房间,嘈杂的环境会影响面试质量。
5. 面试前最好打理下个人形象,视频能看到的那部分着装不要过于休闲(睡衣之类的就先别穿了哈)。这些并不是让同学们去拼颜值而是最起码显示出咱们花时间充分准备了并且想给对方一个好的第一印象显得足够尊重对方。
自我介绍不一定会有,通常简单准备一下,能流利说出来就好。
按照笔者申请Phd时的经历,面试时重点会问的内容大致分为三类:
1. CS专业需要掌握的基础知识;
2. 自身研究经历相关问题;
3. 开放性问题。
数据结构与算法
常见算法:需要熟悉掌握各种排序算法(如快速排序、合并排序)、搜索算法(如二分查找)、以及图算法(如Dijkstra和DFS/BFS)。理解它们的时间和空间复杂度是关键。
数据结构:掌握数组、链表、栈、队列、树(如二叉树、AVL树)、和图等基础数据结构。理解它们的应用场景以及操作方法至关重要。
数学
微积分、线性代数、概率论等都需要全面复习一遍。
以上内容是CS专业的基础,面试官可能随机从这些知识里选取几个进行提问,如果答不上来会让面试气氛变的异常尴尬。。。当然,有些PhD项目可能会有更多的知识(如操作系统、计算机网络、人工智能等等)需要掌握。总的来说基础是重中之重。
2、自身研究经历相关问题
面试官通常也会详细问咱们简历上写出来的项目经历,咱们自己必须要非常熟悉这些项目。首先对于自己的每个项目要能够准确说出以下的内容:
• 用一段话概括项目的‘high-level idea’;
• 用15分钟讲清楚项目当中的核心方法等等。
面试当中也许没有机会给面试官看slides,要准备好精炼准确的语言进行介绍。虽然面试官大多是领域内专家,但是也要假设他对你的工作不了解的前提下进行阐述。可以从intuition和high-level idea开始讲,循序渐进。一般来说对方想了解的点有:
1. 看你对自己的项目是否有足够深入的理解;
2. 你在项目里的具体贡献,看看在技术方面是否为对方心仪的人选;
3. 研究兴趣是否匹配。
此外,一些项目中非常细节的技术问题也可能会被问到,比如你构建的方法其中一些模块的具体设计与思考、同领域其他研究方法的异同等等。
在问完一些技术性细节之后,往往还会有一些开放性的问题,比如:
1. 为什么想读PhD?
2. 为什么选择这个学校?
3. 职业规划?
4. 甚至是你对领域研究方向的看法?
这些问题的回答因人而异,主要是别让对方觉得就算给你offer你也大概率不来,或者你对这个申请项目不感兴趣。
最后我们也有机会问面试官一些问题,大家也要提前想一想自己想要了解什么。
希望大家都能够顺利拿到自己想要的offer!最后,祝大家科研顺利,生活开心!
目前已有1700+人关注加入我们