面试字节跳动后,整理了这20道面试题....(代码片段)

丸子说测试 丸子说测试     2022-12-16     648

关键词:

1、软件测试流程介绍

第一阶段:

分析需求,公司先把需求给到我们,让我们先去了解一两天,这两天我们会把一些不明确的需求点记录下来。输出:不明确的需求问题,然后会有一个需求的澄清会,我们把不理解的地方在会议上说出来,包含需求的合理性,还有可测性等。

第二阶段:
会议结束后我们就开始准备测试工作,我们测试这边会写一个测试计划,分配每个人的测试任务,然后根据自己手里的任务进行测试点的提炼,然后再进行测试用例的编写。编写好之后,我们测试小组会先评审一下,然后再进行修改、补充,然后再项目组进行评审,评审完成之后再完善测试用例。输出:测试计划(内容包括:目的和范围、需求、测试方法、测试环境、测试时间与人员安排、交付件)和测试用例。

第三阶段:
执行测试用例,开发会在禅道里给我们对应的测试人员下发一个测试单,然后我们测试人员就开始按照测试单上的内容进行测试工作,发现bug提交bug,到回归测试,每一轮测试结束之后我们都会输出测试报告。当达到上线标准后,测试报告会认为通过,然后就可以安排上预生产测试,预生产没问题之后就可以投入生产环境正常使用了,最后也会在生产环境验证一下。输出:测试报告(内容包括:项目和背景、用例设计、测试环境、测试工具、测试范围、用例执行情况、遗留的bug、测试结论)。

2、SQL硬删除、软删除

所谓软删除(Soft Deleting),即在删除数据表中的数据时,并不直接将其从数据表中删除,而是将其标志为删除,即在每张表中设置一个删除字段(如:IsDeleted)等,默认情况下其值为0,及未删除状态;当需要将数据删除时,则将此字段更新为1。与之对应的,将数据从数据库中彻底删除的方式称为硬删除,即(Hard Deleting)。

3、SQL创建表的方法

普通创建:

create table a1 (id int,name char(30));

复制创建:

create table new_table LIKE old_table; #复制表的所有结构

4、SQL增删改查语法

左外连接:left join

Select * from t1 left join t2 on t1.id = t2.id

右外连接:right join

Select * from t1 right join t2 on t1.id = t2.id

内连接:inner join

Select * from t1 inner join t2 on t1.id = t2.id

增加数据:

Insert into 表名称(字段。。。) values(值。。。)

修改表数据:

Update 表名 set 字段=值,字段=值,。。。where 更新条件

删除表数据:

Delete from 表名 where 删除条件

5、索引有哪些,索引的优缺点

主键索引 primark,唯一索引 unique,普通索引 index,组合索引 index,全文索引 fulltext。

提高了查询速度,但是降低了表更新的速度,更新表是不仅要保存数据,还要保存一下索引文件,建立索引会占用磁盘空间的索引文件。

6、索引的原理

不管数据表有无索引,数据缓冲区中查找所需要的数据,如果数据缓冲区中没有需要的数据时,服务器进程才去读磁盘。

无索引,直接去读表数据存放的磁盘块,读到数据缓冲区中再查找需要的数据。

有索引,先读入索引表,通过索引表直接找到所需数据的物理地址,并把数据读入数据缓冲区中。

7、商品价格9.9,购买2件,提交订单,付款19.78,是什么原因

(1)查看需求是否有优惠政策。

(2)分2步,一次购买一件看价格是否有变动。

(3)查看前端界面是否显示错误。

首先排除优惠政策,和前端界面显示错误。如果需求和界面都没问题,那么后端算法出现问题。

8、微信发红包设计测试用例

(1)功能

1)在红包钱数,和红包个数的输入框中只能输入数字

2)红包里最多和最少可以输入的钱数 200 0.01

3.1)拼手气红包最多可以发多少个红包 100

3.2)超过最大拼手气红包的个数是否有提醒

4)当红包钱数超过最大范围是不是有对应的提示

5)当发送的红包个数超过最大范围是不是有提示

6)当余额不足时,红包发送失败

7.1)在红包描述里是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号

7.2)是否可以输入它们的混合搭配

8)输入红包钱数是不是只能输入数字

9)红包描述里允许能有多少个字符 10个

10)红包描述,金额,红包个数框里是否支持复制粘贴操作

11)红包描述里的表情可以删除

12)发送的红包别人是否可以领取

13)发的红包自己可不可以领取

14.1)24小时内没有领取的红包是否可以退回到原来的账户

14.2)超过24小时没有领取的红包,是否还可以领取

15)用户是否可以多次抢一个红包

16)发红包的人是否还可以抢红包

17)红包的金额里的小数位数是否有限制

18)可以按返回键,取消发红包

19)断网时,无法抢红包

20)可不可以自己选择支付方式

21)余额不足时,会不会自动匹配支付方式

22)在发红包界面能否看到以前的收发红包的记录

23)红包记录里的信息与实际收发红包记录是否匹配

24)支付时可以密码支付也可以指纹支付

25)如果直接输入小数点,那么小数点之前应该有个0

26)支付成功后,退回聊天界面

27)发红包金额和收到的红包金额应该匹配

28)是否可以连续多次发红包

29)输入钱数为0,"塞钱进红包"置灰

(2)性能

1)弱网时抢红包,发红包的时间

2)不同网速时抢红包,发红包的时间

3)发红包和收红包成功后的跳转时间

4)收发红包的耗电量

5)退款到账的时间

(3)兼容

1)iOS、安卓、鸿蒙、Pad是否都可以发送红包

2)电脑端是否可以抢微信红包

(4)界面

1)发红包界面没有错别字

2)抢完红包界面没有错别字

3)发红包和收红包界面排版合理

4)发红包和收红包界面颜色搭配合理

(5)安全

1)对方微信号异地登录,是否会有提醒

2)红包被领取以后,发送红包人的金额会减少,收红包金额会增加

3)发送红包失败,余额和银行卡里的钱数不会少

4)红包发送成功,是否会收到微信支付的通知

(6)易用性

1)红包描述,可以通过语音输入

2)可以指纹支付也可以密码支付

9、人脸识别测试用例

(1)功能

1)摄像头的开关功能

2)开始识别按钮的验证

3)距离的验证

4)一次性拍摄多个人验证的结果

5)多次拍摄一个人验证的结果

6)拍摄的不是活体而是图片,结果的验证

7)拍摄人脸面积的不同的验证

8)拍摄角度不同结果的验证

9)拍摄光线不同结果的验证

10)拍摄同一个人穿衣不同的结果验证

11)抓拍与正常拍摄的结果对比

12)拍摄的不是人脸结果验证

(2)性能

1)点击识别到出现结果的响应时间

2)多个客户端同时访问

(3)易用

实现流程简单,只需要点击按钮就可以开始进行识别

(4)界面

界面是否美观

10、加入购物车测试用例

(1)功能

1)未登录时是否可以添加商品到购物车

2)是否会跳转到登录页面

3)登录成功后购物车是否增加对应商品

4)购物车添加商品是否有限

5)购物车商品信息是否正确

6)全选功能是否正确

7)已经删除购物车商品是否成功

8)删除单个商品是否有提示

9)购物车总价格是否正确

10)商品名称太长是否能完整显示

11)购物车下的商品是否有商家标识

12)是否可以收藏购物车中的商品

13)购物车结算功能是否正常

14)加入购物车的商品是否具有时效性

15)过期的商品是否还可以操作

16)添加到购物车的商品对应库存是否减少

17)删除购物车内的商品对应库存是否增加

(2)兼容性

1)不同浏览器显示排版是否美观,排版无错乱

2)不同手机端界面是否美观,显示完整

(3)性能

多个商品同时添加购物车,添加购物车的时长

(4)易用性

删除商品时是否会有提示,商品过期时是否会有类似商品推荐

(5)安全

支付时用抓包工具拦截请求修改参数,再发送支付请求看是否能成功

11、添加购物车,退出重新登陆,商品不在购物车里,如何定位该bug

一般来说购物车信息保存位置是 cookies 中或者 session 中还有数据库中,session 没同步造成的。

12、http和https的区别,默认端口是什么,ssl又是指什么

http和https都是超文本协议,浏览器发送请求基本用的都是他们,不同的是https在http的基础上增加了ssl加密协议,http默认端口号是80,https默认端口号是443,http免费https收费。

ssl是指安全套接层协议,为数据通讯提供安全支持,ssl通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。

13、tcp和udp的区别

(1)tcp面向连接而udp面向非连接

(2)tcp相对udp更可靠

(3)应用场景不同,tcp传输少量数据,udp用于大数据量传输

(4)tcp传输速度没有udp快

14、get和post的区别

(1)get请求的参数有长度限制,post没有

(2)get请求参数在url上传输,post在请求正文中传输,post比get更安全

(3)get只能接受ascall码参数,而post没有限制

(4)get参数会被保留到浏览器历史中,post不会

(5)get能被缓存,post不能被缓存

15、输入一个URL点击回车后全过程发生了什么

(1)URL解析判断URL是否合法,检查缓存,有就直接打开,没有或者过期就去获取缓存

(2)DNS域名解析:URL所表示的不是最后资源所在的位置,而是为了方便记忆对IP地址的重定向,域名解析的过程实际是将域名还原为IP地址

(3)TCP进行3次握手连接

(4)浏览器会构造一个http请求报文,浏览器向服务器发送http请求,浏览器只能发送get和post的,打开网页用的是post

(5)浏览器接受响应。浏览器接收到来自服务器的响应资源后,会对资源进行分析。首先查看 Response header,根据不同状态码做不同的事(比如上面提到的重定向)。如果响应资源进行了压缩(比如 gzip),还需要进行解压。然后,对响应资源做缓存。接下来,根据响应资源里的 MIME[3] 类型去解析响应内容(比如 HTML、Image各有不同的解析方式)

(6)渲染页面,不同浏览器内核渲染过程也不完全相同,但大致流程都差不多

16、tcp/ip协议,三次握手

第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

17、接口怎么测,从安全性方面又怎么测

(1)通用信息的校验

1)url校验:正确url 错误url/

2)请求方法的校验:正确 错误

3)请求头校验:正确的请求头和错误的请求头

4)接口的鉴权校验:正确,错误,失效,不传

(2)接口参数的校验

1)参数必填项校验

2)参数的选填项校验

3)参数的长度校验

4)参数的数据类型校验

5)参数的有效范围校验 0 -1

(3)其他校验

弱网支付,敏感数据在传输过程中是否加密(前后端传输过程中是否加密,对应日志信息是否加密),sql注入,设置断点进行数据篡改,安全规则,密码复杂程度,绕过验证,绕过身份授权。

18、jmeter的原理,测试性能主要测什么

向服务器提交请求,从服务器取回请求返回的结果。

jmeter作为浏览器和web服务器的直接代理网关,浏览器请求和web服务器响应都可以被jmeter捕获,生成性能测试脚本。有了性能测试脚本,jmeter可以使用线程组来模拟真实用户对web服务器进行加压。

19、不同手机兼容性怎么测

用不同手机厂商、型号、不同手机系统、不同系统版本,可以借助真机云测平台来进行测试。

20、什么是冷启动和热启动

(1)冷启动:启动应用前,后台没有该应用的进程,一般场景:程序安装后的第一次启动;应用程序被系统完全终止后再打开;他有一个创建进程的过程和加载布局的过程。

(2)热启动:此时程序仍然驻留在内存中,只是被系统从后台带到前台,因此程序可以避免重复对象初始化,加载布局和渲染。如果程序的某些内存被系统清除,则需要重新创建这些对象以响应启动事件。

最后,下面是我整理出来的一份软件测试工程师发展方向知识架构体系图。

希望大家能在这个成长过程中收益良多。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

由于CSDN上传图片大小有限,有需要的朋友可以关注我的公众号:程序员二黑,回复1,即可获取原图。

下面是一份配套的软件测试资源包:

上面是一些配套资源,对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

关注我的微信公众号:程序员二黑,即可免费获取!

最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救?

清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

字节最喜欢问的24道jvm面试题,背废完虐面试官!(代码片段)

前言JVM一直都是面试的必考点,大家都知道,为了让大家更好的应对JVM面试题,我把经典的24道JVM面试题总结了一下并附有解析,希望能够帮助大家更好的理解JVM,在面试中吊打面试官。小编也把JVM面试题整理... 查看详情

这20道redis经典面试题你还不会,就别去面试了(代码片段)

...的整理MySQL,Redis,SSM框架,算法,计网等面试常问技术栈的面试题,本文主要是整理分享了Redis相关的面试题,MySQL、Spring、JVM之前已经更新了,需要的同学也可以去看一下,希望对正在准备秋招的... 查看详情

史上最全!2020面试阿里,字节跳动90%被问到的jvm面试题(附答案)

...是收到小伙伴的私信问我能不能帮忙整理出一份JVM相关的面试题出来,说自己在大厂去面试的时候这一块问的是特别多的,每次自己学的时候每次都学不到重点去。这不他来了,一份详细的JVM面试真题给大家整理在下方了!一、... 查看详情

挑战华为社招:字节跳动上千道精选面试题还不刷起来

高频问题1.上一家公司,你为什么会离职?公司很好,但是公司调整了业务,接下来的发展路线和自己的目标不一致,所以要换工作工作太清闲,学不到知识,我不怕累,就是想多锻炼自己,想... 查看详情

字节跳动大数据开发面试题-附答案(代码片段)

此面试题来自牛客网友分享的字节跳动应届一面,面试时长一小时。网友情况:985本硕。参考答案由本公众号提供。如有错误,欢迎指正!以下为面试过程中提问,岗位为大数据开发:自我介绍+项目介... 查看详情

这20道redis经典面试题你还不会,就别去面试了!

本系列会系统的整理MySQL,Redis,SSM框架,算法,计网等面试常问技术栈的面试题,本文主要是整理分享了Redis相关的面试题,MySQL、Spring、JVM之前已经更新了,需要的同学也可以去看一下,希望对正在准备秋招的你们有所帮助!... 查看详情

字节跳动面试必问:免费java培训课程

20道常见MySQL数据库面试题+解析事务四大特性(ACID)原子性、一致性、隔离性、持久性?事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?MySQL常见的三种存储引擎(... 查看详情

字节跳动+百度+阿里巴巴高频面试题之链表专题(代码片段)

高频面试题之链表专题公开课(二)本节目标1、逆置一个单链表。(2020年阿里巴巴二面原题)2、判断单链表是否是回文结构。(2019年字节跳动二面原题)3、删除一个有序单链表中的重复节点。(2019年字节跳动二面原题)4、... 查看详情

用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案(代码片段)

...还是非常满意的!所以这次特意抽空给我写出了这份面试题,而我把它分享给小伙伴们,面试&入职的经验!大概是在5月中的时候他告诉我投递了简历,7月的时候经过了3轮面试收获了Offer,当时也参考... 查看详情

60道计算机网络面试题(附答案,背诵版)

在大概三个月前,我在我网站就整理了计算机网络的面试题了,不过那时候才整理了20道核心的,大概过了两个月,我花了大半天去找计算机网络的面试题,因为20道肯定不够,于是我整理到了42道。不过最... 查看详情

60道计算机网络面试题(附答案,背诵版)

在大概三个月前,我在我网站就整理了计算机网络的面试题了,不过那时候才整理了20道核心的,大概过了两个月,我花了大半天去找计算机网络的面试题,因为20道肯定不够,于是我整理到了42道。不过最... 查看详情

java面试者的经历,吐血分享字节跳动的java面试经验技巧

...出几类具体的岗位及要求,同时文末分享一份资深Java面试官整理的「 大厂高频核心面试题 」字节跳动面试题Http协议cookiesession介绍一下session表结构怎么设计,储存在哪里?你们的sessioncookie在项目里运用到哪里࿱... 查看详情

字节跳动开发面试题——ios

目录字节一面内容:字节二面内容:字节三面内容:字节一面内容:1、自我介绍2、介绍一下简历中的一个项目3、面向对象的三个要素4、多态?5、Java,python,OC运行效率孰高?6、Property,其中copy如何?7、Property(nonatomatic,copy)NSM... 查看详情

python面试基础篇-50道经典面试题(附答案及多种解答)(代码片段)

...跃一波感觉有点不合时宜了。于是特意整理了这一份Python面试题的基础篇,进阶的先不说我能不能整理出来,估计整出来了不一定能看明白!(篇幅比较长,可以通过目录选择自己想看的~&# 查看详情

20道springboot面试题(代码片段)

转自:微信公众号:Java技术栈(id:javastack)面试了一些人,简历上都说自己熟悉SpringBoot,或者说正在学习SpringBoot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望。下面,我给大家总结下... 查看详情

面试阿里,字节跳动,腾讯90%会被问到的面试题——单例模式(代码片段)

1.什么是Singleton?Singleton,即单例,在Java中表示的是单例模式,所谓的单例模式,指的就是在程序中,有且仅有一个该实例对象。单:唯一,单独。例:实例对象。2.单例模式有几种创建方式?2.1饿汉式(在程序启动过程中,就... 查看详情

吃透了这一套2020阿里,美团,字节跳动java面试真题,你离bat还远吗?

前言最近,金九银十在即,很多人都在准备面试,特别给大家总结了Java程序员面试必备题,这份面试清单是我从去年开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在Java技术栈中的技术... 查看详情

字节跳动上海data部门后端开发秋招面试经历

7.31投递提前批c++客户端岗位8.16被转推荐至上海data-edu后端8.22机试四道题两个小时,ac了2.3道8.31一面36min自我介绍+项目:(稍有点不对口)电力物联网项目,lora无线传感网,多跳多叉树网络拓扑,... 查看详情