因为一些原因,最近频繁参与互联网技术人员面试,JAVA、Android、IOS、前端……虽然以前对软件系统建设略有接触,但也只是大致了解各自的分工以及基本的任职要求。而作为面试官则不同,不仅需要知道岗位任职者需要具备哪些知识、技能,还需要判断求职者是否具备相关的技能,和猎萝卜小编一起了解。


  按照常规的做法,对专业类人员的面试通常由HR与企业内相关专业的负责人共同来面试,HR主要负责判断求职者冰山之下的各项要素是否符合企业的要求,比如性格、动机、价值观等,而冰山至上的知识、技能部分则通常交由专业人员来考量。


  然而,现实工作中很多时候并不都是按照正常做法来开展的,老板突发奇想要组建一个新的技术团队,而公司并没有相关的技术大牛,HR只能被赶鸭子上架了……HR在面对诸如沟通能力、逻辑能力等这样的通用能力素质还比较好应对,最难的可能就是专业知识与技能了。


  因为不仅要判断求职者具备了哪些知识、技能,而且还要对他们说的话进行甄别,不至于被蒙骗。要判断一件事情的真伪通常有两种方式,一种是逻辑推理,就像是做证明题一样,要证明求职者是否具备相关能力、求职者描述的信息是否真实。另一种是事实证明,通过实实在在的结果来表明其具备相应的能力。下文所讲的方法正是基于这样的道理来设计。


    blob.png


  一、了解该岗位的知识、技能点


  准确来说,这并不属于人才甄选的内容,而属于任职要求的一部分。在面试陌生领域的技术人员时,一定要实现了解知识、技能,对于一些陌生的概念、词汇要通过百度进行了解。


  那如果公司本身并没有这些内容,可以通过招聘网站看看同类型公司他们对于求职者的任职要求中提到了要掌握哪些工具、技术,这有利于后面提问问题的设计。


  二、掌握基本的常识


  在面试技术人员之前,我们还是对企业打算开发的产品的功能、以及各个岗位的职责、典型的工具要有个大致的了解,通过这些了解,至少知道该提什么问题。比如,后端常用的编程语言java、C++、PHP等大致听过,搞清楚公司打算用哪种语言。前端通常有哪些框架,什么是开源系统、什么是数据库……这些内容,百度基本都能获得。


  在这个地方,如果的确是对相关技术一点都没有基础,甚至都不知道从哪里问起,可以找认识的做技术的人员,让他们帮忙拟定一个面试提纲,而你只需要判断求职者在这些方面所具备的知识及技能状况。


  三、运用必要的面试技巧


  对于我们比较熟悉的内容,比如人力资源、管理类岗位,求职者一开口,我们基本上就能够判断他的知识、技能大致处于什么样的水平,也很容易分辨出求职者所表达信息的真伪,对于面试技巧之类的其实并不那么重要。


  但对于一个几乎完全陌生的专业而言,由于缺乏相关知识和经验,无法根据求职者所表达的信息准确判断他们所处的水平,甚至都很难分辨求职者所表达信息的真伪,这就需要依靠一些面试技巧弥补知识和经验上的不足。比如STAR面试法,通过这种结构化的面试方法,相当于重现了求职者在以往工作中的表现。一方面有助于面试官全面的判断其参与的广度、深度,进而推断其知识、技能水平;另一方面,各个环节之间有着严密的逻辑关系,如果求职者有意捏造信息,面试人员很容易发现逻辑方面的漏洞。


  四、从过往经历判断能力


  以往的项目经验也是判断求职者技能水平的一个方法,具体而言,可以根据项目复杂程度、求职者在项目中扮演的角色、项目实施的效果、市面同类产品数量等几方面来判断。如果所参与的项目复杂程度很高,而且在里面是主要的负责人,或者负责主要模块的开发,而且项目几乎是原创,项目实施效果也不错,那基本上技术水平应该是不错的。


  当然,这也会面临一个问题:一个外行如何来判断项目的复杂程度?其实,可以大致从系统功能模块数量、核心模块实现难度、业务复杂性等来判断。比如,如果系统只是一个简单的信息上传、信息展示,那就比较简单。但如果包括了会员、交易,则复杂性会有所提升。而如果里面还涉及到会员分级、会员积分、营销以及其他各种例外情况处理等,复杂性则会进一步增强。


  而对于不同角色的人员而言,其所负责的工作的深度、广度会有所区别,进而对于个体的知识、技能要求不同,从中积累的经验也会不同。


  至于要参考市面同类产品的情况,则是考虑到是以往的工作是纯原创开发还是有诸多的借鉴,不同类型的开发,对于参与人员的要求也会有很大的差别。


  五、从工作成果看能力


  在面试的时候,有些求职者会将自己的产品主动展示出来,并且告诉自己做了哪些部分,其中的亮点是什么。但有些求职者就会找各种理由,比如产品没上线等。虽然这不能否定没有展示产品的求职者技术水平不行,但主动展示的求职者,我们可以判断出功能复杂性、运用的工具多少、用户体验好坏等,也能从一定程度上判断他的技术水平。


  六、巧用提问


  对于某些知识、技能点,其实还可以通过求职者的回答来判断其掌握的深度。比如,我们可以问:


  常用的工具有哪些?


  不同的工具有哪些特点?


  针对我们的功能/场景需求,你会选择哪种语言/工具,为什么?


  ……


  虽然我们并不具备辨别求职者的表述是否正确的能力,但求职者本身并不清楚这一点,我们可以通过求职者的回答对于问题回答的条理性、流畅度、丰富程度来判断他对于相关方面的了解情况。如果求职者对于所提出来的问题能够条理清楚回答,而且比较顺畅、深刻(比如不同工具之间的对比不是停留在一些表面的操作层面,涉及到用户体验、扩展性等方面),还能举一些例子,则说明他的确是对这些工具比较了解,还有过运用经验。


  反之,如果回答问题时断断续续,说的都是一些表面的问题,那基本可以证明他对这些方面是不了解的。


  当然,在面试之前,最好拟定一份相对全面的面试提纲,并且通过面试不断优化,至少让求职者感觉你并不是外行。


  七、认真观察辨真伪


  前面讲的几方面是指从哪些方面去考察求职者,但由于自身并不懂专业,不能判断答案的对错,这可能会面临一个问题,如何判断求职者的回答的真假呢?有两个简单的方法供参考:


  (一)利用微表情


  简单来说,可以从求职者的语速、手势、眼神来判断其表述的真实性。如果求职者对于提出的问题非常熟悉,回答时语速会比较正常,说到拿手的地方可能还会眉飞色舞、情绪高涨。但如果对所提问题并不了解,需要回忆、思索、编造,这就需要一边说一遍快速会议,语速会放慢,而且条理性会较差,经常出现语无伦次的现象,且眼睛通常会向左下斜视,双手可能还会相互交叉紧握。


  (二)重复提问


  针对某些有疑问的点,可以在不经意间重新问起,而且在重复提问的时候,一定是在上一个问题刚回答完即刻提出来,且这个问题最好衔接的比较顺畅,不要过于突兀让求职者意识到这是个陷阱。比如,我们问求职者在项目中的角色是什么,如果他第一遍回答的是项目经理,那么可以接着问都需要做哪些事情……问了一会之后,可以立马问项目你平常主要向谁汇报工作……


  当然,这些方法只是这几天在面试过程中的一些浅显的思考,还有待实践的检验,在此抛砖引玉,希望大家能够说说自己的好方法,共同成长。