测试开发岗位笔试&面试经验分享
千呼万唤终于憋出来了,楼主bg双9科班硕士,对技术追求不高,加上没有及时准备秋招,故转投测开岗,共投递公司50+,基本都是中大厂,总计offer8个,拿到包括百度、京东、阿里等大厂测开offer。整理了份整体的思路,具体细节大家根据自身情况把控。
1、笔试
笔试难度、综合性都比面试要高。
题型:
① 单选15-30道。
② 2-3道coding。
③ 1-2道简答题(部分企业会考)。
单选部分除了基础的计网、操作系统、数据结构等课程知识以外,还会有测试理论的题目,牛客基本可以满足。(非科班没学过测试课的同学,可以花1-2天时间找文档系统看下,把基础知识补齐。市面上任意文档都可以,内容大差不差,不建议花钱。除非时间非常充裕,不然也不建议看视频课,太罗嗦了。)
代码题基本以链表、数组为主。除了打卡题,常考的有:动规、滑动窗口、搜索与回溯、矩阵、位运算数学这种。也会有树的题但不多。难度mid+为主,但都是新题,需要掌握相关知识点,所以多积累,多刷题,能a多少a多少,学会骗分。
简答题部分,常见的是根据某个功能背景设计测试用例。举例:请写出微信朋友圈发图片功能的测试用例。笔试时间很紧张,我一般写测试用例格式为:编号+名称+输入+预期输出+实际输出。可以从功能、性能、兼容性、易用性、安全性、可扩展可维护、异常情况等方面分点叙述。其次也可能会出八股简答题,比如简述tcp和udp之类的。
综上,很多测开的笔试试卷都是开发统卷,总体难度和开发相当,编程会简单一点(大概是删1道hard难度coding的程度)。
个人备考是选择题刷牛客,编程题刷力扣。楼主比较懒,练习量比较低,平均ac数是2/3(除了阿里这种地狱难度),大部分时候还是能过笔试的。
2、面试
面试考核主要分为5点:①个人介绍、②实习/项目、③测试理论、④八股、⑤手撕。
①个人介绍:包含学校经历、项目经历、实习经历等方面。
个人介绍推荐大家准备两个版本,3分钟左右详细版和1分钟左右省略版,最好要提前捋明白,一定不要磕磕绊绊,一个优秀的自我介绍是一个好面试的开始。
项目经历方面,网络上测试相关的项目很少,质量也参差不齐,拿准备测试项目的时间去学测试工具更有性价比。没有实习的至少额外学2个测试工具,并且一定要亲手试用,常用功能底层原理也要了解,楼主之前就被问到抓包原理之类的。项目本身,准备1-2个开发项目即可,有精力的最好可以把学的测试工具在项目中的使用体现一下。如何自测、白盒做了什么、怎么使用的测试工具、黑盒怎么测的。(楼主没有准备测试项目)。
实习经历方面,还是推荐有时间的同学去刷一段实习的(有开发实习也行,讲明白为什么选测试不选开发,千万别说卷不过开发才做测试)。在面试过程中明显感觉到面试官偏好有实习经历的同学(具体实习中的工作内容分享在文末)。而且在实习中接触具体的工作内容往往可以解决你对于测开工作的很多疑惑。
②测试理论:包含测试的基本知识,比如测试类型、用例编写、测试工具使用、测试人员具备的素质、bug定位方法等等。
这部分最常见的提问:给你个xxx怎么写测试用例? 测试流程分为几个阶段?xx测试工具原理是什么?怎么理解测试开发岗位?……
测试理论八股网络上资料也是参差不齐,目前楼主没有找到一份完整完善的汇总资料。在有测试基础知识的前提下,通过看面经准备就足够了。可以收集近3年收集牛客上测开面经,摘取测试理论部分,归纳整理一下即可。测试理论不会很难,大部分都是场景题,主要考察表达能力和逻辑思维能力。
③八股:这部分没啥可说的吧,408+语言。计网+操作系统+数据库+数据结构+linux我是看的小林coding。语言根据具体选啥就背啥八股。不过无论选啥语言,建议大家都去学点python,去自己写一下自动化测试脚本,让面试官知道你有所准备。
④手撕:比笔试简单多了,都是力扣原题,难度普遍mid,部分easy。全部都是链表、数组的题。
常考知识点:双指针、链表、二分、堆栈、动规、滑动窗口、排序算法。
常考题目:回文串、递增子序列、第k大元素、无重复字符的最长子串这种,都是非常经典的面试题,剑指刷熟练完全够用。
还可能会有一些分析日志之类的。比如:给你一份日志文件,想从中提取出某段特定文字。这种不好预判,但模拟基本都能解决。如果思路卡壳,多和面试官交流,寻求提示,甚至申请换题也是可以的。
ps:测开实习中的工作内容参考(不到三个月):分析需求,给需求排期。拉三方会议,把控测试节奏。写测试用例,review用例。执行用例,多轮测试。流程控制,盯上线。CI/CD的使用。自动化脚本编写、执行,定期查看日志。
拖延症没救了,未来有时间写个秋招时间线复盘,希望大家能收获心仪的offer~
#24秋招避雷总结##24秋招求职节奏总结##24届软开秋招面试经验大赏#