顺丰同城测试开发一面 49min答案,全文7000字,面试总结都在这里了

今天给大家分享一份顺丰同城的测试开发一面面试真题。老规矩,当你看到这份面试题的时候,先不要着急去看答案,你可以想想假如你在面试现场,你会怎么回答?这个思考的过程其实也是很重要的。

全文7000字干货,如果对你有帮助,希望能点个赞,这样我才有继续更新下去的动力。

 1. 首先做个自我介绍吧

主要概括个人优势➕简短,2~3分钟内。自我介绍的框架:

1、职业背景:过往在什么公司工作过,做过什么工作岗位,担任了什么样的一个角色。

2、个人优势/技能:擅长做什么?核心优势是什么?

3、成功项目:在过去的工作中,你有没有做过一些有亮点的项目,这个项目是什么,项目的数结果如何(最好有数据表现)。

4、如果没有亮点项目的话,就在个人优势这里,稍微拓展一些,自己掌握了什么技术。比如会自动化的环境搭建,自动化项目的部署,掌握接口、UI自动化测试的技术等。

综上所述,过去掌握的技能和经验,可以帮助快速上手项目的测试工作,所以和咱们公司的这个测试岗还是比较匹配的。

2.介绍一下实习时,负责的测试内容

一定记住分点去说,分别负责1234哪些部分,表达要有条理。

 

3.你是怎么去做测试的,或者说你是怎么去保证测试质量的?

先想清楚,什么会影响测试质量?之前转载一篇京东测试大佬写的文章,里面就有提到过:实际影响质量的因素有很多,一般包括

  1. 需求评审充分性、

  2. 技术方案合理性、

  3. 测试用例颗粒度、

  4. 测试手段完备性、

  5. 开发质量、

  6. 团队能力熟练度

  7. 跨团队配合等等。

知道影响因素后,就可以从每个影响的因素去回想,你做了哪些针对性的措施来保证测试质量。以上,是第一种回答思路。

第二种回答思路:可以从测试流程的思路来作答,这样不容易遗漏。

可以从测试前、测试中、测试后3个大的部分来说,当然面试的时候不需要把所有的测试流程全部讲完,只需要挑出你在哪一部分,做了什么来保证测试质量就可以了。

4.测试的流程是怎么样的,能描述一下吗?

每家公司的测试流程不一样,但是一般会包括以下流程:

一、测试前:1、产品需求评审;2、技术方案评审;3、用例评审;4、用例设计;

二、测试中:接口测试、冒烟测试、功能/UI测试、系统测试、回归测试、代码覆盖度测试、兼容性测试、产品验收测试、线上测试、自动化脚本是否需要每次上线前跑一遍等。

三、测试后:线上问题复盘。

5.  如果你发现了一个bug,怎么推动开发去修改?

第一,自己先定一个优先级,是否是立即要修改的bug,修改这个bug是否会延误上线时间等。

第二,如果优先级高,和开发沟通,解释bug的影响范围。

第三,协作:帮助开发查找定位bug,减轻开发的压力,会更愿意去修改。

6.有没有遇到过发现bug,研发认为不是bug的情况,你是怎么解决的?

第一,自己重新复现一下,确定是bug。

第二,看bug报告描述是不是有问题,是不是自己描述不准确。

第三,获取判断的依据和标准:比如用需求文档和开发当面进行沟通,注意客观、严谨,不参杂个人情绪。

第四,如果仍然存在争议,需要产品经理介入,一起讨论。

第五,以上方法都行不通的情况下,向上反馈,由上级做出决定。

7.  除了功能测试之外,还做过其他方面的测试吗?

8.  你常用的Linux命令有哪些?

参考:https://www.cnblogs.com/smile635664087/p/16075372.html

9.  怎样进行跨服务器的文件传输?

 

10.  如何查看服务器磁盘还有多少容量?

(1)查看内存空间

使用“free”命令可以查看服务器的内存空间,选项“-m”表示以MB(兆字节)的数据存储单位进行显示。执行结果如下所示:

在以上输出结果中,Mem表示系统的物理内存,total表示内存的总大小(995M),used表示已经使用的空间(168M),free表示可用空间(827M)。关于其他内容读者可参考Linux帮助手册进行学习,这里就不再详细解释。

(2)查看磁盘空间

使用“df”命令可以查看服务器的磁盘空间,选项“-lh”表示利用方便阅读的数据存储单位显示本地文件系统。执行结果如下所示:

 

在以上输出结果中,Filesystem是文件系统,Size表示该分区的总大小,Used表示已经使用的空间,Avail表示可用空间,Use%表示已经使用的百分比,Mounted on表示挂载路径。可以看出,系统共分为3个文件系统,其中“/dev/mapper/VolGroup-lv_root”是挂载到根目录的文件系统,总大小为8.3G,已经使用的空间为646M。通过上述命令可以看出,最小安装后的CentOS占用的内存和磁盘空间都非常小。用户可以根据自己的需要来手动安装软件和配置系统,避免因为大量预装软件而导致内存、磁盘等硬件资源的浪费。

11.MySQL的索引有了解过吗?索引有什么优缺点?

优点:

①减少了数据检索的时间

②保证了数据的唯一性

③表与表之前的参照完整性

④减少了在分组、排序的检索时间

缺点:

①创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

②除了数据表占数据空间之外,每一个索引还要占一定的物理空间。

③当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

12.  MySQL的事务有什么特性?

  • 原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。

  • 一致性(Consistency):在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功完成,那么系统中所有变化将正确应用。如果事务出错,那么系统中的所有变化自动回滚。

  • 隔离性(Isolation):在并发环境中,当不同的事务同时操作相同的数据时,每个事务都有各自的完成数据空间。数据更新时,数据所处的状态要么是更新前的状态,要么是更新后的状态。

  • 持久性(Durability):只要事务成功结束,它对数据库所做的更新就必须永久保存下来。

13.  给你三张表,student(学生表)、course(课程表)、sc(成绩表),查询平均成绩大于60分的同学的学号和平均成绩。你现在写一下SQL语句。

查找本学期没有选课的学生:

 

查找挂科的学生:

 

14.  发现bug之后怎么去做定位,有去分析过bug产生的原因吗?

第一步,确认是否是bug(看是否满足预期)。

第二步,保存bug记录,视频或截图。

第三步,找到稳定的复现步骤,以及找到复现问题的最短路径。复现路径越短,说明问题的影响面越大,更应该受到重视。

通过以上几个步骤,就可以清楚的去描述问题现象。

确认问题之后,接下来开始定位bug:

首先需要定位,这个bug是前端问题还是后端问题,一般是由浅入深,先从前端着手。通过抓包看是不是数据的问题,假如接口数据没问题,就是前端问题。假如接口数据有问题,大概率就是后端问题。后端问题看状态码,查看后端日志去看代码有没有异常,检查数据库、缓存、配置是否有异常。通过以上步骤,基本都能找到bug原因。

15.  HTTP状态码有了解吗?

1        1xx消息

2        2xx成功

3        3xx重定向

4        4xx客户端错误

5        5xx服务器错误

下面是常见的 HTTP 状态码:

  • 200 – 请求成功

  • 301 – 资源(网页等)被永久转移到其它URL

  • 404 – 请求的资源(网页等)不存在

  • 500 – 内部服务器错误

16.  页面现在有一个数据展示的不对,怎么去判断是前端问题还是后端问题?

前端bug特点 1, 界面相关 2,布局相关 3,兼容性相关

后端bug特点 1,业务逻辑相关 2,性能相关 3,数据相关 4,安全性相关

1、经验法

软件测试人员应不断精进自己的技能,负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类bug了。例如:网页上的某个图片的分辨率不对,如果我们了解实现过程,可以想到一般情况下,是根据某个地址去服务器取图片的,数据库一般只保存地址,那么图片能正确显示,就说明后端的基本功能是满足需求的。如果具体图片分辨率有误,最可能的原因是前端显示过程出了差错。

2、查日志

当我们发现一个bug,并不确定这个bug属于前端还是后端,可以查看后端服务的日志,复现bug时,查看日志中有没有相关信息。基本可以认为,如果日志没有输出,很可能这个功能并没有与后端交互,也就不存在后端的问题。反之,如果日志有输出,可以进一步查看有无错误日志信息,进一步分析。

3、查接口

这种方法常用于查看是后端返回给前端的数据有误,还是前端显示有误。大多数浏览器都有自带的接口查看工具,如Chrome,FireFox等都可以通过F12开启抓包,在NetWork中可以看到当前页面发送的每个http请求。我们需要对比通过后端接口拿到的数据和前端显示的数据,来确认问题出在哪里。如果数据错了,页面显示是错的,也是正常的,先从后端入手去解决。

还可以分析控制台中js是否有错误,network中状态码是否有问题,如果是500等说明服务端有问题。

比如登录页面,输入账号和密码点击登录,结果没有跳转也没有反应。

可以打开控制台,看是否有js错误,如果有就是前端问题,没有且有正常post请求再看network状态码,如果是404有可能是前端参数写错或者后台接口改了,前后端都可以提,500就是后台出了问题。

17. 有了解过一些中间件的东西吗?

中间件是介于操作系统和在其上运行的应用程序之间的软件。中间件实质上充当隐藏转换层,实现了分布式应用程序的通信和数据管理。它有时被称为管道,因为它将两个应用程序连接在一起,使数据和数据库可在“管道”间轻松传递。

通过中间件,用户可执行很多请求,例如在 Web 浏览器上提交表单,或者允许 Web 服务器基于用户的配置文件返回动态网页。

常见的中间件示例包括数据库中间件、应用程序服务器中间件、面向消息的中间件、Web 中间件和事务处理监视器。每个程序通常都会提供消息传递服务,让不同的应用程序可使用简单对象访问协议 (SOAP)、Web 服务、表述性状态转移 (REST) 和 JavaScript 对象表示法 (JSON) 等消息传递框架进行通信。

虽然所有中间件都执行通信功能,但公司选用的类型将取决于要使用的服务以及需要传达的信息类型。这可包括安全身份认证、事务管理、消息队列、应用程序服务器、Web 服务器和目录。

中间件还可用于实时发生的操作的分布式处理,而不是来回发送数据。

18.  输入url访问页面的全过程是怎么样的?可以讲一下么?

先进行DNS域名解析,获取域名对应的IP地址;

浏览器与服务器建立tcp连接;

浏览器向服务器发送http请求,

服务器根据浏览器请求的资源返回;

浏览器将拿到的资源进行解析和和加载,最终对页面渲染,绘制页面呈现给用户。

19.  黑盒测试的方法有哪些?

常用的黑盒测试方法有:

  • 等价类划分法;

  • 边界值分析法;

  • 因果图法;

  • 场景法;

  • 正交实验设计法;

  • 判定表驱动分析法;

  • 错误推测法;

  • 功能图分析法。

20.  有了解过白盒测试吗?

白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序。穷举路径测试不可能检查出程序因为遗漏路径而出错,穷举路径测试发现不了一些与数据相关的错误。

白盒测试需要遵循的原则有:

  • 保证一个模块中的所有独立路径至少被测试一次;

  • 所有逻辑值均需要测试真(true)和假(false);两种情况;

  • 检查程序的内部数据结构,保证其结构的有效性;

  • 在上下边界及可操作范围内运行所有循环。

常用白盒测试方法:

静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、 性能分析、内存分析等。

白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:

  • 语句覆盖每条语句至少执行一次。

  • 判定覆盖每个判定的每个分支至少执行一次。

  • 条件覆盖每个判定的每个条件应取到各种可能的值。

  • 判定/条件覆盖同时满足判定覆盖条件覆盖。

  • 条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

  • 路径覆盖使程序中每一条可能的路径至少执行一次。

21.  用postman可以做哪些事情?

Postman是一款流行的接口测试工具,有chrome插件端和pc版,可以用来模拟http的请求,如get或者post或者其他方式的请求来调试接口。开发同学调试接口和测试同学做接口测试经常使用。

22.  上传图片的测试用例,请你设计一下

23.  为什么选择从事测试这个岗位?

顺丰同城测试开发一面 49min答案,全文7000字,面试总结都在这里了 

软件测试面试合集:

 800道软件测试面试题+来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作,点击下方小卡片均可领取。

 敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,或者给作者一个鼓励。也方便你下次能够快速查找。 

 

 

 

 

 

 

 

 

 

版权声明:本文为博主作者:程序员雷叔原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/chengxuyuznguoke/article/details/129281938

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2024年1月3日
下一篇 2024年1月3日

相关推荐