大家好,我是财哥,今天为大家带来互联网测试岗位校招第二篇:知己知彼百战百胜。
在职位选择篇一文中,我大概介绍了测试岗位的现状,从战略的角度给大家分析了测试岗位未来的发展可行性。如果你已经下决心要投递校招岗位,那么本篇可以作为步入测试岗位校招的大门。所谓「磨刀不误砍柴工」,为了拿到一个合适的测试offer,我们需要全力准备,在机会来临的时候,做一个最有能力接触机会的人。在本篇里,我会首先给大家列出对应的准备项,然后就每个准备项进行分析。这里不仅要告诉各位学弟学妹们该准备什么,也会去详细分析其原因。那么作为测试校招来说,我们需要到底需要准备什么?
我想无非是以下几项:
- 了解测试岗位和目标公司
- 一份合适的测试岗位简历
- 提前准备刷测试题
- 面试与其中注意点
本篇先粗略地引出一些概要性的内容,在后面我们会更加深入地讨论具体的细节。
第一部分:测试岗位和公司的了解
在前面一章里,我已经对测试岗位做了基本的分析,这里我们仍旧还是要再谈下测试岗位的相关要求。一般来讲,对于校招生来说,测试岗位会要求如下:
- 软件测试专业、有学习过软件测试课程、有过软件测试岗位的实习经历(三者任选其一,全中就binggo)。
- 愿意在软件测试岗位长期发展(面试必考)。
- 聪明(随机应变),表达能力强(整体沟通过程流畅),整体逻辑思维能力强(遇到困难能够有自己的思路和方法),做事情有计划性,能够在压力下调整自己的情绪。
- 对软件测试流程,测试方法,测试工具有所了解。
- 有相关编程语言的使用经验(C/C++/Java/Python/Go,目前Java,Python对于测试岗位来说,相对比较火)。
- 掌握基本数据结构和算法能力。
软件测试岗位考核的点基本是围绕着这六点进行的。从面试官的角度,我按照重要性从前到后罗列出来。作为一个过来人,我觉得每一点都是能够好好准备的,所以拿到offer的人大部分都是七分准备,三分实力。那下面我就每一点来展开说下该如何准备。
第一点:软件测试专业、有学习过软件测试课程、有过软件测试岗位的实习经历
这个可能会难倒很多非科班出生或者是没有实习经历的同学。当下已既成事实,如果没有学习过测试课程,或者确实没有实习经历,肯定是不能捏造事实的。这里我得强调一下,公司在面试选拔人才的时候,不会以个人角度考虑而照顾任何人,任何时候都是择优录取。校招过程中,倘若面试官看到简历里有说这方面的经历或者经验的校招简历,肯定心里会默认加分,原因如下:
1)软件测试专业,学习过软件测试课程,或者有过软件测试实习经历的校招生,在入职公司后的培养成本会小很多。在公司里,其实导师并没有很多时间去照顾校招生。作为导师,至少是不希望徒弟给自己拉后腿,肯定希望在培养校招生上的时间越少越好(太真实了),那么如果你有过软件测试背景,那就意味着你上手要快很多,这样导师也会少操心,所以这一点很重要。
2)有过这类经历的校招生,如果来面试软件测试岗位,基本都是人岗对口了,说白了就是对的人遇到了对的事儿。这样的人在来公司以后会更稳定,不会轻易换岗和跳槽,就好比一对恋爱多年的情侣,肯定比刚谈恋爱的情侣结婚可能性相对更大一些,了解过彼此还在坚持,说明比较合适,更长久。
3)学习过测试课程或者有过测试实习经历,也经常意味着对公司的软件测试岗位有所了解,特别是一些有问题,痛点的地方。毕竟公司不是为了让人舒服而设立的机构。公司是为了某个特定商业目标而成立的,为了是效率最大化,公司会召集各路人才来为企业创造价值。在公司上班,或多或少有一些让人不尽如意的地方,如果你有这方面的经历或者了解过行业实情,也代表你对此类事情的忍耐力较足,不会在中途突然为了一些工作上不顺心而离开公司。
以上是面试官对第一个考核点的青睐原因。一般来说,只要第一条匹配度足够高,绝大部分中小型公司的关卡就过了一半了。中小型公司更注重来了能快速上手,对大部分一二线互联网公司来说,这一点也同样是非常重要的。既然这一点如此重要,对于没有学习过软件测试课程,或者没有软件测试实习经历的人来说,该如何应对,提高自己的竞争力呢?
如果你没有测试实习的经历,去捏造一个经历基本是不可能的。面试官基本都是工作三年以上的职场人士,对于很多社会现象都早已见怪不怪,这些捏造的东西他稍微试探一下就能知道虚实,所以千万不要捏造实习经历。另外,即使是通过捏造实习经历,成功拿到offer入职,日后在职场上也需要用更大的谎言弥补,这样对工作和生活也是极为不利的。那我们该如何去美化自己的过往呢?我建议每个准备投递软件测试岗位的同学,花两三个月的时间去认真学习下软件测试课程,如果手头宽裕的话,建议报名一些线上测试网课(直播,老师最好是bat出身的,有经验背景的),两三个月的时间足够让你在软件测试上有一个基本的理解度。如果只花上几百块钱,付诸两个月的时间就能达到这种效果,且让面试官觉得你在学习上很有进取心,最后拿到一个心仪的offer,何乐而不为呢?
第二点:愿意在软件测试岗位长期发展。
如果你在第一点上有足够的资本,且准备充足,这一点基本就不证自明了。我在实际面试校招同学的过程中,更多的是遇到第一点还没及格的同学。对于这些没有测试经历,也非测试专业的同学,有没有什么好办法弥补?其实只要你能在面试过程中,表现出在测试岗位上长期发展的意愿和状态,同样会给面试加分,那么面试官如何考核你是否愿意在测试岗位长期发展的意图呢?一般来说有以下几点:
1)加分项1:对软件测试的基本概念比较熟悉。如果你说自己很愿意在软件测试岗位长期发展,但是面试官问了你很多测试基础的问题,你大部分都回答不上来,那就很难证明自己的诚意和真实性。所以对于非软件测试专业和没有测试经历的同学而言,一些软件测试的常识是必须提前花时间了解下的(网上有很多总结),至少大部分问题得回答上来。
2)加分项2:自己的优势和软件测试尽量挂钩。做测试的人一般都有一些职业特性:细心,专注,思维发散,立场坚定,有打破砂锅问到底的精神。当面试时候,一定要能够用生活,学习中的一些例子来举证你的相关特点。这样其实也就是不断地暗示面试官:自己是个潜力股。这样面试官在考虑候选人对比的时候,会潜移默化地给你加分。
3)加分项3:自己的一些实习经历中有软件测试活动经历。比如自己有过参与一些项目开发的经历,可以复盘下当时项目开发中的质量问题,以项目为例,去思考下如果这个项目重新来一次,该如何从测试的角度入手保证质量问题,这样也可以在面试的过程中获得很多谈资。
第三点:聪明(随机应变),表达能力强(整体沟通过程流畅),整体逻辑思维能力强(遇到困难能够有自己的思路和方法),做事情有计划性,能够在压力下调整自己的情绪。
这个基本就是软实力的体现了,如果自己不具备其中的某点,短期提高短板的可能性并不大。我相信每个来参加校招面试的同学,肯定有一到多点是满足以上的特性的,在招聘中,面试官会青睐有长处的人,在长板效应之下,短板就不会显得那么明显,所以我们可以把其中任何一点结合自己的实际情况进行放大,给面试官一种错觉,让面试官忽略掉我们的短板。
第四点:对测试流程,测试方法,测试工具有所了解
这就不用多讲了,对于所有参加测试岗位面试的校招生,如果这三点都没法回答出一些东西,很难让人信服应聘者的实力,后面我会专门去将关于测试流程,测试方法,测试工具我们都需要做哪些准备。
第五点:有相关编程语言的使用经验(C/C++/Java/Python/Go,目前Java,Python对于测试岗位来说,相对比较火)
相信大部分的理工科的学生都有一些编程语言基础,就软件测试岗位而言,会比较青睐会Python或者Java语言的校招生。大部分测试工具都以Python和Java为主,如果你会这两种语言的话,肯定上手能力相对强一些,而且测试开发也会面临去review开发代码,写测试工具,做测试平台等等一系列的工作。如果你会的话,在工作过程中也会明显表现出较强的竞争力。对于掌握其他编程语言的同学来说,其实也无伤大雅,只要你的思路正确,学习能力较强,在踏上工作正轨之后,再学习一门语言其实难度并不大,很多校招题目中也会设立多种语言的编程题,以防止应聘者学习的编程语言不完全对路,所以只要比较熟悉一门语言,就已经非常有优势了。
第六点:掌握基本数据结构和算法能力
一般而言,数据结构至少要掌握数组,链表,队列,树等数据结构;算法包括常见的查找,排序算法。数据结构和算法与编程相关联的,在笔试或者面试中,很多面试官喜欢问一些简单的数据结构和算法题来测试应聘者的编程能力,所以作为应聘者而言,学校的数据结构和算法课程上的大部分课后习题就是最好的素材,只要把这些课后习题复习好,一般不难通过此类笔试面试的考核。这类考核的目的是为了察看同学们的基本功。算法和数据结构体现的是效率化工作的方式,在解决问题的过程中,我们拥有的解决问题的思路就是一种算法,不同的算法有着不同的解决问题的效率,而数据结构其实也是现实中各种事物间组织方式,最终考核的都是我们解决问题的思路能力。
以上给出的建议请基于自己的实际情况进行部分美化,千万不要捏造事实或者弄虚作假,因为进入社会以后,骗别人的成本和负面效应都会很大,更重要的一点是:骗了自己的初心,最终在人生某个点总会收到反噬,切记,切记!
第二部分:准备简历
下面我就如何准备一份合适的简历来谈谈软件测试岗位的准备项,简历准备这个其实是比较通用的,不管是测试亦或是其他的技术岗位,下面说到的东西都可以作为参考。
简历是一个人求职的门面:未见其人,先见其历。如果简历上缺失了一些必要的信息,会给别人带来一种不认真,不细心,没有诚意的感觉。在校招过程中,我遇到过很多不太合格的简历,对于这种不合格的简历,即使笔试通过,面试的时候,我相信很多面试官也会有先入为主的主观影响,即觉得这个人有点不靠谱或者怎么样。当然了,简历不需要很花哨或者很炫酷,毕竟咱们不是去面试礼仪生或者公司前台岗位。面试官更注重的是,这份简历他想要看的信息到底有没有。那哪些是属于简历的必要信息呢?
1)个人信息部分
姓名、性别,出生年月日,电话/邮箱,这里照片不是必选项,如果本人照片确实能够加分,那么就附上照片,否则不贴照片其实是更优的选择。
2)学校专业部分
就读学校经历,学历学位,主修专业,主修课程(尽量涵盖所有技术相关的课程),学习成绩,英语能力
3)实习经历
如果是投递软件测试岗位,建议选取和软件测试沾边的项目或者实习经历。如果没有在项目中参与测试,也至少是自己能说的上来的项目,书写一两个项目或者实习经历就好。
4)个人特点以及兴趣爱好
这里要突出自己的优点,每个人的优点不一样,爱好也不近相同,不同的优点和爱好可以折射出个人的价值取向和能力特征。尽量选取一些运动类,脑力类的爱好进行填写,这样会让面试官觉得你是一个头脑健全,四肢发达的人(哈哈),每个兴趣爱好一定按实际填写,如果面试官问及此处,最好是能讲述一些经历和体会和感悟,让别人觉得你是一个有深度思考能力,且有自我价值感的人。
以上就是简历的必要信息,看起来不多,但是经常会有遗漏一些重要的点,比如电话/邮箱,这个非常重要!我遇到好多笔试通过但联系不上的(原因居然是没留联系方式),再一个就是学校专业部分的信息(很多挑选应届生的公司非常看重这方面的基本背景),实习经历一定是选取自己最熟悉的一到两个经历,写的太多难免让面试官觉得可能有些假大空的感觉,特别是面试到自己不那么熟悉的项目,更会觉得有些滥竽充数的动机,所以精简是第一,其次就是要贴近主题(这个项目到底和测试有什么关系)。最后就是个人特点和兴趣爱好,一个兴趣爱好广泛的人通常比较受面试官青睐,这样的人在工作中面对压力能够通过个人兴趣爱好调整好状态,反倒是没什么兴趣爱好的人会让面试官觉得,会不会在工作上也没有什么进取心呢?
最后面试简历一到两页即可,写多了会让人觉得在凑字数的感觉,重要的内容(自己想要让面试官和自己沟通交流的)建议标粗体,吸引眼球,简历建议使用微软雅黑字体,黑白打印即可。
第三部分:测试笔试题的准备范围
每个公司考核的笔试题范围大同小异,一般都会涵盖如下点:
1)linux系统相关
2)数据结构
3)算法
4)编程
5)网络基础
6)常见的测试概念
7)测试类型
8)测试方法
其中2~5属于在理工科专业课程中都会涉及到,按照学校课本知识和系统准备即可。其它四项有的专业可能不会涉及到,那就需要额外去恶补知识,这里我推荐两本书作为学习指南:《鸟哥的私房菜》和《软件测试的艺术》,这两本书分别是Linux和测试两项的入门经典,不仅可以作为面试备战的指南,在之后实际的日常工作中,也是可以反复多读的书,绝对受益匪浅。关于常见的笔试题项,我会单独再找一个篇幅进行详谈。
第四部分:面试项与注意点
笔试通过只是初筛,一般面试通过与笔试通过的比例在0.2~0.4之间(即十个通过笔试的人一般留3个进入面试),这取决于公司的招聘需求和当前市场行情。一般来讲,面试难度比笔试难度更大,而且更会决定你的offer,那对于面试来说,我们需要准备什么呢?
在第一部分”了解测试岗位和公司“里,如果我们做的足够好,只要在面试的时候完全发挥表现出来,基本就没有大问题了,但实际情况是可能第一部分做的不错了,但是面试的时候没有全力发挥出来,这种情况比较多,所以就我个人经验而言,准备面试上需要要调整好心态,这里我总结了三点常用法则:
1)不用慌张。
我想表达的是,面试时候紧张了也不要紧,如果自己确实是那种和陌生人对话就紧张的人,可以在一开始面试的时候就说明自己的情况,比如介绍完自己之后,觉得自己有点紧张,可以附带上一句:不好意思面试官,我今天稍微有点紧张,坦露出自己的状态。这样反而会让面试官觉得你很坦诚,面试官其实也知道,你面试的时候会紧张,内心其实是见怪不怪了。只要不是连话都说不清楚,基本没有什么大问题。
2)面试环境和个人着装。
如果是远程面试:建议找一个稍微安静,干净整洁的环境。我相信每个人都有这样的感受,如果去购物,你更愿意去一些干净的商场,如果你在谈论一些重要的话题,也不会喜欢在嘈杂的环境与人交谈;同理,如果面试对你是一件很重要的事情,那面试环境就体现了面试中彼此的诚意。所以远程面试的话,尽量找一个安静和干净的地方面试,最好是一个单独的房间。如果是去现场面试,那么尽量着装朴素,干净整洁一些。面试官是工程师出身,太花哨的着装可能会让人觉得过于个性化,毕竟不是选美(程序员就是那么朴素。。。),整个人看起来干净利落就可以,不要刻意强调穿着打扮。
3)如果面试时候,遇到自己答不上来的怎么办?
首先要正视面试这个过程:面试不是为了得满分,面试是为了考核基础能力外加沟通能力,更注重的是现场表现力。如果问了十个问题,能回答上六七个其实也就足够,因为面试不是为某个人定制的,所以遇到不会的也正常。在这种情况下,我们要表现出一种讨论的状态,对于面试官问道的问题,先确认一个问题的疑问点,把问题更具化一些,然后缕清思路,表达出来。在整个问题的回答与反馈的过程中,一定要把这个过程变成一个讨论式的过程,为什么要让面试变成一个讨论过程呢?其关键之处在于:面试官面试你的过程中,他更希望有人能够像在工作中一样,抱着把问题讨论清楚的态度去解决问题,而不是直接给一个答案(实际上工作的问题很多都是没有标准答案的),这种互动探讨式的面试会让面试官自己心里非常舒服,也会更确定你就是那个合适的校招生。
以上就是我梳理的软件测试岗位提前准备篇,希望看到本文的你能够每天像勇士一样,永远用磨得最尖的矛,以最好的姿态,向着工作和生活冲锋。下一篇会为大家带来测试笔试篇,关注我的公众号:测试生财,敬请期待吧。
传送门:
博主:测试生财(一个不为996而996的测开码农)
座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。
内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。
csdn:https://blog.csdn.net/ccgshigao
博客园:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374
微信公众号:测试生财(定期分享独家内容和资源)