废话
几年以来的牛马经验让我发现,不仅求职者难找工作,企业在招人方面也存在一些问题,总的来说就是需求和标准不统一。原因就在于面试官不知道对于该职位应该问些什么问题,故在网上或自己的认知中随便抽取一些问题来问。所以最终可能就会导致面试时对答如流,但实际工作起来不是一回事。此类问题在中小企业尤为明显,大公司采用地毯式面试,直到问到祖坟位置才肯罢休,所以再差都不会差到哪儿去。
假如我是面试官
-
明白需求
首先,明白用人需求,根据需求招人。有的公司标着5k的薪酬,却问着50k的问题。(这不是夸张语句,我曾被一家创业公司问到对IPO的看法)这就好比你想买一套房,你需要先考虑清楚你想买一套什么样的房,其次是你能承受的价格,当这两个条件满足时你可以毫不犹豫的买下来。而不是说你只想买套房,具体什么样不清楚,不管什么价格都希望再便宜一点。即使是房的质量和价格在市场上都极具性价比来说,你还是会畏手畏脚,不敢一举拿下。 -
提出问题
如果你明白了用人需求,那接下来要做的就是根据需求制定对应的面试题了。对于面试题的制定我认为可以根据不同的职级分为三个部分,一部分为基本、一部分为合格、一部分为优秀。当然,达到优秀部分者,在薪资中也要有一定的提现。 -
多说一句
好的面试官,只需要一次面试即可 -
解释
还是有必要解释一下为什么多说一句。这就好比如今去医院看病,甭管是脑瓜子还是脚丫子,先去拍个片再说。最后医生拿着片子看两眼说了一句“没什么事儿,回去吧”。但是,华佗可不敢让曹老板去拍个CT,再告诉他没事。而仅仅是通过自己的经验便知晓曹老板脑袋里有脏东西。
假如我是前端面试官
首先,对于不同职级,我有不同要求。
- 初级
1:能处理常规业务需求 - 中级
1:能写出高质量的业务代码
2:具备一定的工程化方面知识(可根据此判断 属于中级的某一阶段) - 高级
1: 对整个前端项目负责
2:全面的工程化知识
3:性能优化方案
4:技术选型
5:项目难题解决方案及实现
6:保证整体代码质量
7:对整个软件开发的各个环节有一定认知
接着,对于不同的职级我会制定不同的面试题。在制定面试题的时候一定要思考你的需求和题之间的映射关系。
例如:
对于初级的处理常规业务需求,在我看来就是基本的增删改查,基于增删改查这样的功能需要用到什么技术去解决?无非就是数组、对象的一些方法使用,其次就是一些关于语言或框架的基本认知,再者就是Git的使用。对于这个职级的人来说,不要抱有太大的期望,往往需要更高职级的人对他们做codereview以提高代码质量。
对于中级的高质量业务代码需求,我会从代码的可维护性和可扩展性以及健壮性展开了解,比如了解他是不是一个组件写1000行代码那种,你如果直接问,他肯定会说不是。这种问题得侧面问,比如你的目录结构是怎样的,或者说什么样的情况下你会抽取组件。
对于高级。。。(能力有限,过几年再说)