首页 > 【各大公司测开面经汇总】——攒人品…
头像
Victoria必胜
编辑于 2021-04-27 15:24
+ 关注

【各大公司测开面经汇总】——攒人品…

面试时间线... ...

  • 字节跳动测开
  1. 一面(4.8)
  2. 二面(4.14)
  3. 三面(4.22)
  4. Hr面(4.23)
----------------------------------------------
  • 网易有道测开
  1. 一面(4.9)
  2. 二面(4.15)
----------------------------------------------
  • 爱奇艺测开
  1. 一面(4.12)
----------------------------------------------
  • 百度ACG QA测开
  1. 一面(4.12)
  2. 二面(4.13)
  3. 三面(4.19)
  • 百度TPQA测开
  1. 一面(4.15)
  2. 二面(4.23)
  • 百度CP QED测开
  1. 一面(4.16)
  2. 二面(4.27)
  • 百度TP 百度地图测开
  1. 一面(4.19)
  2. 二面(4.20)
----------------------------------------------
  • 北森测开
  1. 一面(4.13)
  2. 二面(4.14)
  3. Hr面(4.23)
----------------------------------------------
  • 松果出行测开
  1. 一面(4.16)
  2. 二面(4.26)
----------------------------------------------
  • 跟谁学测开
  1. 一面(4.19)
  2. 二面(4.22)
  3. Hr沟通(4.23)

字节跳动测开一面(4.8)

一、计算机网络

  1. OSI七层协议及每层作用
  2. TCP、UDP区别
  3. TCP三次握手
  4. HTTP、HTTPS区别
  5. HTTPS交换密钥

二、数据结构

  1. 数组和链表的区别
  2. 哈希冲突

三、数据库

  1. 事务
  2. 事务的四个特性
  3. 脏读、幻读

四、操作系统

  1. 线程、进程的区别
  2. 进程调度算法

五、python

  1. python好处:①自动内存管理;②属于解释型语言,可以移植;③丰富的第三方库
  2. 数组和列表的区别
  3. 元组和列表的区别
  4. 不可变与可变类型
  5. is和==
  6. 生成器
  7. 装饰器(不改变函数代码及其调用方式,增加额外的功能。可抽离出大量与函数功能本身无关的雷同代码进行重用(插入日志、权限校验)。)
  8. 闭包
  • 本质上是一个函数,该函数引用了自有变量,使得该自有变量可以脱离原来的作用域独立存在。

六、软件测试

  1. 软件生命周期
  2. 软件质量控制手段

七、算法

  1. 快排思想
  2. 如何快速找到链表中间元素

八、代码

  1. 找出只出现一次的数字,其余元素均出现k次

字节跳动测开二面(4.14)

一、操作系统

1. 线程同步方式
  • 答:①互斥锁实现同步;②条件变量实现精准同步;③信号量支持多个线程对资源的同时访问;④事件。
2. 线程池:线程池中没有空闲线程,怎么办?
  • 线程池:预先创建线程并将其放入线程池中,线程处理完任务不销毁,转而被安排处理下个任务。节省线程创建与销毁的时间开销。
  • 步骤:①创建queue.Queue()实例,填充数据或任务;②生成守护线程池;③线程取任务并处理;④完成任务queue.task_done();⑤主线程设置queue.join()阻塞。
3. 死锁产生的四个必要条件;如何避免死锁

二、计算机网络

1. HTTP请求包含什么
2. HTTP请求头哪些键值对,并解释它们的含义
3. post请求的幂等性指什么

三、数据库

1. 索引是什么;有什么数据结构;比较常用的是什么数据结构
2. 慢查询可能的原因
  • 开启mysql慢查询:在my.ini配置文件中添加①long_query_time = 2;②slow-query-log = On
  • 原因:①索引没有作用(在使用like关键字的模糊查询中,匹配字符串的第一个字符为%;多列索引,查询条件未使用第一字段);②数据库结构设计不合理(将字段很多的表分解成多个表;增加中间表);③查询太大

四、测试

1. 测试用例设计方法
2. 场景法说一下
  • 三类场景:基本流、备选流、异常流
  • 基本流:插卡→输入正确密码→输入金额→取款→拔卡(输入正确)
  • 备选流:插卡→输入错误密码→输入正确密码→输入金额→取款→拔卡(输入错误→纠正→流程正常结束或异常结束)
  • 异常流:插卡→输入5次错误密码→吞卡(输入错误,异常终止)
  • 每一个场景都需要确定测试用例,一般采用矩阵或决策表确定和管理测试用例。
3. 软件生命周期
4. 提测
5. 一对一的微信视频通话设计测试用例
6. 广东的用户集中反映视频通话有问题,分析原因
7. 你认为是Bug,开发不认为是Bug

五、代码

1. 两个字符串的最长公共子序列(不要求连续)


--------------------------------------------------------------------------------------------------------------------------

网易有道测开一面(4.9)

一、数据库

  1. 关系型和非关系型数据库的区别
  2. mysql、redis
  3. sql语句
  • 学生表(姓名,成绩):查第15名成绩
  • 学生班级表(姓名,班级,成绩):查每个班级及格和不及格的人数

二、计算机网络

  1. OSI七层模型
  2. 输入网址发生什么

三、python

  1. 深拷贝和浅拷贝
  2. python基本数据类型
  3. python框架(Django、Flask)
  4. GIL锁
  5. 多线程创建的方式

四、Linux

  1. 常用命令

五、测试

  1. 对测试的理解
  2. 用selenium的时候遇到了什么问题;什么会导致页面元素找不到
  3. 如何管理测试用例
  4. 页面元素定位的方式(link text、partial link text
  5. 断言的方式(assertEqual()、assertTrue()、assertIn()、assertIsInstance() )
  6. 微信更换头像测试用例分析
  • 面试官补充:图片的大小、格式(动图、静图)、分辨率

六、代码

网易有道测开二面(4.15)

一、项目

  1. 测试项目演示

二、代码

  1. 一个log日志文件,每一行都记录着一条exception,但exception的类型是不同的。要求每小时统计一次每个类型exception出现的次数。

三、Linux

  1. Linux常用命令

四、考察

  1. 常用的公众号


--------------------------------------------------------------------------------------------------------------------------

爱奇艺测开一面(4.12)

一、数据结构

  1. 数组和链表的区别
  2. 堆和栈的区别

二、计算机网络

  1. 输入网址发生什么
  2. TCP和UDP的区别
  3. HTTP和HTTPS的区别

三、操作系统

  1. 进程线程的区别
  2. 创建多线程的方式
  3. 死锁的四个必要条件
  4. 内存泄漏
  • 程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收内存,并分配给其他进程使用。

四、数据库

  1. 乐观锁和悲观锁

五、python

1. 内存管理机制
  • 内存管理机制=垃圾回收机制+内存池机制
  • 垃圾回收机制=引用计数为主+标记清除为辅
  • 引用计数法 :每个对象都维护着一个引用计数变量,这个计数变量记录着该对象被引用的次数。垃圾收集器回收引用计数变量为0的对象。
  • 标记清除法:
2. 深拷贝和浅拷贝
3. 生成器和迭代器的区别
4. 装饰器
5. lambda匿名函数
6. __init__
7. 异常分类和异常处理
8. self

六、Java

  1. 抽象类和接口的区别

七、前端

  1. 前端网页的构成

八、测试

  1. 发朋友圈设计测试用例

九、代码

  1. 最大子序和

  2. 两个大数相加,都是字符串

十、逻辑思维

  1. 八个乒乓球,一个最重;如何两次找到这个最重的。
  • 3、3上称,剩1、1


--------------------------------------------------------------------------------------------------------------------------

百度ACG QA测开一面(4.12)

一、python

1. package的使用
  • 有两个目录:dir A/C.py,dir B/D.py。问D.py如何引用C.py?
  • ①首先在dir A文件夹中创建__init__.py文件,里面什么都不需要编辑。(如何将一个普通的文件夹变成一个python包,包的标识__init__)。②其次将dir A的路径加入到python解释器可以搜索到的路径列表。import sys     sys.path.append()。
2. if 0.1+0.2 == 0.3: 返回True还是False
  • python的浮点数存在误差。
  • from decimal import Decimal
float(Decimal(str(0.1)) + Decimal(str(0.2)))
3. 六个标准的数据类型
  • 数字、字符串、列表、元组、集合、字典
4. 可变类型与不可变类型
5. 元组和列表的区别
  • 元组不可变类型,列表可变类型。
  • 由于元组不可变,所以创建tuple时比list快,存储空间占的list小;多线程并发时,tuple不需要加锁,不用担心安全问题,编写简单。
6. 异常处理
7. 打开文件
8. range()

二、Linux

1. sed命令
  • stream editor流编辑器;例:sed [options] 'command' file      sed 's/book/books/' file。
  • 配合正则表达式使用
2. top命令
  • 实时显示系统中各进程的资源占用情况。%CPU %MEM。
3. df命令(df -h)
  • 查看磁盘使用情况。

三、数据库

  1. 数据库引擎
  2. 事务
  3. 索引、索引的优点及其缺点

四、代码

  1. 列表倒序
  2. 一个列表中存放着字符串,统计重复字符串出现的次数;不区分大小写;按字母顺序输出

百度ACG QA测开二面(4.13)

一、测试

1. 版本稳定上线的标准

二、计算机网络

1. 子网掩码
2. IP地址划分
3. TCP三次握手原因
  • 消耗磁盘资源;消耗端口号网络资源

三、逻辑思维

1. 两数得到最大的数,不使用判断语句
  • 两数相减;三数相加除以2;绝对值

四、代码

1. 链表是否有公共节点,找出公共节点;时间复杂度;更简单的做法
--------------------------------------------------------------------------------------

百度TPQA测开一面(4.15)

一、测试

1. selenium优缺点
2. unittest优缺点

二、计算机网络

1. 请求方法有哪些?为什么要有不同的请求方法?head方法了解吗?

二、代码

  1. 矩阵置零

--------------------------------------------------------------------------------------

百度CP QED测开一面(4.15)

一、python

1. 内存泄漏?什么叫做没有办法释放内存?
  • 内存溢出:out of memory。
  • 内存泄漏:程序在申请内存后,无法释放已申请的内存空间(指分配出去的内存无法被gc回收)。
  • 堆:大家共有的空间,分为全局堆和局部堆;栈:线程独有的,保存其运行状态和局部自动变量。
2. 内存管理
3. 面向对象的三个特性是什么?解释

二、计算机网络

1.TCP、UDP区别,上层协议是什么
  • TCP上层协议:HTTP、SSH、HTTPS、FTP(21、20)... ...
  • UDP上层协议:TFTP、DNS... ...

三、数据库

1. 创建索引
  • CREATE INDEX index_name on table_name(column_name)

四、Linux

1. 日志文件,最大的kps
2. 如何查看进程曲线的变化

五、测试

1. 自动贩卖机设计测试用例

六、操作系统

1. 死锁

七、代码

1. 统计列表中出现次数最多的元素,并返回其下标

--------------------------------------------------------------------------------------------------------------------------

北森测开一面(4.13)

一、测试

1. unittest单元测试类中五个特殊方法的执行顺序
  • setUpClass():所有测试用例资源初始化
  • setUp():测试用例资源初始化;测试前环境的搭建
  • test_():测试代码
  • tearDown():测试用例资源释放;测试后环境的还原
  • tearDownClass():所有测试用例资源释放
2. 直接执行TestCase中的测试用例,其执行顺序
  • 按照测试用例名字的ASCII码顺序执行,无法控制执行顺序;测试用例加到TestSuite()中可控制执行顺序;TestLoader()可加载大量的测试用例
  • 总结:TestLoader()加载TestCase到TestSuite()中,TextTestRunner()运行TestSuite(),结果为TextTestResult()
3. 如何在setUpClass()方法中控制测试用例的执行顺序
  • 按照测试用例的编写顺序,对其进行重命名操作。(在元类的__new__方法中,可以获取类的全部成员函数)
4. 定位页面元素的方式
5. 等待的方式
  • 强制等待
  • 隐性等待implicitly_wait():设置最长等待时间,超过最长等待时间则继续执行
  • 显性等待WebDriverWait:设置最长等待时间,超过最长等待时间抛出异常
6. WebDriver的原理
  • WebDriver API(乘客)、浏览器驱动(出租车司机)、浏览器(车)
  • ①selenium脚本创建http请求,将该http请求发送给浏览器驱动。②浏览器驱动(包含HTTP Server)接收到请求,并根据请求操控浏览器,浏览器执行,将执行结果返回给HTTP Server。③HTTP Server将结果返回给selenium脚本。
7. 如何定位下拉选择框元素
  • 非select(假下拉框)
  • select:利用Select类。创建Select类的实例,利用select_by_index()、select_by_value()、select_by_visible_text()方法进行选择。

二、python

1. 垃圾回收机制(多说点)

三、计算机网络

1. TCP、UDP区别
2. 什么是http协议;http和https
3. http1.0、http1.1区别(多说点
  • http1.0:短链接
  • http1.0:①长链接,减少了建立和关闭连接的时间消耗。②支持只传header,不带body,节约带宽。③header里面引入了更多的缓存控制策略。④支持host域。(虚拟主机技术的发展,多个虚拟主机共享一个IP地址。)⑤新增错误状态响应码。
4. 状态码知道哪些,304代表什么
  • 浏览器有缓存时的一种响应
5. 输入网址发生什么
6. 请求头包含什么
  • Accept-Encoding、Accept-Language、Connection、Cookie、If-Modified-Since(只有当请求的内容在指定的日期之后修改后才返回它,否则返回304。)、Content-Type
7. HTTP post body常见的四种格式
  • application/x-www-form-urlencoded:原生表单,对所有字符编码。
  • multipart/form-data:不对字符编码,包含文件上传控件的表单。
  • application/json:消息主体为序列化的json字符串。
  • text/plain:空格转换为+,不对特殊字符编码。

四、数据库

1. 如何去重

北森测开二面(4.14)

一、python

1. 垃圾回收机制

二、代码

1. 一个函数,用于统计指定元素在固定list里的出现次数,不是全list搜索,为元素指定了搜索范围。
该函数有两个参数。
第一个参数:参数类型为list,其中存放整数,是一个查询list。
第二个参数:参数类型为二维数组,任意行,3列。每行存储被查询元素及在list里的搜索范围,3列依次存储搜索范围的起始下标,结束下标和被查询元素。
例:第二个参数的二维数组某行为(0, 10, 100),代表要查询list列表里起始下标为0,结束下标为10的元素间,数字100出现的次数。


--------------------------------------------------------------------------------------------------------------------------

松果出行测开一面(4.16)

一、测试

1. selenium定位元素的方式;通过id定位元素和通过xpath定位元素有什么区别;两种定位方式的优先级
  • 通过id进行定位速度快,是最高效也是首选的方法。
2. 等待方式
3. 朋友圈评论设计测试用例
4. 测试用例设计方法

二、计算机网络

1. 输入url发生什么

三、Linux

1. Linux命令

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐