【软件测试面试题】项目经验?资深测试 (分析+回答) 我不信你还拿不到offer......
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
在面试过程中,怎样才能更好的体现出自己的真实实力?(你的项目经验)
面试经常会拿下面 3 个问题开场:
1、请做个简短的自我介绍;
2、简单介绍一个自己参与度比较高的项目,以及自己在项目中的职责;
3、简单描述下你在项目中发现的最有成就感的 Bug;
软件测试面试题:https://www.bilibili.com/video/BV1Lq4y137aR/
请做个简短的自我介绍?
面试不是聊天,一问一答之间都是有目的的。
所以我建议的回答方式可以是这样:
面试官你好,我叫张三,xxxx 年毕业,最近的一份工作是在特斯拉公司,最近做的一个项目是特斯拉线圈的测试,我在项目中担任测试负责人的角色,本次换工作是因为公司业务调整,准备投入资源做超级高铁,砍掉了特斯拉线圈的业务,本次想找一个团队氛围好,技术上更有挑战的工作。
这个回答我比较满意的原因有这么几点:
主动告知一些必问的信息,比如公司和项目信息,比如换工作的原因,以及个人预期,这样做一方面减少了面试官来回问的时间,同时会让面试官感觉到这个人做事比较周到,或者说叫眼里有活。
虽然是回答,但是在主导话题,或者说制造话题,比如他提到了公司和项目,但是没有详细介绍自己作为测试负责人的角色职责,如果我作为面试官肯定会继续问下去。
能给面试官制造话题的面试者都是好的面试者(但是别把自己带沟里去了),如果在第一个问题上给面试官留下好的印象,对后面的沟通会非常有帮助。
如果是你,你会怎么回答?
介绍一个自己参与度比较高的项目,以及自己在项目中的职责?
如果第一个问题,面试者没有主动告知这些内容,第二个问题仍然跑不掉。
针对这个问题,有的同学回答的重点会有点跑偏。
比如会花费不少的时间去介绍自己项目的详细情况:
我最近有参与一个 App 的测试,这个 App 有首页模块、好友模块、核心传输模块和个人中心模块,并且又分为 IOS 端和 Android 端,Android 端又分国内版和海外版,我主要负责 Android 端国内版的测试。
看,说了这么一堆,只回答了项目信息的部分内容,我还是不知道你具体都做了啥,那我就需要再继续重复问一下这个问题。
注意面试过程中的重点是面试者本人,项目信息算是背景信息,主要信息应该是面试者做的事情,那么只需要把能衬托面试者能力的地方凸显出来就行了。
比如:
我最近参与一个 App 的测试,周期是两周,一共有 10 个开发和 4 个测试参与,我主要负责带领其他 3 个测试人员一起保证项目所有版本的质量。我的主要工作内容是包括需求评审、用例编写、测试分工以及自动化脚本编写。
这样的话,信息是不是一下就丰富多了?
多提供人员信息有助于面试官了解自己在团队中的位置,特别是关键角色的时候,一定重点突出一下,提供具体的工作内容是为了后面的沟通可以进一步展开。
比如这个话题中的需求评审、用例编写、自动化脚本编写都是我想展开的,还是那句话,能够给面试官制作话题的面试者都是好的面试者,不过要记住,不要给自己挖坑,比如上面提到了自动化脚本编写,结果自己只是改改配置参数而已,并没有啥技术含量,这样的话问下去会很失望的。
所以前面那句话可以完善下:主动把话题引导到自己的优势的面试者都是好的面试者。
如果是你,你会怎么回答?
简单描述下你在项目中发现的最有成就感的Bug?
这个问题几乎各个面经中都会提到,所以有很多面试者提前准备。
那先说下回答的注意事项:
要的是自己发现的,不是别人发现的;
同样的,不要把别人发现的,冠名到自己头上,很容易出破绽的;
最好不是常规用例执行中出现的 Bug;
先看一个例子:
面试人A:有一个项目新增了本地搜索功能,我把特殊字符作为输入时,程序发生了崩溃,然后和开发一起用 windbg 调试定位,最后发现是程序没有对异常进行处理。
面试官B:特殊字符输入不是常规用例就覆盖了么?这样的话任何人都能发现吧?
面试人A:恩,是用例执行时发现的。
面试官B:windbg 调试需要 pdb 吧,这个只有开发那有,所以实际就是开发给定位的呗?
面试人A:恩,开发定位的,我是提供了重现环境和 dump 文件。
前面说的关键点全部命中,常规用例能覆盖到的测试点,我们认为是大部分人都能考虑到的,既然这样,发现这样的 Bug,不应该是件很有成就感的事情吧?
再来看一个例子:
面试人C:因为一个需求,业务需要拦截注入的操作,开发提测后,确实满足了本次的需求场景,经过和开发沟通,了解到实现逻辑是处理了 API SetWinEventHook 的调用,但是经过研究发现 API SetWindowsHookExW 也可以达到同样的效果,但是开发没有处理,鉴于换个 API 就被绕过的成本太低,开发又新增了对这个 SetWindowsHookExW 的处理。
面试官B:怎么想到这个测试点的?
面试人C:Windows 系统 API 很多,而且繁复,所以碰到的时候都格外小心,之前也一直有查 MSDN 的习惯,所以在研究具体的实现方式时就发现了这个测试点,其他类似的情况还有很多。
面试官B:测试工具是开发帮忙写的么?
面试人C:不是,我自己写的。
这个例子中:
自己发现的问题;
不是常规用例覆盖的范围,搞清楚开发的详细逻辑,并做针对性的全面性测试,不是所有人都能做到;
还有一个重点是,问题定位过程完全是自己完成。
如果你是面试官,面对这两个面试者你会选谁?A还是C
好了,我要说的就这些了,等等,我好像听到有同学有问题。
上面这些道理我都知道,但是我确实没有拿的出手的东西可讲啊,怎么办?
还能怎么办,赶紧回去补呗。记住,做每个项目的过程,都是我们成长和收获的过程。
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)
真正成功的人生,不在于成就的大小,而在于你是否努力地去实现自我,喊出自己的,走出属于自己的道路。
别抱怨,当目标成了遗憾,命运才给你改变自己的机会。往事既已过去,就应该学着笑对眼前。人生一世,如浮云流水,过往是覆水难收的我们有的只是现在。
人生的路有多宽,因人而异,有人的人生路宽阔而平坦,那绝大多是因为此人在成长的过程中,足够的努力和付出了。
相关文章:
【软件测试面试题】项目经验?资深测试 (分析+回答) 我不信你还拿不到offer......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 在面试过程中&#…...
tensorflow lite简介-移动设备端机器学习
TensorFlow Lite 是一组工具,可帮助开发者在移动设备、嵌入式设备和 loT 设备上运行模型,以便实现设备端机器学习。 支持多平台 支持多种平台,涵盖 Android 和 iOS 设备、嵌入式 Linux 和微控制器。 原理/流程 工作原理或者使用流程就是上面…...
Node.js常用知识
1、什么是 Node.js 【】Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。浏览器是 js 的前端运行环境,node.js 是 js 的后端运行环境。他们都有 V8 引擎,有各自的内置 API 2、fs 文件系统模块 【】fs 模块是 Node.js 官方提供的、用来操作文件…...
踩坑:maven打包失败的解决方式总结
Maven打包失败原因总结如下: 失败原因1:无法使用spring-boot-maven-plugin插件 使用spring-boot-maven-plugin插件可以创建一个可执行的JAR应用程序,前提是应用程序的parent为spring-boot-starter-parent。 需要添加parent的包spring-boot…...
【C++】位图
文章目录位图概念位图操作位图代码位图应用位图概念 boss直接登场: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中❓ 40亿个整数,大概就是16GB。40亿个字节大概就是4GB。 1Byt…...
蓝桥杯-考勤刷卡
蓝桥杯-考勤刷卡1、问题描述2、解题思路3、代码实现1、问题描述 小蓝负责一个公司的考勤系统, 他每天都需要根据员工刷卡的情况来确定 每个员工是否到岗。 当员工刷卡时, 会在后台留下一条记录, 包括刷卡的时间和员工编号, 只 要在一天中员工刷过一次卡, 就认为他到岗了。 现在…...
如何利用站内推广和站外推广提高转化率?
在如今的网络时代,拥有一个好的网站是非常重要的。但是,光有一个好的网站是不够的,为了达到我们的目标,需要不断地提高网站的转化率。而在实现这个目标的过程中,站内推广和站外推广是两个非常关键的因素。 站内推广是…...
Java多线程(三)——线程池及定时器
线程池就是一个可以复用线程的技术。前面三种多线程方法就是在用户发起一个线程请求就创建一个新线程来处理,下次新任务来了又要创建新线程,而创建新线程的开销是很大的,这样会严重影响系统的性能。线程池就相当于预先创建好几个线程…...
Linux命令行安装Oracle19c教程和踩坑经验
安装 下载 从 Oracle官方下载地址 需要的版本,本次安装是在Linux上使用yum安装,因此下载的是RPM。另外,需要说明的是,Oracle加了锁的下载需要登录用户才能安装,而用户是可以免费注册的,这里不做过多说明。 …...
Linux常用命令等
目录 1.Linux常用命令 (1)系统命令 (2)文件操作命令 2.vim编辑器 3.linux系统中,软件安装 (1) rpm 安装,RedHat Package Manager (2)yum 安装 (3)源代码编译安装 1.Linux常用命令 Linux命令是非常多的,对于像嵌入式开发工程师,运维工程师需要掌握的命令是非常多的.对于…...
CEC2014:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2014(提供MATLAB代码
一、鱼鹰优化算法简介 鱼鹰优化算法(Osprey optimization algorithm,OOA)由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出,其模拟鱼鹰的捕食行为。 鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米…...
MyBatis底层原理【源码运行时序图】
MyBatis初始化流程🛷 以下代码为例🎉 🎇可对应源码阅读 MyBatis初始化流程✨ #mermaid-svg-yoG1e8Dnp3UIAOUW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-yoG1e8Dnp3UIAOU…...
k8s 系列之 CoreDNS 解读
k8s 系列之 CoreDNS CoreDNS工作原理 kuberntes 中的 pod 基于 service 域名解析后,再负载均衡分发到 service 后端的各个 pod 服务中,如果没有 DNS 解析,则无法查到各个服务对应的 service 服务 在 Kubernetes 中,服务发现有几…...
从测试鸡蛋硬度到跳表的设计
我回忆起六七年前的一道题鸡蛋掉落问题,有幸在leetCode上找到题目了 原题是2枚鸡蛋 leetCode有拓展,k枚鸡蛋 具体的思路是这样的。 以2枚鸡蛋验证100层为例 不能直接二分查找,因为你在50层测试时,如果直接鸡蛋碎了,那…...
3D立体视觉成像原理介绍【一 】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言什么是基线?基线是如何影响3D图像质量激光三角测量飞行时间结构光相机时间编码结构光前言 本文将介绍3D立体视觉的成像原理,包括【激光三…...
CEC2021:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2021(提供MATLAB代码
一、鱼鹰优化算法简介 鱼鹰优化算法(Osprey optimization algorithm,OOA)由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出,其模拟鱼鹰的捕食行为。 鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米…...
0301_对应的南京比特物联网
0301_对应的南京比特物联网目录概述需求:设计思路实现思路分析1.流程拓展实现性能参数测试:参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better …...
钡铼技术BL302 ARM工控机QT图形化界面开发的实践
QT是一种跨平台的应用程序框架,用于开发图形用户界面(GUI)、网络应用程序和嵌入式应用程序。QT提供了丰富的GUI组件和工具,使开发人员能够轻松地创建专业级别的应用程序。QT使用C编写,支持多种操作系统,包括Windows、Linux、macOS…...
Python try except异常处理详解(入门必读)
Python 中,用try except语句块捕获并处理异常,其基本语法结构如下所示: try:可能产生异常的代码块 except [ (Error1, Error2, ... ) [as e] ]:处理异常的代码块1 except [ (Error3, Error4, ... ) [as e] ]:处理异常的代码块2 except [Exc…...
信息系统基本知识(三)软件工程
1.4 软件工程 定义:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程即上述方法的研究 软件工程由方法、工具和过程三个部分组成 1.4.1 需求分析 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。 需求层次 业务…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
