ppyybb
2018-10-14 00:33:29 +08:00
刚刚进入面试领域,面过 10 几个应届生。
我觉得有几点,第一如果是视频 /现场面试要写代,代码题不要太难,也可以不涉及过多算法知识。记不住的 api 可以写伪代码,限时 10 分钟,可以适当延长和提示。主要目的是考察这个人的编程能力,毕竟招人干活的,你也不喜欢同事代码都写不利索吧。
然后,问一些算法知识,这一块比较重要,首先考察这个人的思维能力 /反应速度 /学习能力,这是个人能力的核心考察点之一。难度的设置要合理,先问简单题目放松一下,让面试者进入状态,然后问 2 到三道中等难度的题目,如果表现好就加大难度,直到你问不出来或者对方明显吃力为止。
接下来,根据候选人简历来问,如果候选人是专业打 acm,或者刚转专业的,可能没有多少计算机基础知识,这个时候就需要着重考察对方的思维能力,coding 能力了,建议先问一道开放性的,有较大难度的问题。比如我个人问过如何实现一个 2048 的 AI (候选人是专业 acm 选手),大约讨论了 20 分钟左右。候选人给出了状态机+寻路算法的解答,我则又提供了一些关于评估函数和搜索的思路。
如果对 coding 能力要进一步考察,这时候还要考察一些有一定难度的算法题,讲思路并且实现出来。
最后就是考察计算机基础,语言 /数据库 /网络 /操作系统 /编译原理 /分布式 /开源项目 /大数据 /前端 /ml/数学,对方熟悉什么,你就问什么,挑一两个问即可。
由于你不是最终决定者,所以可以根据公司的要求来进行调整,全部问完时间一般太久了,最好限制在 45-60 分钟左右。对于比较水的候选人,尽量面到 30 分钟,以免显示不太尊重。最后问一下对方有什么想了解公司的(注意不要问你有什么问题想像我咨询的,尽量避免和个人联系起来,否则对方可能会问你一道算法题或者工资什么的,这样就比较尴尬了....)