准备面试的小伙伴看过来,金三银四的找工作日子来了。这次咱们不要“面经”,直接来点“干货秘籍”!如果对你有用,记得点点关注呢~
第一关:开场白,怎么一句话让人记住你?
1. 面试官:“先做个自我介绍吧?”
干活思路: 别报流水账。你大学干了啥,面试官真没那么关心。他关心的是:“你来了能帮我干点啥?” 所以,你的自我介绍 = 我有什么能力(能用在你公司)+ 我为什么想来。
咱可以这么唠:
“面试官好,我叫XX,XX专业。今天想应聘贵公司的软件测试岗位。我觉得自己挺适合干测试的。
第一,我心细且逻辑还行。在学校做那个电商项目的时候,我光是购物车模块,就写了100多条用例,真让我挖出来几个隐藏挺深的bug,比如满减优惠叠加计算错误这种。(展示细心和找bug能力)
第二,我爱琢磨工具。不光会用,还喜欢想为啥这么用。像fiddle抓包,我不光会看,还会用它模拟弱网环境,看看APP没网的时候会不会崩。(展示工具深度)
第三,我这人能扛事儿。跟开发沟通bug,我能拿着日志和截图有理有据地聊,不会人家一说‘我这儿没问题’,我就怂了。(展示沟通和抗压)
我是真想入这行,也提前了解了咱们公司是做XX方向的,特感兴趣,希望能有这个机会跟着前辈们学习!”
干活小贴士:
第二关:项目经验,怎么把“做过”说成“精通”?
2. 面试官:“详细说说你的项目吧?”
干活思路: 面试官想听的不是你“做了什么”,而是你“怎么做的”、“遇到问题怎么解决的”。要讲出你的思考和贡献。
咱可以这么唠:
“我说一个我测过的B2C电商项目吧,就是那种有APP和后台的。我主要负责了功能、性能和兼容性测试。
首先,测功能的时候,我不是闷头就干。 我会先用Xmind把整个业务的流程图、数据流向画出来。比如支付,从下单到扣款到回调,每一步数据怎么变,我都先理清楚。然后我才开始写用例,这样写出来的用例覆盖率才高。我记得当时支付回调那个模块,我就是这么测出来一个并发问题的,后来开发改了代码,避免了一次线上事故。(展示你的业务分析能力)
然后,测APP的时候,我用了点‘暴力’手段。 除了用monkey做压力测试,我还专门去测了‘交叉事件’,就是一边支付,一边来电话、来短信、切后台,看APP会不会‘失忆’或者崩溃。有一次还真让我发现,支付中来电话,支付成功了但页面没跳转,用户以为没付钱可能会再付一次,这就是个严重问题。(展示你的专项测试思维)
最后,出了问题,我会去‘深究’。有一次线上反馈说退款失败。我马上用fiddle抓包,对比退款成功和失败的请求,发现是传的一个签名参数过期了。我就拿着这个证据找开发,定位到是服务器时间同步的问题,很快就解决了。(展示你的问题定位能力)”
干活小贴士:
第三关:硬核技术,怎么把基础题答出深度?
3. 面试官:“发现一个Bug,你怎么提交?如果开发不认怎么办?”
干活思路: 这道题,初级选手会背流程。高级选手会展示“证据链”和“沟通艺术”。
咱可以这么唠:
“提交bug,我讲究‘证据确凿’。我会在bug描述里写清楚:
前置条件:比如‘用户已登录,购物车有3件商品’。
必现步骤:第1步点哪里,第2步输入什么,像菜谱一样清晰。
实际结果和预期结果:对比着写。
附件是灵魂:截图要圈出问题点,日志要截取关键报错行,如果录屏更好。
如果开发不认,我不会跟他吵。我会这么做:
拉他到我工位,当面复现一次。让他亲眼看到bug发生,很多争论就没了。
如果复现不了,就一起分析日志。可能是我环境特殊,可能是偶发,我们看日志里的异常信息,找线索。
实在有分歧,就搬出需求文档。我会说:‘哥,你看需求文档这块写的,预期是A,现在出来的是B,咱俩以文档为准,行不?’
如果需求文档也没写清楚,那就是需求有歧义。我会拉上产品和开发,三人开个小会,把这个事儿定下来。这其实是在帮团队完善需求。(展示你的推动能力)”
干活小贴士:
4. 面试官:“如果让你测一个‘购物车’功能,你会怎么设计用例?”
干活思路: 别只罗列“加商品、删商品、改数量”。要展示你的“破坏性思维”和“全流程视角”。
咱可以这么唠:
“测购物车,我会把它分成几层来‘轰炸’:
第一层,基础功能: 加商品(不同店铺的、不同规格的、已下架的)、删商品、改数量(最大、最小、0、负数、小数、超库存)、清空购物车。这些是必须稳的。
第二层,数据同步: 这是最容易出幺蛾子的地方。比如,我在APP加了一堆商品,然后去PC端看,数据同步了吗?我在购物车改了个数量,去商品详情页再看,价格变了吗?用户把购物车的商品收藏了,再从收藏夹加回来,会重复吗?
第三层,异常场景: 我会上来就搞破坏。比如,弱网环境下加商品,转圈圈时我切后台、杀进程,再进来,东西还在吗?库存只剩1件,我同时用两个账号去下单这件商品,一个成功,另一个的购物车会怎么显示?会不会出现超卖?
第四层,结合业务: 比如,有满减活动,购物车里的金额计算准不准?用了优惠券后退货,退款金额怎么算?这些都得覆盖到。”
干活小贴士:
5. 面试官:“接口测试你怎么做的?能详细说下Jmeter的使用吗?”
干活思路: 能说出工具操作是基础,能说出“为什么这么配”才是本事。
咱可以这么唠:
“我以测‘登录接口’为例,用Jmeter说下我的套路:
建线程组:设置并发数,比如我模拟100个用户同时登录,看服务器扛不扛得住。循环次数就是每个用户跑几次。
配HTTP请求:填上接口地址、方法(一般是POST)、路径。参数我一般不从界面填,而是用‘参数化’。
参数化是重点:我会在本地建一个TXT或者CSV文件,里面放好不同的用户名密码(正确的、错误的、空的)。然后在Jmeter里加一个‘CSV Data Set Config’,引用这个文件。这样跑一次,就能用几十组数据去测,效率高,覆盖率也高。
关联是进阶:很多接口依赖登录返回的token。我会在登录请求后加一个‘JSON提取器’或者‘正则表达式提取器’,把token从返回报文里揪出来,然后在下个接口用${token}引用它。这才是真实的业务场景。
加断言:比如我断言返回的JSON里,‘code’字段是不是等于‘200’。如果不等,Jmeter就标红报错,不用一条条看结果。
看结果树和聚合报告:结果树能看到每个请求的详情,聚合报告能看平均响应时间、吞吐量、错误率,这些就是性能测试的指标。”
干活小贴士:
6. 面试官:“登录页面的账号密码你是怎么测试的?如果用Fiddler抓包,你一般看什么?”
干活思路: 从功能测试延伸到安全测试,展示你的“黑客思维”。
咱可以这么唠:
“功能测试大家都会,我重点说说我用Fiddler怎么测安全。
看传输是否加密:我输完密码点登录,看Fiddler里这个请求的Raw内容。如果password字段后面跟着一串明文‘123456’,那完蛋,这是重大安全隐患,直接提单。正常应该是加密的一串字符。
尝试篡改请求:比如我登录自己的账号,用Fiddler拦截请求,把请求里的用户名改成别人的,再放行。如果服务器没校验,我就登进别人账号了,这就是水平越权漏洞,很严重。
重放攻击:我登录成功后,把这次登录请求在Fiddler里保存下来。然后我退出登录,再重放这个请求。如果能再次登录成功,说明服务器没做时间戳或token校验,可以被别人盗用请求无限登录。
模拟返回结果:有时候我想测前端容错。比如登录失败,服务器会返回‘密码错误’。我用Fiddler把返回报文改成‘系统繁忙’,然后发给APP,看APP会不会崩溃或显示乱码。这是测APP的健壮性。”
干活小贴士:
第四关:聊点虚的,怎么展现你的软实力?
7. 面试官:“你为什么选择我们公司?”
干活思路: 这道题现在要升级了。你要表达出你对“他们公司”和“测试工作”的双重理解。
咱可以这么唠:
“我选贵公司,主要有两个原因。
第一,我看重业务。我了解过咱们是做在线教育的,这个赛道现在竞争激烈,对产品质量要求肯定高。我想在一个重视质量的团队里成长,这样我能学到更规范的流程和方法。
第二,我看重成长。我看招聘JD里提到会用自动化测试,这是我下一步想深入的方向。我希望加入一个能让我接触到新技术、有前辈带的团队,尽快从纯手工测试转型,为公司做更多贡献。”
干活小贴士:
8. 面试官:“你怎么看待加班?”
干活思路: 不卑不亢,同时暗示你追求效率。
咱可以这么唠:
“我认为加班分两种。
一种是突发情况,比如项目要上线,或者线上出了紧急事故,这时候不用领导说,我肯定会主动留下来,和大家一起解决问题。这是责任心的问题。
另一种是常态化加班。如果天天加班是因为工作量排得太满,或者流程有问题导致效率低下,那我会主动和领导沟通,看怎么优化。比如我们是不是可以引入一些自动化工具,把重复的工作省下来,让大家早点下班的同时,也能保证质量。
所以我的态度是:接受有意义的加班,反对无效的内卷。 我也想顺便了解下,咱们团队的加班文化和强度大概是怎样的?”
干活小贴士:
9. 面试官:“你还有什么想问我的吗?”
干活思路: 千万别问“几点下班”、“饭好吃吗”。这是你了解团队、展示你思考的绝佳机会。
咱可以这么唠:
“我有几个问题想请教您:
关于团队:咱们团队目前的测试开发比大概是多少?自动化测试的覆盖率现在做到了什么程度?未来半年重点想突破什么?(显示你对技术的关注)
关于入职:如果我有幸入职,前三个月公司对我的期望是什么?我需要掌握哪些核心业务和技能才能快速跟上节奏?(显示你的上进心)
关于成长:咱们公司对测试人员的职业发展通道一般是怎么规划的?是技术深度和业务广度都可以发展吗?(显示你对长期发展的思考)”
干活小贴士:
大家把这些思路消化消化,然后变成你自己的语言。面试的时候,别紧张,就当跟一个懂行的同行聊聊天,分享一下你是怎么做事的。
祝你们旗开得胜,offer拿到手软!有问题评论区见!