收集了2022年所有黑马学员的面试题后,负责就业的黑马讲师们整理出了7个高频出现的面试题,一起来看看。
高频问题1:请自我介绍下?
高频问题2:请介绍下最近做过的项目?
高频问题3:请介绍下你印象深刻的bug?
高频问题4:Fiddler工具怎么使用的?
高频问题5:说一下你常用的Linux命令?
高频问题6: 数据库在哪里使用过?
高频问题7:为什么从上一家公司离职?
这7个面试题该如何回答才能不踩坑?下面我将参考答案给大家一一介绍下,赶紧收藏起来。
问题1:请自我介绍下?
核⼼要素:个⼈技能优势+⼯作背景+经验亮点
参考回答:
第一种:基本信息+离职理由
⾯试官您好,我叫张三,来⾃番茄市,在软件测试⾏业有 3 年的⼯作经验。做过 Web/APP及⼩程序项⽬的测试⼯作,有独⽴负责整个项⽬的测试经验。
由于个⼈原因从上家公司离职,⽬前为离职状态,以上是我的个⼈介绍。
第二种:基本信息+项⽬介绍
⾯试官您好,我叫张三,来⾃番茄市,在软件测试⾏业有 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
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:你为什么从上一家公司离职?
回答提示:
①最重要的是:应聘者要使找招聘单位相信,应聘者在过往的单位的“离职原因”在此家招聘单位⾥不存在。
②避免把“离职原因”说得太详细、太具体。
③不能掺杂主观的负⾯感受,如“太⾟苦”、 “⼈际关系复杂”、 “管理太混乱”、 “公司不重视⼈才”、 “公司排斥我们某某的员⼯”等。
④但也不能躲闪、回避,如“想换换环境”、 “个⼈原因”等。
⑤不能涉及⾃⼰负⾯的⼈格特征,如不诚实、懒惰、缺乏责任感、不随和等。
⑥尽量使解释的理由为应聘者个⼈形象添彩。
参考回答:
我离职是因为这家公司倒闭;我在公司⼯作了三年多,有较深的感情;从去年始,由于市场形势突变,公司的局⾯急转直下;到眼下这⼀步我觉得很遗憾,但还要⾯对显示,重新寻找能发挥我能⼒的舞台。
同⼀个⾯试问题并⾮只有⼀个答案,⽽同⼀个答案并不是在任何⾯试场合都有效,关键在应聘者掌握了规律后,对⾯试的具体情况进⾏把握,有意识地揣摩⾯试官提出问题的⼼理背景,然后投其所好。
分析:
除⾮是薪资太低,或者是最初的⼯作,否则不要⽤"薪资"作为理由。“求发展”也被考官听得太多,离职理由要根据每个⼈的真实离职理由来设计,但是在回答时⼀定要表现得真诚。实在想不出来的时候,家在外地可以说是因为家中有事,须请假⼏个⽉,公司⼜不可能准假,所以辞职,这个答案⼀般⾯试官还能接受。
另外附上软件测试面试宝典的同学评论区见