顺丰同城测试开发一面 49min答案,全文7000字,面试总结都在这里了
今天给大家分享一份顺丰同城的测试开发一面面试真题。老规矩,当你看到这份面试题的时候,先不要着急去看答案,你可以想想假如你在面试现场,你会怎么回答?这个思考的过程其实也是很重要的。
全文7000字干货,如果对你有帮助,希望能点个赞,这样我才有继续更新下去的动力。
1. 首先做个自我介绍吧
主要概括个人优势➕简短,2~3分钟内。自我介绍的框架:
1、职业背景:过往在什么公司工作过,做过什么工作岗位,担任了什么样的一个角色。
2、个人优势/技能:擅长做什么?核心优势是什么?
3、成功项目:在过去的工作中,你有没有做过一些有亮点的项目,这个项目是什么,项目的数结果如何(最好有数据表现)。
4、如果没有亮点项目的话,就在个人优势这里,稍微拓展一些,自己掌握了什么技术。比如会自动化的环境搭建,自动化项目的部署,掌握接口、UI自动化测试的技术等。
综上所述,过去掌握的技能和经验,可以帮助快速上手项目的测试工作,所以和咱们公司的这个测试岗还是比较匹配的。
2.介绍一下实习时,负责的测试内容
一定记住分点去说,分别负责1234哪些部分,表达要有条理。
3.你是怎么去做测试的,或者说你是怎么去保证测试质量的?
先想清楚,什么会影响测试质量?之前转载一篇京东测试大佬写的文章,里面就有提到过:实际影响质量的因素有很多,一般包括
-
需求评审充分性、
-
技术方案合理性、
-
测试用例颗粒度、
-
测试手段完备性、
-
开发质量、
-
团队能力熟练度
-
跨团队配合等等。
知道影响因素后,就可以从每个影响的因素去回想,你做了哪些针对性的措施来保证测试质量。以上,是第一种回答思路。
第二种回答思路:可以从测试流程的思路来作答,这样不容易遗漏。
可以从测试前、测试中、测试后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. 为什么选择从事测试这个岗位?
软件测试面试合集:
800道软件测试面试题+来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作,点击下方小卡片均可领取。


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

相关文章:
顺丰同城测试开发一面 49min答案,全文7000字,面试总结都在这里了
今天给大家分享一份顺丰同城的测试开发一面面试真题。老规矩,当你看到这份面试题的时候,先不要着急去看答案,你可以想想假如你在面试现场,你会怎么回答?这个思考的过程其实也是很重要的。 全文7000字干货,…...
docker启动容器服务之后访问失败
关于docker启动容器服务之后,宿主机访问失败(解决方法) 注:在进行docker容器启动宿主机进行容器访问时,无需进行网络的配置,docker容器在启动时会自动解决 第一种原因及修改方法 在进行启动的时候&#…...
GraalVM-云原生时代的JVM(Java)
文章目录一、GraalVM是什么?二、GraalVM有哪些特点?2.1、高性能2.2、多语言支持2.3、互操作性2.4、安全性三、GraalVM的应用效果3.1、提高性能3.2、简化开发3.3、降低成本3.4、节省资源3.5、支持云环境四、使用GraalVM编译springboot应用程序4.1、下载并…...
如何外网登录访问瑞友天翼应用虚拟化系统?——快解析内网端口映射方案
瑞友天翼应用虚拟化系统(GWT System)是国内具有自主知识产权的应用虚拟化平台,是基于服务器计算(Server-based Computing)的应用虚拟化平台。如何将内网平台提供到互联网上外网访问,是我们比较关注的问题。…...
蓝海彤翔执行副总裁张加廷接受【联播苏州】独家专访
今年春节档,科幻类电影《流浪地球2》票房口碑双丰收,截至目前,累计票房已破 38 亿,淘票票评分 9.6 ,影片的特效质感可以媲美国际顶尖水平。其中,蓝海彤翔为影片的后期制作提供了出色的渲染服务。2月21日&am…...
iOS Airplay Screen Mirroring 同屏技术详解
投屏技术已经被大量用在身边的产品,比如电视投屏,投影仪,视频会议产品中。 在iOS平台外的其他平台中都已经有非常成熟的标准和实现。但在封闭的苹果iOS和Mac系统中,苹果使用私有的Airplay协议进行多屏互动,只开放给自己…...
更新 Python 100道基础入门检测练习题【下篇】(附答案)
前言 大家早好、午好、晚好吖 ❤ ~ 爆肝更新 Python 100道基础入门练习题【篇上】 更多精彩内容、资源皆可点击文章下方名片获取此处跳转 实例021:猴子偷桃 题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半…...
[RDMA-高级计算机网络report] Congestion Control for Large-Scale RDMA Departments
本文主要解决的问题是在RoCEv2体系中,基于优先级的拥塞控制PFC是一种粗粒度的机制。 它在端口(或端口加优先级)级别上运行,并且不区分流。PAUSE机制是基于每个端口(和优先级)的,而不是基于每个流…...
ROS2功能包Hello world(python)
文章目录环境准备Python创建工作空间、功能包及节点方法编译使用环境准备 为了便于日后复现,相关环境已经打包到docker中。 拉取docker镜像 docker pull 1224425503/ros2_foxy_full:latest新建容器 docker run -dit --rm --privilegedtrue --network host -e NV…...
数学建模竞赛的一些心得体会
1.数学建模经验首先简要的介绍一下我的情况。数学建模我也是在大一暑假开始接触的,之前对其没有任何的了解。我本身对数学也有相对较厚的兴趣,同时我也是计算机专业的学生,因此,我觉得我可参加数学建模的这个比赛。大一的暑假参加…...
什么是自动化测试?自动化测试现状怎么样?
什么是自动化测试:其实自动化测试,就是让我们写一段程序去测试另一段程序是否正常的过程,自动化测试可以更加省力的替代一部分的手动操作。 现在自动化测试的现状,也是所有学习者关心的,但现在国内公司主要是以功能测…...
CHAPTER 2 Web HA集群部署 - Heartbeat
Web HA集群部署 - Heartbeat1. Heartbeat 概述1.1 Heartbeat主要组成部分2. 环境依赖2.1 环境及组件软件2.2 关闭firewalld & selinux2.3 配置双机互信,SSH密钥登录2.4 同步时间(以主节点时间为准)2.5 配置域名解析3 安装软件3.1 安装…...
蓝桥杯每日一题:不同路径数(dfs深度优先)
给定一个 nm的二维矩阵,其中的每个元素都是一个 [1,9] 之间的正整数。 从矩阵中的任意位置出发,每次可以沿上下左右四个方向前进一步,走过的位置可以重复走。 走了 k 次后,经过的元素会构成一个 (k1) 位数。 请求出一共可以走出…...
NCRE计算机等级考试Python真题(十)
第十套试题1、数据库系统的核心是___________。A.数据库管理系统B.数据模型C.软件工具D.数据库正确答案: A2、下列叙述中正确的是___________。A.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的B.线性表链式存储结构与顺序存储结构的存储空…...
【蓝桥杯嵌入式】点亮LED灯,流水灯的原理图解析与代码实现——STM32
🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 - 蓝…...
RK3288-android8-es7210-阵列麦克风
ES7210驱动包 应需求调试一个ES7210的阵列麦克风 首先移植 From 234647c69a57c32198c65836e7fc521dc22e444b Mon Sep 17 00:00:00 2001 From: LuoXiaoTan <lxt@rock-chips.com> Date: Tue, 10 Jul 2018 18:08:50 -0700 Subject: [PATCH] ASoC: codecs: add es7210 adc …...
硬件工程师常见问题与答疑
在工作中,尤其是做了很多年的,有些问题可能不知道,又不好意思问,怕别人说你连这个都不知道?很尴尬,而且百度又搜不到,本博主收集了很多答疑,希望里面有对你有用的,或者是…...
【Java】Java进阶学习笔记(一)—— 面向对象(封装)
【Java】Java进阶学习笔记(一)—— 面向对象(封装)一、类中成分1、类中成分2、this关键字this() 访问构造器方法3、static关键字1. 成员变量的区分2. 成员方法的区分3. 成员变量访问语法的区分二、封装1、封装的定义封装的好处2、…...
jsp拆迁管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 JSP 拆迁管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…...
CCNP350-401学习笔记(易错题合集)
CCNP350-401学习笔记(1-50题)_殊彦_sy的博客-CSDN博客CCNP350-401学习笔记(2023.2.17)https://blog.csdn.net/shuyan1115/article/details/129088574?spm1001.2014.3001.5502CCNP350-401学习笔记(51-100题)…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
