一个资深面试官的测试工程师招聘心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个资深面试官的测试工程师招聘心得
最近一段时间都在做集中招聘,参加了许多,累个半死。加上之前在团队中最近几年也做了不少面试,关于测试工程师招聘的话题,刚才没事特意google了一下,除了一些面试题外居然没有几篇心得方面的文章。上午招聘轮空,抽空写一下自己的看法,仅供参考。记得看完即焚。
所有团队的招聘,基本上都是要找最“合适”的人,而不是技术最强的人,或者最优秀的人。技术最强的人不一定合适,原因有很多,
1. 岗位一定的情况下,并不需要超出岗位能力特别多的人,完全没有这个需求。
2. 性价比问题。因为这些人比较“贵”。如果不给比较高的待遇和级别,无法吸引这类候选人。
3. 如果团队的整体技术水平是6分(满分10分),但候选人是个10分,你觉得他会很乐意跟水平是6的人合作吗?就像把詹姆斯请到cba来打球,即便你付得起薪水,詹姆斯自己也会很郁闷,在
他眼中“不怕神一样的对手,就怕猪一样的队友”。
4. 对管理的挑战比较大,一般来讲,强人一般在融入团队方面有点小问题,除非遇见了比他更强的人。可以参加下文的非技术部分。
招聘的目的就是要找到最“合适”的人,跟结婚很像,要选择跟自己搭得上的,自己不帅还要那些脸蛋漂亮、身材火爆的,没用,早晚得离,弄不好还给自己带一顶绿帽。
在团队管理中也要充分发挥每个人的长处,扬长避短,让合适的人做适合的事情,才能让团队的贡献最大化(这是另外一个话题,以后有时间再写)。所以在招聘中要试图去发现候选人更多的优点,而不是找他的缺点。你很容易就用一道特别难的题把候选人给问住,或者使劲在他不熟悉的领域让他难堪,除了打击一下候选人的自信之外没啥意义。所以整个面试过程中,多数时间都花费在找优点上。只要不是特别严重的缺点,都可以通过后期的团队管理来弱化其影响。
技术方面
首先要确定,测试工程师是一个技术岗位。为了彰显这一点,许多公司都把测试岗位的title 改为测试开发工程师,像微软的sdet(software design/develepment engineer in test)、谷歌叫set(software engineer in test)等。纯粹的手动黑盒测试工程师早已不复存在。所以,技术技能是最基本的要求,我会针对初级岗位、高级岗位或专业岗位的不同要求来讲对招聘的要求。
代码能力
对于测试开发工程师的招聘,由于其是基础岗位,要求也是最
基本的编码能力,所以针对这类岗位,我一般会花费80%的面试时间在技术考核上。之前很多团队遗留下来的恶习,总是觉得测试对技术的要求不高,强调“Test Sense”的重要性,我不是否定它的重要性,但对于应届毕业生或者初级岗位的人,压根儿没做过测试,他有个屁的test sense,还不如去花点时间考核候选人的逻辑思维能力靠点谱。我一般喜欢让候选人现场写写代码,对绝对不是那种巨**的算法问题,一般都是二分法、字符处理、简单数据结构相关的小题目,只是想看看候选人有没有基本的代码功底。在review代码的时候可以有针对性地对编码语言的一些关键字提问,看看候选人的代码掌控能力。基本上,只要能把自己想法通过代码实现且没有大的逻辑错误,在代码考核这一关都会放过。但如果要得到很高的分数,那必须在代码的可读性、异常处理、算法效率、可测试性方面有比较好的表现。我认为对于测试工程师来说,写代码的能力是必须要有,但不一定要求到达“精通”的地步,特别是在算法效率方面。很多的测试工作,都是在工程系统的验证层面上,你要那么牛逼的算法背景做甚? 未来转岗去开发吗?有人可能会在这里崩出来说了,编码语言不精通说明潜力不足。潜力是什么?潜力只能说明你现在能力很差而已,有很大的上升空间。幸亏我写这篇文章的时候只是沉溺在自己的思维世界里,否则还不被那些唱反调子的人给恶心死。好了,继续聊我的。具备了基本的代码能力,可以写自动化的程序或者工具即可。在测试程序的算法效率和巧妙性上花费太多的时间,我觉得这是一种不务正业的表现,除了有助于提高你的个人技术之外,对于公司的项目没有任
何的价值,对于测试来说,其自动化用例的编写的效率要比执行效率重要的多。在实际的工作中,脚本语言是也是测试代码的最爱,life is short, test in Python,道理大家都懂。