字节跳动面试题

面试注意点:

1、回答问题要体现逻辑思维能力,条理清晰,按点回答;

2、回答问题先思考后回答,整理好答案,不可支支吾吾;

3、测试用例题从入口、ui界面测试、服务器端、客户端、功能测试、兼容性测试、性能测试等方面去回答,功能测试是重点;功能,性能,界面,兼容性,易用性,安全,网络

4、Linux命令、Adb命令、数据库:SQL语句-两表查询、多表查询等;

linux命令:

tail-f 日志文件名:动态查看日志

Ps-ef | grep 进程名:查看指定日志

Netstat-an | grep 端口号:查看指定端口号

Find/-name 文件名:从根目录下查看指定文件

Touch 文件名 :创建空的文件

Vim vi :编辑器

Tar 包 :压缩,解压命令

Mv:移动或重命名

Cat 文件名:查看文件

Mkdir:创建目录名

Adb命令:

adb devices 查看移动设备号

Adb install apk 文件的路径 安装APP

Adb install -r 重新安装命令

Adb uninstall 包名 卸载app

Adb logcat 查看安卓所有日志

Adb logcat -c 清除所有缓存日志

Adb logcat - s 加标签名 查看指定标签

Adb logcat | findstr 关键字 查看指定关键字的日志

Adb shell monkey 100 对手机随即点击100次

Sql语句

Insert into<表面>(列名)values<值>

Delect from <表面>where 条件

Update<表面>set列明=更新值where更新条件

Select 列名 from 表名 where 条件

多表:select 列名 from 表1inner join(left join,right join)表二on 表一相同值的列=表二相同值的列 where 条件

select 列名 from 表1 inner join(left join,right join)表2 inner join 表三 on 表一相同值的列=表二相同值的列and 表二相同值的列=表三相同值的列 where 条件

5、行测题、脑筋急转弯等题结果不重要,重要的是阐述的过程,要有逻辑,有理有据;

6、简历内容一定要熟悉熟悉再熟悉,自我介绍、项目介绍提前准备,简历上的技能点、工具的使用要提前复习;

7、面试过程一定要真诚、诚实,切忌弄虚作假、胡编乱造(很重要!!!!);

8、面试过程要有礼貌,开始前问好,结束后感谢。

 

自我介绍

你好面试官,我叫XXX,我来自XXX,我做测试工作有3年多的时间,主要是做功能测试和几口测试,上家公司的项目,在这个项目我是独立负责用户端app测试,在工作中我能独立完成迭代测试工作,遇到问题能快速分析定位,例如:使用charles、liunx、数据库定位问题,并且能和需求、开发人员良好及时的沟通协调修改问题,熟练掌握sql增删改查语句、linux常用命令,使用jmeter、postman做接口测试,使用禅道提交bug

武汉临空港经济技术开发区五环大道666号(10)

2015-1-29 2017-7-1

2.7.6版本

项目介绍(项目具体做什么,负责什么模块,用到的工具都要讲出来,面试官不一定会问你最近

做的项目,也有可能问其它项目,所以简历上的项目都要熟悉)

项目测试流程是怎么样的

    接到需求后,首先对需求进行评审,评审通过后,开发根据需求进行功能开发,我们测试根据需求文档、原型图、ui界面编写测试用例,测试用例编写完成后测试组及项目组会对用例进行评审,当开发提测后,我们会根据测试用例进行测试,在测试的过程中发现BUG提交给对应的开发,开发修改后我们会进行反测,测试通过后,我们会编写测试报告,以邮件的方式通知需求和UI进行功能和页面的验收,验收通过后 会对版本进行发布,发布后会对线上环境进行验证,验证通过后 会发布到应用商店。

项目模块中数据库用到那些表?

订单表。。。。。。

 

常用的测试工具,以及工具的使用

  Jmeter

 首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,人参、出参,token 鉴权,返回格式等信息。

然后使用 Postman或Jmeter工具执行接口测试,一般使用Jmeter 的步是这样的:

1)建一个线程组。

2)然后就是新建一个HTTP请求默认值。(输入接口服务器IP和端口)

3)再新建很多HTTP请求,一个请求一个用例。(输入接口路径,访问方式,参数等。

4)然后创建断言和查看结果树

 postman全局变量

点击右上角小眼睛,进入页面点击Add,进入设置全局变量,输入变量名和变量值,点击保存按钮save,变量保存之后我们需要去进行变量引用,在参数里边用双花括号{{}}里边加变量名

 

Fiddler、charles怎么模拟弱网

打开charles 首先到‘代理’里面 选择节流设置 之后就会对 上行   下行   进行设置。模拟2G切换3G切换4G切换WIFI等   随后就可以按照生活中的真实场景进行设置,模拟电梯、地下停车场、地铁等。

Fiddler抓包工具的使用,如何改参数

打断点

右击接口名称勾选断点,这时会默认修改请求和响应数据,如果只对请求和响应数据单独修改,到代理-》断点设置里面单独勾选请求或响应,APP访问断点的接口,charles会自动跳 到修改的数据

Fiddler如何快速抓包

打开charles 进入帮助,ssl代理中选择安装charles根证书,选择存储到本地计算机。将证书存放在《受信任的根证书颁发机构》,证书安装成功,设置代理,需要电脑和手机在同一局域网下,在手机代理设置输入同一局域网ip和端口号,储存后,可以抓http的包,如果抓https需要在手机中安装证书。手机浏览器访问chls,pro/ssl 会下载证书,我们需要在手机中信任证书。

如何定位前后端的Bug

首先我会通过抓包来看他的后端接口是传参数据的错误,还是相应结果的问题,再就是看是不是他数据库里数据的问题,再就是看是不是前端取字段的问题

抓包重点看那些数据

请求协议  IP地址  端口号  请求路径  请求方式

bug定位分析前后端问题

http网络交互问题

HTTP的交互流程简单来讲就是客户端与服务器端的通信,包括客户端对服务器端的请求以及服务器端对客户端的响应。

首先客户端与服务器端建立一个连接,三次握手经历完成之后才能建立一个稳定可靠的连接。

 

http状态码有哪些?详细说一下3开头的状态码原因。

1xx:指示信息--表示请求已接受,继续处理

2xx:成功--表示请求已被成功接收、理解。接受

3xx:1重定向--要完成请求必须进行更进一步的操作

301 代表永久重定向

     302 代表暂时重定向

4xx:客户端错误--请求有语法错误或请求无法实现

400;参数异常

401:请求权限问题

405;请求类型错误

415:请求传参方式错误

5xx:服务器端错误-服务器未能实现合法的请求

linux命令考察

  tail-f 查看动态日志  ps - ef  | grep  查看指定进程///

Fiddler,Navicat,wireshark、postman、jmeter 测试工具的使用

访问一个URL的全过程

做接口测试做404、502

502:服务器暂时不可用,有时是为了防止发生系统过载

404  服务器找不到请求的网页。

七层协议你知道嘛

第一层:物理层  第二层:数据链路层  第三层:网络层  第四层:传输层   第五层:会话层  第六层:表示层 第七层:应用层

App的专项测试有哪些?

安装,卸载,更新,终端,前后台切换,干扰测试(中断,来电,关机,重启,短信等)弱网测试,网络切换(网路断开后重连)界面横竖屏切换,多点触控,前后台切换,安全(安装包是否可以反编译代码,安装包是否签名限权设置,例如访问通信录,相册,相机等)边界测试,比如储存空间少,内存不足,飞行模式,第三方依赖

问题定位:上海可以正常进入抖音,成都不行可能的原因?

cookie 和session区别?

1、cookie 是把用户的数据写给用户浏览器

2、Session 是把用户的数据写到用户独占的session 中,cookie不是很安全,别人可以进行cookie欺骗来获取你的cookie信息,如果是非重要信息可以存在cookie中,如果是重要信息存在session中为好,但是session访问的多的话会影响服务器的性能,考虑到减轻服务器性能的应用使用cookie

 

Postman、jmeter的使用

首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,人参、出参,token 鉴权,返回格式等信息。然后在postman中输入协议,ip地址,端口号,路径,选择请求方式,输入参数,然后点击发送请求就可以了。

接口测试的流程

首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,人参、出参,token 鉴权,返回格式等信息。

然后使用 Postman或Jmeter工具执行接口测试,一般使用Jmeter 的步是这样的:

1)建一个线程组。

2)然后就是新建一个HTTP请求默认值。(输入接口服务器IP和端口)

3)再新建很多HTTP请求,一个请求一个用例。(输入接口路径,访问方式,参数等。

4)然后创建断言和查看结果树最后调试并执行用例,最后编写接口测试报告。

购物车bug定位

app崩溃的原因

网络是否链接,网络信号是不是好,内存是不是不足,手机的版本是不是太低不兼容app版本,是不是屏幕切换太频繁导致的崩溃,是不是手机安装包数据的丢失,是不是用户过多导致的崩溃,也可能是广告或弹出屏幕导致App崩溃。

TCP和UDP的区别?

基于连接与无连接;2.对系统资源的要求(TCP较多,UDP少);3.UDP程序结构较简单;4.流模式与数据报模式 ;

保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

 

APP和web测试的区别

从功能和测试用例设计上来说是一样的,不一样的是不同的架构,兼容性不同,性能不同,app比web多了一些专项测试,从架构上他们一个是c/s架构一个是b/s架构。从兼容性上app要考虑不同的机型,不同的版本,不同的系统,设备上比如ios,安卓,还要分不同的系统版本,一些主流的手机,屏幕的大小,屏幕的分辨率,而web段看的是不同的浏览器和操作系统,比如win7,win8,win10,max电脑。浏览器还分ie,火狐,谷歌。性能上,web端会检测响应时间,cpu。app端除了会监测相应,cpu外还会监测,流量,电量等还有就是一些专项测试,安装,卸载,更新,终端,前后台切换,干扰测试(中断,来电,关机,重启,短信等)弱网测试,网络切换(网路断开后重连)界面横竖屏切换,多点触控,前后台切换,安全(安装包是否可以反编译代码,安装包是否签名限权设置,例如访问通信录,相册,相机等)边界测试,比如储存空间少,内存不足,飞行模式,第三方依赖

 

 

Post请求和get请求的区别(至少说3条)

1、Get方式在通过URL 提交数据,数据在URL中可以看到,post是看不到的,只能通过抓包才能看到传参的数据

2、GET方式提交的数据最多只能有1024字节,面 POST则没有此限制

3、安全性问题。正如在(1)中提到,使用Get的时候,参数会显示在地址栏上,面 Post不会。所以,如果这些数据是中文数据面且是非敏感数据,那么使用get;如果用户输入的数据不是中文字符面且包含敏感数据,那么还是使用post为好。

4post有多种参数传递的方式,而get只是进行url 传递,post传参类型有表单、json、xml、和上传文件

什么是三次握手、四次握手

http和https的区别(至少说3条)

1、https协议需要到ca申请证书,一般免费证书较少,因面需要一定费用。

2、http 是超文本传输协议,信息是明文传输,https则是具有安全性的ssl 加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443.

4、http的连接很简单。是无状态的:HTPS协议是由SSL+HT1P协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTP状态码

http网络交互问题测试用例

视频的测试用例

上传图片、保存图片输入框的测试用例

购物车设计测试用例

抖音点赞测试用例

纸杯的测试用例

发红包的测试用例

商品录入价格的测试用例

抖音登录页面的测试用例

抖音播放视频的测试用例

支付的测试用例

淘宝购物车的测试用例

抖音页面刷视频的测试用例

搜索框的测试用例

扫码支付的测试用例

蓝牙耳机的测试用例

发对方图片的测试用例

发送短消息的用例

视频通话的用例

朋友圈评论的测试用例

一支中性笔的测试用例

一瓶矿泉水的测试用例

发送图片和视频的测试用例

抖音app首页,忽略点赞评论分享功能,写出这个页面的用例

视频播放的测试用例

如何定位bug

有哪些印象深刻的bug

测试工作中有哪些人对你影响很大

某一块bug特别多怎么去分析优化

需求变更需要考虑哪些风险

如何和开发沟通

搜索框搜索物品的时候,物品没有呈现出来是哪里的问题?

抖音打开之后,界面ui正常,不出现视频,是什么原因?你认为bug,开发不认为bug,你和开发关系闹得很僵怎么处理客户反馈bug,但测试复现不出来怎么办

上线后用户端发现bug怎么办

如果同事负责的功能出了线上问题,这个时候你会怎么去处理这件事

如果你的领导是个不好相处的人,你在工作中会去怎么与他相处

如果你负责a项目上线,a项目和b项目同时上线的情况下,a项目的一个功能点上线会影响到b项目功能使用,这个时候已经来不及找开发解决这个问题了,这种情况你会去怎么处理这个问题

一个兔子从第四年开始每年可以生一只兔子,20年后一共有多少只兔子?

给你很多不规则得绳子,不能对半或剪开,1根完整得绳子烧完需要1个小时,怎么烧出45分钟

25匹马 ,5个赛道, 比赛多少次能找出最快的1.2.3名

用5升瓶子和6升瓶子去装3升水

55个鸭子放在十个笼子里每个笼子数量不一样,能否成立,如果成立请说明思路原理?

.性能测试工具使用

性能测试的指标以及结果分析需要查看哪些数据,cpu占用率,吞吐量等等数据代表什么意思

抓包工具方面的问题

接口测试相关的问题

怎么配置手机使手机和fiddler能够正常抓包

怎么用fiddler测弱网?请描述

怎么用fiddler测接口?post、get在测接口时怎么选择?它们区别在哪?

接口测试主要看哪几个点?

接口测试用例怎么写?