700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 字节跳动和腾讯北京测开面经

字节跳动和腾讯北京测开面经

时间:2018-09-21 16:31:18

相关推荐

字节跳动和腾讯北京测开面经

腾讯

1.自我介绍+项目介绍

根据个人,视情况而定

2.项目用了什么测试方法

等价类划分法,边界值测试法

3.数据库用的什么,怎么和后台实现链接的

Spring Data JPA

4.用过Linux吗

用过,常见的一些命令:

ls:查看文件

kill -9:终止进程

su -username:切换用户

pwd:当前目录

cp -r :复制文件包括其子文件到自定目录

创建目录:mkdir

删除目录:rmdir

rm -rf file:删除文件包括其子文件

mv:移动文件

tar -czf:压缩文件

tar -xvzf:解压文件

tail -f:查看日志文件

vi命令

:w :保存当前文件

:x:保存当前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:wq:保存并退出

5.你觉得测试是什么,需要什么技能,你的优势

测试就是相当于质检员,检查开发人员做出的产品是否有bug,常见的计算机基础知识。

6.项目模块运用的SQL语句

7.反问

本公司有哪些可以学习培训的机会。

字节

1.自我介绍(测试方面)

2.项目介绍,用了什么测试方法

根据个人,视情况而定。

3.黑盒测试都有什么

等价类划分法、边界值测试法、错误猜测法、因果图法、场景法

4.测试用例怎么写

1)用例编号。有严格的标准怎么写,整个团队都是统一的格式,用来区分不同的测试用例。

2)测试项。用来标明该测试用例的测试点和测试目的。

3)依赖用例。一般都是编号靠后的测试用例,会依赖于前面做过的测试进行。例如,登陆的测试用例,依赖于注册时的测试用例。不过最好不用,必要的时候再写。

4)测试步骤。就是我们使用软件的操作步骤。正规的公司开发流程,一般在设计用例的时候还没有软件,就按照原型的操作和说明进行用例的设计和编写

5)测试数据。这里专门把测试数据和步骤分开是想让测试更加准确,避免出现歧义。防止出现把步骤中的序号当作数据输入进去了。

6)预期结果。操作完了之后应该出现的结果。是判断软件有无缺陷最重要的内容!必须正确。

后面几项都不用写了,应为那是测试完了之后要写的内容。(测试结果、测试人、备注)

最后:测试用例编写的最重要的一个原则就是:要保证除了你自己之外的每一个人都能看得懂!要不然白写!

5.写一个淘宝登录测试用例

界面

界面布局是否合理, 是否显示完整界面上方显示信息左上方显示"淘宝网"字样右上方显示"登录页面改进"字样图片展示是否清晰大小设计是否合理放置位置是否合理界面文字是否有错别字文字的大小,粗细, 样式, 放置位置是否合理是否有文字覆盖或者重叠现象登录框用户名和密码 / 电话号码和验证码 输入框是否对齐输入框中是否有该输入框的对应信息输入框前的icon大小和图形显示密码登录和短信登录字样是否对齐登录框右上角展示二维码信息,并显示"扫码登录更安全字样"在信息输入框(用户名,密码/电话号码, 验证码)下展示"登录"按钮登录按钮下展示不同的登录方式微博登录支付宝登录登录框右下方显示"忘记密码, 忘记用户名, 免费注册"字样界面下方展示开发者公司信息以及公司旗下其他产品展示该网站合法性信息

功能

使用密码登录是否可以登录成功不输入用户名和密码只输入用户名只输入密码登录失败是否会有相应的提示使用短信登录是否可以登录成功不输入电话号和验证码只输入电话号电话号码无效登录失败是否会有相应的提示输入框中是否可以输入汉字, 英文, 数字, 其他符号输入框中数据的长度是否有长度限制如果输入的数据长度超过输入框长度,是否可以继续输入点击其他登录方式条跳转到对应的授权界面微博登录支付宝登录点击下方的链接进行相应的跳转点击"忘记密码", 跳转到"找回密码"的页面点击"忘记用户名", 跳转到"忘记用户名"界面点击"免费注册", 跳转到注册页面点击右上角二维码图样, 是否可以实时显示二维码登录成功后, 跳转到"我的首页"

网络测试和性能测试

不同网络运营商下是否可以正常登录中国移动中国联通中国电信断网情况下不能登录弱信号情况下是否可以登录成功使用不同登录方式时, 页面跳转的响应时间使用登录页面下方链接时, 页面跳转的响应时间登录成功到跳转至"我的首页"的响应时间手机登录成功, 电脑上是否可以同步登录, 电脑上登录了,手机上是否可以同步登录

兼容性

是否可以在不同的电脑上进行登录Windows电脑Mac电脑是否可以在手机上登录安卓手机苹果手机是否可以在不同的浏览器上进行登录ChromeFirefoxEdge

安全性

登录失败是否会暴露用户密码一个账号是否支持多台机器登录账号在别处登录是否会有相应的提示登录密码是否是以明文的方式展现的

易用性

是否有"忘记密码"项是否有"忘记用户名"项是否支持多种方式登录是否可以支持"记住密码"功能

6.测试用例包括什么(名称 输入 输出)

编号:每个测试用例的唯一编号,有助于其和测试结果、错误报告等其他文档的链接。

测试模块:讲述此测试用例的大模块;

标题:用简单的一句话来描述此测试用例;

测试目的:描述设计此测试用例的目的是什么;

测试级别:按照测试用例的重要性来给不同的测试用例分级别;

先决条件:执行此测试用例之前需要做的准备;

输入:测试人员执行测试所需的动作;

期望输出:在检查点上,待测设备应有的正常反应、动作或显示。

测试数据:测试的参数数据

测试步骤:也就是测试的一个过程我

预期结果:想象的一个可能达到的结果

实际结果:实际测试过程出现的最终结果

语言方面

前台:

1.vue监听和计算

2.v-for循环输出(第一个笔试)

1.苹果

2.橘子

3.香蕉

<div id="test"><ul><li v-for='(item,index) in arr'>{{item }}---{{index }}</li></ul></div><script>const vm = new Vue({el: "#test",data: {arr: ['apple', 'orange', 'banana'],}})</script>

后台+数据库

1.java 三大特性

继承、封装、多态

2.你怎么了解封装的

封装:把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。

3.你怎么了解对象的

面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,管我们什么事,我们会用就可以了。面向对象的底层其实还是面向过程,把面向过程抽象成类,然后封装,方便我们使用的就是面向对象了。

4.Java数据结构

链表、数组、队列、栈、哈希表、树、堆、图

5.ArrayList和LinkList区别

(1)Arraylist使用动态数组实现的,linkedlist使用链表实现的

(2)查询、修改Arraylist比较快,因为linkedlist要移动指针

对于随机访问,ArrayList通过索引快速定位元素位置;而LinkedList需要对列表中元素挨个查找。所以ArrayList快于LinkedList

(3)添加、删除linkedList要快,因为Arraylist要移动数据

对于删除插入操作,ArrayList需要对数组重新排序,而且在数组装满的时候要将所有的数据重新装入一个新的数组;LinkedList只需添加一项Entry对象。所以LinkedList快于ArrayList

6.Array 和 ArrayList区别

ArrayList想象成一种“会自动扩增容量的Array”

Array([]):最高效;但是其容量固定且无法动态改变;

ArrayList:容量可动态增长;但牺牲效率;

建议:

基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!

不过当你试着解决更一般化的问题时,Array的功能就可能过于受限。

7.多线程

8.输出字符串,其中<表示回退,用户要知道最后输出的结果

9.数据库索引

索引是定义在table基础之上,有助于无需检查所有记录而快速定位所需记录的一种辅助存储结构,由一系列存储在磁盘上的索引项组成,每一种索引项由索引字段和行指针构成。

索引的好处?

通过创建索引,可以在查询的过程中,提高系统的性能;通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性;在使用分组和排序子句进行数据检索时,可以减少查询中分组和排序的时间;

索引的坏处?

创建索引和维护索引要耗费时间,而且时间随着数据量的增加而增大;索引需要占用物理空间,如果要建立聚簇索引,所需要的空间会更大;在对表中的数据进行增加删除和修改时需要耗费较多的时间,因为索引也要动态地维护;

什么是稠密索引和稀疏索引?

稠密索引:对于主文件中每一个记录都对应一个索引项; 候选键属性的稠密索引:先查索引,然后再依据索引读主文件;非候选键属性的稠密索引: 主文件按索引字段排序,索引文件中的索引字段值无重复;主文件索引字段未排序,但索引文件中的索引字段值是有重复的;主文件索引字段未排序且索引文件中的索引字段值无重复,这时可以引入指针桶来处理; 稀疏索引:对于主文件中部分记录有索引项和它对应(要求主文件必须是按对应索引字段属性排序存储);

什么是主索引和辅助索引?

主索引:对每个存储块有一个索引项,每个存储块的第一个记录叫锚,通常建立在有序文件的基于主码的排序字段上,属于稀疏索引。

辅助索引:是定义在主文件的任一或多个非排序字段上的辅助存储结构,属于稠密索引。

补充:一个主文件可以有一个主索引,但可以有多个辅助索引。

什么是聚簇索引和非聚簇索引?

聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据,主文件按照对应字段排序存储,索引文件无重复排序存储。非聚簇索引:将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行,主文件并没有按照对应字段排序存储,索引文件有重复排序存储。

补充:

如果主文件的某一排序字段不是主码,则该字段上每个记录取值便不唯一,此时该字段被称为聚簇字段,聚簇索引通常是定义在聚簇字段上。聚簇索引通常是对聚簇字段上每一个不同值有一个索引项。一个主文件只能有一个聚簇索引文件,但可以有多个非聚簇索引文件。主索引通常是聚簇索引,辅助索引通常是非聚簇索引。主索引/聚簇索引是能够决定记录存储位置的索引,而非聚簇索引则只能用于查询,不能改变物理位置。

为什么主键通常建议使用自增id?

答:聚簇索引的数据的物理存放顺序与索引顺序是一致的,即:只要索引是相邻的,那么对应的数据一定也是相邻地存放在磁盘上的。如果主键不是自增id,那么可以想象,它会干些什么,不断地调整数据的物理地址、分页。

mysql中聚簇索引的设定?

答:聚簇索引默认是主键,如果表中没有定义主键,InnoDB 会选择一个唯一的非空索引代替。如果没有这样的索引,InnoDB 会隐式定义一个主键来作为聚簇索引。

什么是倒排索引和正排索引?

倒排索引:一个词汇包含在哪些文档中,倒排索引主要由两个部分组成:“单词词典”和“倒排文件”,应用于搜索引擎。正排索引:一个文档包含了哪些词汇。

其他结构的索引?

多级索引:对索引再建立索引,如B书/B+树等;多属性索引:索引字段由多个属性组合一起形成的索引;散列索引:使用散列技术组织的索引;网络索引:使用多索引字段进行交叉联合定位与检索;

10.数据库各种查询

11.多表查询

多表查询有3种方式,分别是:

1、传统方式,包括左外连接查询,右外连接查询 ,完全外链接查询;

2、子查询方式,包括单行查询,多行查询;

3、聚合查询方式,包括求和,平均查询,记录总数。

12.数据过多怎么限制

第一先限制Innodb的并发处理,如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果

非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务。

第二对于连接数已经超过600或是更多的情况,可以考虑适当的限制一下连接数,让前端报一下错,也别让DB挂了,

DB在了,总是可以用来加载一下数据,当数据加载到了nosql里了,慢慢的DB压力也会降下来的。

13.了解的其他数据库

Spring Data JPA、Mybatis、Redis

14.GitHub最大优点

Github是一个代码托管平台和开发者社区,支持Markdown语言,并且支持Emoji表情

可以在线编辑文档,开源项目比较多,评论和分享比较方便

15.Springboot框架什么流程

基于Maven的SSM的项目开发流程:

第一步,配置jdk,下载并安装tomcat第二步,创建工程第三步,按Maven项目要求创建目录第四步,在pom.xml定义组件依赖以及编译方式第五步,配置web.xml,定义Dispatchservlet及各种过滤器第六步,创建applicationContext.xml,配置各种组件参数第七步,开发业务逻辑时,进行xml配置与注入第八步,测试与构建上线第九步,手动部署,将程序打成war包,并且上传到服务器第十步,运维与监控

Spring Boot应用开发流程:

第一步,配置jdk,无需安装和部署tomcat第二步,spring提供了Initializr这个工具,可以一键生成springboot应用第三步,配置参数,这是一个可选过程,对spring boot进行各项参数的配置第四步,开发业务逻辑第五步,自动构建与自动测试第六步,自动部署第七步,运维与监控

SpringBoot启动流程:

第一步,加载配置文件:application.properties第二步,自动装配:ArtifactIdspring-boot-starter-web,增加Web支持spring-boot-starter-data-jar,对JPA支持,集成Hibernatespring-boot-starter-logging,增加logback日志的支持spring-boot-starter-test,集成Junit单元测试框架第三步,加载组件@Repository @Service @Controller @Component @Entity第四步,应用初始化

SpringBoot入口类

入口类名通常以*Application结尾

入口类上增加@SpringBootApplication注解

利用SpringApplication.run()方法启动应用

16.Springboot优点

SpringBoot是编码变简单、使配置变简单、使部署变简单、使监控变简单

计算机网络

1.http和https的区别

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

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

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

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

无状态:客户端与服务器端使用无状态的HTTP协议通信时,意味着每个请求都是独立的,如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。例如在购物商城买了东西时,第一个请求把商品加入了购物车,第二次请求准备结账时服务端却发现不知道你刚刚购买了什么。

Cookie机制就是为了解决HTTP协议无状态带来的弊端。还是以购物为例,第一次请求把商品加入购物车,同时服务端返回一个cookie给客户端,第二次客户端准备结账的时候,顺便把cookie传回给服务器,服务器发现cookie对应的是A用户,就从数据库中找到A购买的东西给他进行结算。

2.osi七层结构

应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

3.应用层协议都有啥

应用层协议如下:

(1)域名系统(Domain Name System,DNS):用于实现网络设备名字到IP地址映射的网络服务。

(2)文件传输协议(File Transfer Protocol,FTP):用于实现交互式文件传输功能。

(3)简单邮件传送协议(Simple Mail Transfer Protocol, SMTP):用于实现电子邮箱传送功能。

(4)超文本传输协议(HyperText Transfer Protocol,HTTP):用于实现WWW服务。

(5)简单网络管理协议(simple Network Management Protocol,SNMP):用于管理与监视网络设备。

(6)远程登录协议(Telnet):用于实现远程登录功能。

4.FTP是啥

文件传输协议

最后

你觉得你在做项目最有成就感的事情

在做项目时,让完成每一个需求,并且需要把代码注释并规范化

有没有学习什么新的知识?

有,通过看书和视频,并且写博客和研究Github代码

反问

岗位所在的团队,工作氛围如何?

部门的业务和技术栈是什么?

假如实习,能接触到什么业务?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。