问题1:请介绍下最近做过的项目?
问题2:请介绍下你印象深刻的bug?
问题3: 数据库在哪里使用过?
问题4:说一下你常用的Linux命令?
问题5:Fiddler工具怎么使用的?
问题6:为什么从上一家公司离职?
这几个面试题该如何回答才能不踩坑?
面试题1: 请介绍下你最近做的项目?
核心要素:
项目是干什么的,包含几个平台,给谁用的, 分别是用来做什么的,核心业务是什么,自己负责哪些模块。
回答:
我最近的项目是金融的借贷项目,包括前台(Web/APP)和后台管理系统(Web)。
前台包括:首页,品质理财,智能投顾,社区,个人中心(个人借款和我的投资的信息板块,可以相互切换)。
后台包括:系统首页,借款中心,资?管理,用户管理,认证管理,内容管理,消息通知,客服等。(基金理财,保险理财,银行严选专区)
核心业务:
贷款流程(分为个人借款和在线借款)
个人借款:
注册–登陆–开通资金托管账户–申请额度–额度审核成功–借款方式(信用抵押)–填写借款申请–提交借款申请成功–后台初审
管理未审核–后台管理员初审标审核通过(未通过,驳回,借款?在未通过时撤销)–借款申请成功
在线借款:
未注册–在线申请借款-借款申请审核通过–后台添加用户–用户前台开通资金托管并申请额度–额度后台审核通过–发布借款–初审标通过–借款成功
投资流程
注册–>投资人登录–>开启资金托管–>小额充值–>风险评测–>选择款标进行投资–>满标 -->满标审核通过–>借款人还款
我主要负责借款和P2P投资两个核心模块的功能测试和相关接口测试。
面试题2:请介绍下你印象深刻的Bug?
核心要素:
结合自己的项目说。
回答:
我之前有测过一个功能,点击了按钮之后,这个页面是没有反应。我就把这个问题给后端提了一个 bug 。
这个后端的开发看了日志之后就把这个 bug 给我打回来了,说这个不是后端的 bug ,我用抓包工具看了一下接口和响应之后才发现这个是前端的一个 bug 。
这个bug之所以深刻,是因为自己没有多思考就提了bug,在以后的工作中的话,我碰到 bug 首先就首先的话自己先去复现,然后去定位这个 bug 的前端还是后端,然后再进行提 bug 。
面试题3:数据库在哪里使用过?
回答:
执行测试用例时,有时需要到数据库验证数据的准确性与完整性。
进行bug定位时,有时需要到数据库查看数据的详细信息。
构造某种测试场景时,可以在数据库里直接修改数据,要比使用界面更有效率。
软件升级过程中,经常会涉及到对历史数据的处理,这种情况需要执行升级sql,并验证结果。
insert into插入数据,update修改数据,内连接查询,左右连接查询,子查询,个人都非常熟。
个人用的比较多的是数据库可视化工具是navicat。
面试题4:说一下你常用的Linux命令?
核心要素:
Linux应用场景总结+具体命令,功能
回答:
作为测试,我使用Linux主要是再下面4个场景中:
开发人员提测,我这边就要用linux去搭建测试环境。
比如说开发人员提测后,我要去将他的代码部署到指定的路径下,就需要用到解压的命令。还要进行编译和安装。
还有的时候测试时服务器挂了,要重启服务,我?的是service的那个命令。还有的重启后要查看下进程啊,和端口啊什么的。
但是呢大部分用的比较多的就是测试时出现错误就会去服务器查看一下日志信息 ,用的是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编辑 命令模式,文本模式,末行模式。
面试题5:fiddler工具用过吗?你怎么使用的?
核心要素:
fiddler工具使用经验+fiddler工具功能总结
回答:
1、Fidder我在项目的登录注册模块有用到,在前台注册有效邮箱提交,用fidder进行拦截,抓包后在fidder中修改成无效的邮箱,提交看是否能注册成功,成功了就是后台接口没有进行验证。还可以对支付订单信息这里进行抓包修改数据,修改钱数,花1分钱买东西。
2、曾经接手过一个项目,什么文档都没有,还要对项目接口进行验证。Fiddler打开,然后访问项目网址,抓项目的网络请求,看看具体访问了哪个接口,传了什么样的数据,和返回数据,然后整理成文档。方便后期使用。
Ps:Mac抓包不用fiddler。得用Charles。
fiddle的作用主要是下面4个吧:
1、分析缺陷是前端的问题还是后端的问题。
例如:提交订单的请求地址:
① 界面组织提交订单商品数据,点击【提交订单】,触发发送请求。
② 后台代码进行处理,处理完成之后,返回订单相关数据。返回的数据由开发者来决定(需求来决定到底返回哪些数据)订单编号、订单金额例如订单金额在界面显示错误,抓取提交订单响应数据,查看接口返回信息中订单的总额是否是正确。
如果接口中订单总额正确,则是前端的问题,如果是响应信息中订单总额是错误,则是后端的问题。
2、前端对于输入信息做了对应限制,不代表后端代码也做了限制,每个请求地址对应懂IT的人的来讲都是能够直接跳过前端页面进行操作的。验证后端对于异常输入的是否也有做对应限制。
3、接口测试测试每个请求的实现情况。部分公司的开发没有编写接口文档,则可以通过抓包工具获取到具体接口地址。
4、做手机端弱网测试。
面试题6:你为什么从上一家公司离职?
提示:
①最重要的是:应聘者要使找招聘单位相信,应聘者在过往的单位的“离职原因”在此家招聘单位里不存在。
②避免把“离职原因”说得太详细、太具体。
③不能掺杂主观的负面感受,如“太辛苦”、 “人际关系复杂”、 “管理太混乱”、 “公司不重视人才”、 “公司排斥我们某某的员工”等。
④但也不能躲闪、回避,如“想换换环境”、 “个人原因”等。
⑤不能涉及自己负面的人格特征,如不诚实、懒惰、缺乏责任感、不随和等。
⑥尽量使解释的理由为应聘者个人形象添彩。
回答:
我离职是因为这家公司倒闭;我在公司工作了三年多,有较深的感情;从去年始,由于市场形势突变,公司的局面急转直下;到眼下这一步我觉得很遗憾,但还要面对现实,重新寻找能发挥我能力的舞台。
同一个面试问题并非只有一个答案,而同一个答案并不是在任何面试场合都有效,关键在应聘者掌握了规律后,对面试的具体情况进行把握,有意识地揣摩面试官提出问题的心理背景,然后投其所好。
除非是薪资太低,或者是最初的工作,否则不要用"薪资"作为理由。“求发展”也被考官听得太多,离职理由要根据每个人的真实离职理由来设计,但是在回答时一定要表现得真诚。
实在想不出来的时候,家在外地可以说是因为家中有事,须请假几个月,公司又不可能准假,所以辞职,这个答案一般面试官还能接受。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
每个人都有自己的梦想和追求,但成功需要付出努力和汗水。不要害怕失败,勇敢尝试,不断进步。无论前路多么艰难险阻,保持坚定信念,坚持不懈地追求自己的目标,你将会获得属于你自己的成功与成就。
不想被平庸所困,就要勇敢追求自己的梦想,即使路途崎岖,也要坚定前行。只有拼尽全力奋斗,才能收获真正的成功和成长。别忘了,你的付出和努力都有价值,向着目标一步步前进吧!
每一次坚持都是一次积累,每一次努力都是一次跨越。只要不放弃追求自己的梦想,就能够创造出无限可能。让我们携手前行,勇往直前,为了更加美好的明天而奋斗!