知己知彼,百战不殆。
要面试success获得offer,首先得抓住面试官的心。下面来瞧瞧“我”是怎么面试测试应聘者的,希望对广大应聘者和面试官能有所帮助。
一、写在前面
年后公司测试岗位又有空缺,最近一直在面试测试岗位,正巧手上又有新的项目会比较忙,所以想培养公司其他人出来替代我面试测试岗位,做一个「一面」,可以帮我初步赛选出来一部分靠谱的人,也能多给其他人一些锻炼的机会。
首先我让他们在我面试测试人员的时候旁听,找找感觉,看看需要关注的面试点;然后感觉他们差不多可以了,就先找一些应届生或者一年经验的让他们先练练手,和面试者先聊聊看看人靠不靠谱,如果靠谱,之后我再进行二面。
因为我们公司的产品主要是关于App的,所以App测试相关的关注的比较多。那么这里简单分享一下我对他们简单的培训内容和我在面试的时会关注的哪些点。
二、面试测试人员都在面什么
1、能力要和工作年限相匹配
测试岗位哪怕是纯手工的功能测试,也是有基本技能的。简单来说,如果一个两三年以上经验的优秀测试,是可以理解一部分功能逻辑的;拿到新一版本的功能,可以明确知道哪些是边界值,如何触发,哪些是开发人员最容易出错的地方,如何帮开发快速定位问题,常见错误可能出现的原因,能和开发沟通清楚问题等。
这些可能就需要借助一些工具,例如:adb使用,抓包工具的使用,截取设备的崩溃Log等。
这些工具的掌握程度,直接反映了面试者的工作效率,常用的吃饭家伙,应该是拿起来就可以用的,这些技能,基本上看一篇文档,熟读一下就可以搞定。
如果只是应届生或者一年左右经验的,那么就看这个人沟通能力,学习能力,测试的流程是否熟悉等等。
2、顺着对方的技能树提问
上来我会先扫一遍面试人员的简历,开场的提问都会顺着简历上的技能树,或者工作经验中提及的一些技能去提问。
写在简历上的技能,肯定是会抽取几个问的。根据实际情况,一般会结合公司自身可能需要用到的一些技能,进行提问;如果这些被写在技能树上的内容,回答起来有明显问题,这样肯定是要扣分的。如果抽取的几个问题,回答的OK,还会问一些没有被写在技能树上,而公司内又会用到的技能,看看回答情况,一般如果了解都能说几句,但是回答不上来也没什么。
一般对方简历的技能树上,肯定会写一些有经验的领域,例如:移动端,Web端,PC端之类的,也会提及一些工具的使用,比如:Appium,Monkey,ADB,Fiddler等。
我们主要关注的是App端的测试。通常会先问一些比较简单的问题:
- Monkey和MonkeyRunner有什么区别?
- ADB如果同时连接了两个设备,如何在指定设备上安装App?
- Appium有什么缺点?
- Fiddle抓Https的包,需要怎么配置?
最好开场的时候,不要去提一些对方不熟悉的领域的问题,以一个面试者熟悉的工具的使用作为开场,是一个不错的选择,这样在心理上可以让对方更容易进入一个舒适的面试谈话环境。
3、擅长的领域看细节,不擅长的领域看思路
原则上,这个点在面试任何岗位都生效。在对方比较熟悉的领域,多问一些技术细节,常用的东西总不会有记不清楚细节的情况。而不擅长的领域,则看思路了,实际就是解决问题的能力,遇见问题有思路,基本上就可以更快的解决问题。就怕不知道向何处使力,而有思路的话,一些问题都是可以通过搜索引擎解决的。
如ADB连接两个设备的时候,想操作某一个设备,怎么办?对于知道的,肯定就知道加一个-s的参数指定设备即可,但是不知道的,哪怕是回答我,拔掉线先断开一个设备,再操作,都可以,虽然low,但是能解决问题。
4、关注个人经历
通常我不会太关心毕业院校,但是我会关心面试者之前所在公司的规模和性质,因为不同规模的公司做产品和项目的流程都有很大的差异,但各有各的优缺点,不同的环境本身也可以培养出不同的人。
在什么样的公司,参与过什么项目,在其中承担什么责任,同时也能从侧面反映出这个人的能力。
很多人参与过这个产品的项目,虽然这个产品非常的牛x,但其实他可能仅仅是参与过,所以我会对这些项目的问一些细节的问题,碰到过的困难,如何解决,来分辨出到底只是参与过,还是真的和这个产品一起成长过,优秀的人才是可以随着产品的发展一起成长的。
其实这些的核心,还是在人身上。要看这个人的成长潜力,是否有上进心,其实很多技术,只需要肯学习都不是问题。
前几天碰到一个六年经验的测试,来面试功能测试的岗位。差不多两年一跳槽,但是问到一些比较常用的技术,却是一问三不知,只是停留在点点点的地步。问为什么工作六年没有想过学习一些这些技术来提高自己,回答居然是因为差不多觉得已经没有学习的东西了,就换个环境,然后重新开始。我觉得象这种六年的时间没有办法把自己工作中的技能总结出一套适合自己的技巧,每次换个环境就需要重新适应重新调整,真的很难说能有什么大的成长空间,其实很多东西都是相通的。
5、8小时之外看他如何成长
我会关心应聘者在工作之余会以什么方式来让自己进步,通过什么渠道来吸取新鲜的知识,有没有明确的目标,为什么做比做什么更重要。
有上进心或者说有野心并没有什么错,可能有些人会比较关注这个人为什么跳槽比较频繁,其实我觉得一年到两年跳一次真的很正常,只要每次跳槽都知道自己要什么,有什么目标,对下一家公司有什么要求,如果公司的成长赶不上自己的成长,离开是很明智的选择。这样的人,有清晰的目标,知道自己想要什么,会努力的向自己的目标努力。
公司和员工本来就是相辅相成的,很多时候员工的成长也会给公司带来更大的收益。
6、是否能帮开发节约时间
虽然Bug是开发写出来的,但是优秀的测试是可以帮开发快速定位问题的。无论从描述问题的角度,还是通过一些技术手段提前定位问题,然后开发能根据这些场景来确定到底是什么样子的问题。这些技术手段学习成本真的不高,但是的确可以体现出这个人的价值。
最怕的就是,发现一个Bug,提交到管理系统中,开发还需要过来问一句,你说的是什么?能帮我复现一遍吗?
7、根据岗位需求面试
一般有岗位缺口的时候,都有明确的标准,需要招一个什么水平的面试者,哪些是其基本技能需求。如果招初级测试,一般就是看这个人的沟通能力,是否细心,能否稳定有培养价值。中高级的测试,一般都会是要求进来就可以直接上手工作,熟悉的只是公司产品特点。
不要盲目的去关心一些不需要关心的问题,可能有人觉得东一句西一句可以打乱面试者的节奏,让他更能表露出本性,但是把面试者问的尴尬异常,并不是我们的目的,我更希望在一个双方都舒适的交谈环境中去交流去面试,这样可能更能看的清楚一个人。
8、不要有SOP
SOP就是标准作业流程,很多人做事情,是有自己的一套标准流程的,俗称套路。放在面试官这里,就是会有自己的一套面试问题,先问什么,再问什么,如果对方的答案在自己的预期内有加分,不在预期内就减分。虽然这样简单,但是不要这么做,每个问到面试者的问题,最好要明确并且合适对方的经历,而不是按照自己的流程来做。
可以有固定的目的,问的所有问题都围绕自己岗位需要的核心,例如倾向于功能测试,倾向于测试管理,倾向于自动化。而不是用自己的一套问题来让面试者回答。
这样其实对面试官也是一种锻炼,可以看到不同的人,锻炼自己的眼力。这种锻炼是很快就能反映出来的,如果招进来一个人,三个月试用期都没过就被刷掉了,面试官也需要反省自己哪里看走眼了。
三、总结
好了,扯淡就扯到这里,其实有一些技巧,作为面试官,在面试任何岗位的时候都是共通的。最后说一句,面试的时候尽可能的找面试者的缺点,招进来以后,尽可能看他的一些优点。如果能找到的缺点都是可以被容忍的,那么其实问题也不大了。