收集了2023年所有朋友软件测试的面试题后,我特意整理出了7个高频出现的面试题,一起来看看。
高频问题1:请自我介绍下?
高频问题2:请介绍下最近做过的项目?
高频问题3:请介绍下你印象深刻的bug?
高频问题4:Fiddler工具怎么使用的?
高频问题5:说一下你常用的Linux命令?
高频问题6:数据库在哪里使用过?
高频问题7: 为什么从上一家公司离职?
这7个面试题该如何回答才能不踩坑?下面我将参考的参考答案给大家一一介绍下,赶紧收藏起来。
问题1:请自我介绍下?
核⼼要素:
个⼈技能优势+⼯作背景+经验亮点
参考回答:
第一种:基本信息+离职理由
⾯试官您好,我叫张三,来自XX市,在软件测试从业有 3 年的⼯作经验。做过 Web/APP及小程序项目的测试工作,有独自负责整个项 目的测试经验。 由于个人原因从上家公司离职,目前为离职状态,以上是我的个人介绍。
第二种:基本信息+项⽬介绍
面试官您好,我叫张三,来自XX市,在软件测试从业有 3 年的工作经验,做过 Web/APP及小程序项目的测试工作,有独自负责整个项目的测试经验。 最近做个的项目是 xxx,这是一款基于(B/S 或 C/S)架构的 xxx 产品,在该项⽬中我主要负责 xxx 业务和xxx 业务及 xxx 模块 和 xxx 模块的功能,接口,及自动化测试。 在功能测试中主要运⽤到 xxx 测试工具和 xxx 缺陷管理系统,在接口测试中主要使用到 xxx 工具,自动化测试是基于 Python+Requests+pytest+Jenkins 实现的测试框架搭建和测试实现。以上是我的个人介绍。
面试2: 请介绍下你最近做的项目?
核心要素:
项目是做什么的,包含几个平台,给谁用的, 分别是用来做什么的,核心业务是什么,自己负责哪些模块。
参考回答:
我最近的项目是金融的借贷项目,包括前台(Web/APP)和后台管理系统(Web)。
前台包括:⾸⻚,品质理财,智能投顾,社区,个⼈中⼼(个人借款和我的投资的信息板块,可以相互切换)。 后台包括:系统⾸⻚,借款中⼼,资产管理,账户管理,认证管理,内容管理,消息通知,客服等。 (基金理财,保险理财,银⾏严选 专区)
核心业务:
1. 贷款流程(分为个人借款和在线借款)
● 个人借款:
○ 注册--登陆--开通资产托管账户--申请额度--额度审核成功--借款行式(信用抵押)--填写借款申请--提交借款申请成功--后台初审 管理未审核--后台管理员初审标审核通过(未通过,驳回,借款⼈在未通过时撤销)--借款申请成功
● 在线借款:
○ 未注册--在线申请借款-借款申请审核通过--后台添加账户--⽤户前台开通资⾦托管并申请额度--额度后台审核通过--发布借款--初 审标通过--借款成功
2. 投资流程
● 注册-->投资⼈登录-->开启资⾦托管-->⼩额充值-->风险评测-->选择款标进行投资-->满标 -->满标审核通过-->借款⼈还款
我主要负责借款和P2P投资两个核⼼模块的功能测试和相关接口测试。
面试题3:请介绍下你印象深刻的Bug?
核心要素:
结合自己的项目说。
参考答案:
我之前有测过一个功能,点击了按钮之后,这个页面是没有反应。我就把这个问题给后端提了一个 bug 。 这个后端的开发看了日志之后就把这个 bug 给我打回来了,说这个不是后端的 bug ,我用抓包工具看了一下接口和响应之后才发现 这个是前端的一个 bug 。 这个bug之所以深刻,是因为自己没有多思考就提了bug, 然后和后端开发产生了一点就是小的一些摩擦。 在以后的工作中的话,我碰到 bug 首先就首先的话自己先去复现,然后去定位这个 bug 的前端还是后端,然后再进行提 bug 。 大概就这些吧。
问题4:fiddler工具用过吗?你怎么使用的?
核心要素:
fiddler工具使用经验+fiddler工具功能总结
参考回答:
1、Fidder我在项目的登录注册模块有用到,在前台注册有效邮箱提交,用fidder进行拦截,抓包后在fidder中修改成无效的邮箱,提交 看是否能注册成功,成功了就是后台接口没有进行验证。还可以对支付订单信息这里进行抓包修改数据,修改钱数,花1分钱买东西。
2、曾经接手过一个项目,什么文档都没有,还要对项目接口进行验证。Fiddler打开,然后访问项目网址,抓项目的网络请求,看看具体 访问了哪个接口,传了什么样的数据,和返回数据,然后整理成文档。方便后期使用。
Ps:Mac抓包不用fiddler。得用Charles。
Fiddle的作用主要是下面4个吧:
1、分析缺陷是前端的问题还是后端的问题。 例如:提交订单的请求地址:
① 界面组织提交订单商品数据,点击【提交订单】,触发发送请求
② 后台代码进行处理,处理完成之后,返回订单相关数据。返回的 数据由开发者来决定(需求来决定到底返回哪些数据)订单编号、订单金额例如订单金额在界面显示错误,抓取提交订单响应数据,查 看接口返回信息中订单的总额是否是正确。如果接口中订单总额正确,则是前端的问题,如果是响应信息中订单总额是错误,则是后端 的问题。
2、前端对于输入信息做了对应限制,不代表后端代码也做了限制,每个请求地址对应懂IT的人的来讲都是能够直接跳过前端页面进行 操作的。验证后端对于异常输入的是否也有做对应限制。
3、接口测试测试每个请求的实现情况。部分公司的开发没有编写接口文档,则可以通过抓包工具获取到具体接口地址。
4、做手机端弱网测试
面试题5:说一下你常用的Linux命令?
核心要素:
Linux应用场景总结+具体命令,功能
参考回答: 作为测试,我使用Linux主要是再下面4个场景中
1)开发人员提测,我这边就要用linux去搭建测试环境。
2)比如说开发人员提测后,我要去将他的代码部署到指定的路径下,就需要用到解压的命令。还要进行编译和安装。
3)还有的时候测试时服务器挂了,要重启服务,我用的是service的那个命令。|还有的重启后要查看下进程啊,和端⼝啊什么的,
4)但是呢⼤部分⽤的⽐较多的就是测试时出现错误就会去服务器查看⼀下⽇志信息 ,⽤的是tail -f 日志文件。
一些简单的 比如ls ll cd pwd这些我就不说了,用的比较多的Linux命令有下面这些:
查看进程: ps -aux
查看端⼝: netstate -tnulp | grep 端⼝号
杀死进程: kill
强制结束进程kill -9
远程拷⻉: scp
find 查找指定的文件
tail -f 实时查看日志
cat ⽤于显示指定文件的全部内容
mkdir 创建目录
touch 创建新的⽂件 tar.zxvf 解压
chmod -R 777 赋予777权限
grep 查找⽂件⾥符合条件的字符串
vim编辑 命令模式,⽂本模式,末⾏模式
面试题6:数据库在哪里使用过?
参考回答:
1 执行测试用例时,有时需要到数据库验证数据的准确性与完整性。
2 进行bug定位时,有时需要到数据库查看数据的详细信息。
3 构造某种测试场景时,可以在数据库里直接修改数据,要比使用界面更有效率。
4 软件升级过程中,经常会涉及到对历史数据的处理,这种情况需要执行升级sql,并验证结果。
insert into插入数据,update修改数据,内链接查询,左右连接查询,子查询,个人都非常熟。 个人用的比较多的是数据库可视化工具是navicat。
面试题7:你为什么从上一家公司离职?
回答提示:
①最重要的是:应聘者要使找招聘单位相信,应聘者在过往的单位的“离职原因”在此家招聘单位⾥不存在。 ②避免把“离职原因”说得太详细、太具体。
③不能掺杂主观的负⾯感受,如“太辛苦”、 “人际关系复杂”、 “管理太混乱”、 “公司不重视人才”、 “公司排斥我们某某的员工”等。
④但也不能躲闪、回避,如“想换换环境”、 “个人原因”等。
⑤不能涉及到负面的性格特征,如不诚实、懒惰、缺乏责任感、不随和等。
⑥尽量使解释的理由为应聘者个人形象添彩。
参考回答: 我离职是因为这家公司倒闭;我在公司工作了三年多,有较深的感情;从去年始,由于市场形势突变,公司的局面急转直下;到眼下 这一步我觉得很遗憾,但还要面对现实,重新寻找能发挥我能够的舞台。
ps:同一个面试问题并且只有一个答案,相同一个答案并不是在任何面试场合都有效,关键在应聘者掌握了规律后,对面试的具体情况进行把握,有意识地揣摩面试官提出问题的⼼理背景,然后投其所好。
分析: 除非是薪资太低,或者是最初的工作,否则不要以"薪资"作为理由。 “求发展”也被考官听得太多,离职理由要根据每个⼈的真实离 职理由来设计,但是在回答时一定要表现得真诚。实在想不出来的时候,家在外地可以说是因为家中有事,须请假,公司也不可能准假,所以辞职,这个答案一般面试官还能接受。
最后祝大家都能找到心仪的工作,快乐工作,幸福生活,广阔天地,大有作为。
整理了一波之前发布的软件测试资源【点击文末小卡片免费领取】,无套路领取!
基本涵盖了软件测试 的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相关,性能测试,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源,技术脑图等等…质量非常高!!!应对技术面试绰绰有余!