测试20K要什么水平?25岁测试工程师成功斩下offer(附面试题)

年少不懂面试经,读懂已是测试人。

大家好,我是一名历经沧桑,看透互联网行业百态的测试从业者,经过数年的勤学苦练,精钻深研究,终于从初出茅庐的职场新手成长为现在的测试老鸟,早已看透了面试官的种种套路,更是看尽了求职者的措手不及,既有尔虞我诈又有惺惺相惜……

蓦然回首,许多年前,我也是另一个求职者。故将我的面试经验分享给你们,希望每一个看过这篇文章的朋友都可以过五关斩六将,镇定自若,信心满满地应对面试!

面试软件测试,你需要知道哪些?

常言道:知彼知己,百战不殆。那么对于面试软件测试中,我们需要知道哪些方面,才是我们制胜的法宝。

1、简历的重要性

首先,对于简历上提到的任何技术点,作为应试人员,都应该非常了解,因为这是面试官针对性发问的首选。即使不能够非常清楚地阐述其原理,但是在应用层面,至少应该可以清晰地说出在工作中的用途,并且可以简洁地描述出在自己项目中的应用情况。比如,在自己参与的项目中,采用了什么样的测试架构,如果是自动化,那么基于怎样的平台,有哪些工具,完成了怎样的功能。

换句话说,也就是所有写在简历里的项目,作为应聘者的你,都应该就此可以侃侃而谈,而不是看着什么热点就随便写一些上去。那样的简历虽然看着很好看,但是实际上到处都是漏洞,经不起推敲发问。

同样的,在自我介绍阶段,面试官也会对于面试者的表达,有重点地进行筛选发问,这一段自我介绍的准备和注意点,与准备简历是相通乃至相同的。

2、职位技术要求

其次,在面试之前,对于所应聘的职位应该有所了解。针对岗位的职责和要求,来进行有侧重的准备,包括简历和面试。软件测试的内容也并不仅仅是测试软件那么简单,而对于所有相关的方面,都应该有所了解。

如果是手工测试,那么测试用例设计和测试思路就是非常普遍的考察点。如果是自动化测试,那么对于自动化测试工具的掌握甚至部分代码能力的考验,就是必须的了。

在当前的软件行业里,敏捷甚至DevOps都已经成为了业内标准,那么对于这个架构下的相关背景知识,是完全需要有很清晰的了解和熟练掌握的。从测试的角度来谈有关敏捷的话题,会让你加分不少。

3、选择适合的岗位

第三,面试并不是一个选拔性的考试,不是择优录取,而是选择合适当前岗位的人选。所以,如果是一个初级测试工程师,应聘测试专家很难成功可以理解。那么反过来,一个具有丰富经验的资深测试工程师,应聘初中级测试工程师的岗位时,成功的可能性也并不大。所以面试也并不是一个越厉害就越可以通吃的场合。不管如何,合适最重要。

4、面试官的决定权

最后,面试官的身份也有一定的决定权。很多公司的第一轮面试会和HR筛选简历进行结合。所以面试往往就是技术人员的面试,而面试官的身份或者背景也会对面试的结果产生重大影响。

一个开发出身的测试面试官,往往会从本身的工作经验及内容出发,可能会更多会在编程语言的细节和自动化脚本的编写方面进行发问和了解,对于测试理论可能涉及到的不多。而资深的面试官,往往询问得会比较全面。这个就要看在面试过程中,面试官关注的角度进行分析,来有针对性地回答。

薪资20K的测试工程师要什么技术水平?

一般情况下,20K的测试工程师面试要求如下:

  1. 熟练掌握测试理论:了解测试的基本原理、方法和流程,熟悉常见的测试文档,如测试计划、测试用例、缺陷报告等。

  2. 熟悉测试工具:熟练掌握至少一种自动化测试工具(如Selenium、Appium等),了解性能测试工具(如JMeter、LoadRunner等),并有实际使用经验。

  3. 具备良好的编程能力:熟练掌握至少一门编程语言(如Java、Python等),能够编写简单的自动化测试脚本。

  4. 熟悉Web前端技术:了解HTML、CSS、JavaScript等Web前端技术,对跨域、HTTPS等Web安全问题有所了解。

  5. 具备团队协作和沟通能力:在团队中积极参与测试工作,与开发人员、产品经理、项目经理等多方协作,及时沟通测试进展和问题。

  6. 具备分析和解决问题的能力:能够独立分析和解决测试过程中遇到的问题,并提出改进建议。

  7. 具备良好的学习能力:能够不断学习新的测试工具、方法和技术,不断提升自己的测试能力。

总之,20K的测试工程师需要具备扎实的测试基础知识、良好的编程能力、团队协作和沟通能力、分析和解决问题的能力,以及不断学习的精神。

测试工程师面经分享

怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习,如何拿下字节等大厂的offer的呢,今天分享一个秘密武器,资深架构师整理的测试面试核心知识点,面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有 内容涉及:测试基础、功能测试、linux、mysql、接口测试、jmeter、测试工具、web自动化测试、selenium、python编程、app自动化测试、性能测试、安全测试、测试开发、简历模板等等。

虽然说是面经手册,但是里面的涵盖的知识点还是很全面、很细的,一共分了一下十几个大部分:

软件测试基础

  • 软件测试的步骤是什么?
  • 如何录制测试脚本?
  • 应该考虑进行如何测试的测试方法
  • 怎样估计测试工作量?
  • 测试设计的问题
  • 当测试过程发生错误时,有哪几种解决办法?
  • 测试执行的问题
  • 测试评估的目标
  • 如何提高测试?
  • C/S模式的优点和缺点
  • B/S模式的优点和缺点

Linux

  • grep和find的区别? grep 都有哪些用法?
  • 查看IP地址?
  • 创建和删除一个多级目录?
  • 在当前用户家目录中查找haha.txt文件?
  • 如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
  • 动态查看日志文件?
  • 查看系統硬盘空间的命令?
  • 查看当前机器listen 的所有端口?

Python

  • 统计python源代码文件中代码行数,去除注释,空行,进行输出?
  • python调用cmd并返回结果?
  • 冒泡排序
  • 1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
  • 请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
  • 给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
  • 判断 101-200 之间有多少个素数,并输出所有的素数
  • 一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例

MySQL

  • 你用的Mysql是哪个引擎,各引擎之间有什么区别?
  • 如何对查询命令进行优化?
  • 数据库的优化?
  • Sql注入是如何产“生的,如何防止?
  • NoSQL和关系数据库的区别?
  • MySQL与MongoDB本质之间最基本的差别是什么
  • Mysql数据库中怎么实现分页?
  • Mysql数据库的操作?
  • 优化数据库?提高数据库的性能?
  • 什么是数据的完整性?

Web

  • Web测试和app测试区别?
  • WEB测试环境搭建和测试方法
  • WEB测试教程
  • WEB测试要点及基本方法
  • Web测试页面总结

接口测试

  • 什么是接口
  • 如果模块请求http改为了https,测试方案应该如何制定,修改?
  • 常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
  • 描述TCP/IP协议的层次结构,以及每一-层中重要协议
  • jmeter,一个接口的响应结果如下:
  • 接口产生的垃圾数据如何清理
  • 依赖第三方的接口如何处理
  • 测试的数据你放在哪?
  • 什么是数据驱动,如何参数化?

性能测试

  • 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
  • 服务端性能分析都从哪些角度来进行?
  • 如何理解压力测试,负裁测试以及性能测试?
  • 如何判断是否有内存泄漏及关注的指标?
  • 描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
  • 简述什么是值传递,什么是地址传递,两者区别是什么?
  • 什么是系统瓶颈?

selenium

  • 如何开展自动化测试框架的构建?
  • 如何设计自动化测试用例:
  • webdriver如何开启和退出一个浏览器?
  • 什么是自动化测试框架?
  • Selenium是什么,流行的版本有哪些?
  • 你如何从命令行启动Selenium RC?
  • 在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
  • 什么是Selenium Server,它与Selenium Hub有什么不同?
  • 你如何从Selenium连接到数据库?
  • 你如何验证多个页面上存在的一个对象?
  • XPath中使用单斜杠和双斜杠有什么区别?
  • 如何编写SeleniumIDE/ RC的用户扩展?
  • 如何在页面加载成功后验证元素的存在?
  • 你对Selenium Grid有什么了解?它提供了什么功能?
  • 如何从你的Java Class启动Selenium服务器?
  • Selenium中有哪些验证点?
  • 什么是XPath?什么时候应该在Selenium中使用XPath?

计算机与网络

  • 一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …
  • 请简述DNS、活动目录、域的概念。
  • 10M兆宽带是什么意思?理论下载速度是多少?
  • 什么是IP地址?
  • OSI七层网络模型的划分?
  • TCP和UDP有什么不同?
  • HTTP属于哪一层的协议?
  • HTTP和HTTPS的区别?
  • cookies和session的区别?
  • HTTP的get请求和post请求的区别?
  • HTTP1.0和HTTP1.1有什么区别
  • TCP的连接建立过程,以及断开过程?
  • 客户端使用DHCP获取IP的过程?
  • 写出某个网段的网络地址和广播地址?

人力资源

  • 你的测试职业发展是什么?你自认为做测试的优势在哪里?
  • 你找工作时,最重要的考虑因素为何?
  • 为什么我们应该录取你?
  • 请谈谈你个人的最大特色。
  • 一个测试工程师应具备那些素质和技能?
  • 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
  • 为什么选择测试这行?
  • 如果我雇用你,你能给部门带来什么贡献?

最后

这份文档,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!