在我近十年的测试职业生涯中,我也面试过不少软件测试岗位的候选人,这几个问题我也经常问到。但很多同学在这几个高频面试题上,其实并不太了解面试官提问背后的逻辑和目的。
这篇文章,聊聊这几道经典面试题考查的目的,以及如何更好的回答这几个问题。
1、说说最近做过的项目
这个问题考察的重点有如下几项:
-
简历是否过度包装(阐述的项目经验和简历中的内容是否匹配)。
-
对参与过的项目是否足够了解(业务流程、核心模块、技术架构)。
-
在项目中做了哪些事情,有哪些技术实践(便于开展后续的提问)。
-
项目迭代情况,交付质量,遇到的问题,以及候选人如何解决这些问题。
2、你们的测试流程是什么
这个问题看似简单,其实很多同学在回答的时候容易犯流水账式的回答错误。比较好的回答步骤如下:
-
说明测试流程的几个核心部分(需求-编码-测试-交付)。
-
说明项目迭代节奏和交付方式(敏捷交付/版本迭代火车)。
-
需求阶段,开展需求分析评审,提前暴露潜在风险(逻辑/交互/数值计算),并及时与产品/业务沟通确认。
-
编码阶段,分析测试点,拆解测试任务,设计测试用例,测试用例评审(与研发保持认知一致),提测前冒烟。
-
测试阶段,执行测试用例,跟踪缺陷状态,关注业务流/数据流的正确性(而非仅关注用例是否执行完毕),以及资损和异常场景的处理是否合理和优雅。
-
交付阶段,检查交付清单,组织变更评审(代码/配置/环境),准备并验证应急方案的有效性。线上发布后回归验证以及线上日常巡检。
回答这个问题的重点,要体现出测试岗位,作为QA这一质量保障和监督者在不同阶段的工作重心,也可以借此谈谈你对于质量保障这件事的理解。
3、谈谈印象最深刻的BUG
这个问题算是最为经典的一道测试岗位面试题,很多同学在这道问题上翻过车。这个问题考查的是候选人分析问题解决问题的能力,以及分析问题解决问题的思维逻辑。比较好的回答方式如下:
-
问题表现:什么场景执行了什么操作产生了什么问题。
-
问题影响:对项目造成了什么样的影响(影响范围、损失大小、严重程度)。
-
问题止损:如果是线上问题,则第一优先级是业务止损,再谈如何定位修复。
-
问题定位:依靠经验和对项目的了解,判断/猜测是哪里出了什么问题导致的。
-
寻找数据:通过监控、日志等方式寻找相关数据来支撑你的判断/猜测,确认问题根因。
-
问题修复:找到问题根因后,接着是描述解决问题的思路和解决问题所采用的方案和方法。
-
结论和Action:对问题定性,然后阐述后续的改进方向以及行动(技术优化/流程改进/应急预案)。
4、面对线上问题如何应对解决
这道面试题在我近十年的职业生涯中,也仅遇到过三次,不过这道题背后隐含的考察点不少。主要有如下几点:
-
认知:线上问题才是真的质量问题,测试阶段发现的问题只是过程,不是质量保障的目的。
-
方法:线上问题无法彻底避免和杜绝,因此需要一些应急手段和预案,比如灰度发布、回滚、降级。
-
机制:出现线上问题,团队的应急响应效率和应对措施(在线oncall,应急开关、备份方案、修复验证)。
-
流程:出现线上问题,优先业务止血,然后才是分析复盘改进落地。流程大致分为这几个步骤:问题汇总-问题分类-抽象总结共性-复盘如何改进-执行改进行动-阐述改进结果。
最后,分享几个准备简历和回答面试问题的小技巧,仅供参考。
-
专业技能,如果没有实战经验或仅停留在听说过的层面,尽量不要写,避免面试官提问回答不上来,反而会扣分。
-
技术实践,会就是会,没做过就是没做过。面试官提问的问题大概率是他比较擅长的,几个问题就可以判断出候选人是否有实践经验。因此没实践可以讲思路,没思路可以讲自己对这方面的了解和认知,或者与之有所关联的案例。
-
有实践经验但没有深入的话,老老实实讲自己负责的部分是如何做的。同时可以扩展问题,讲讲如果扩大覆盖范围或者深入实践,会遇到哪些问题(你听说过或了解过的案例),并说明你会如何做,展现自己的主动学习能力和解决问题的思路,这样有助于提升面试印象分。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。