面试时间线... ...
- 字节跳动测开
- 一面(4.8)
- 二面(4.14)
- 三面(4.22)
- Hr面(4.23)
----------------------------------------------
- 网易有道测开
- 一面(4.9)
- 二面(4.15)
----------------------------------------------
- 爱奇艺测开
- 一面(4.12)
----------------------------------------------
- 百度ACG QA测开
- 一面(4.12)
- 二面(4.13)
- 三面(4.19)
- 百度TPQA测开
- 一面(4.15)
- 二面(4.23)
- 百度CP QED测开
- 一面(4.16)
- 二面(4.27)
- 百度TP 百度地图测开
- 一面(4.19)
- 二面(4.20)
----------------------------------------------
- 北森测开
- 一面(4.13)
- 二面(4.14)
- Hr面(4.23)
----------------------------------------------
- 松果出行测开
- 一面(4.16)
- 二面(4.26)
----------------------------------------------
- 跟谁学测开
- 一面(4.19)
- 二面(4.22)
- Hr沟通(4.23)
字节跳动测开一面(4.8)
一、计算机网络
- OSI七层协议及每层作用
- TCP、UDP区别
- TCP三次握手
- HTTP、HTTPS区别
- HTTPS交换密钥
二、数据结构
- 数组和链表的区别
- 哈希冲突
三、数据库
- 事务
- 事务的四个特性
- 脏读、幻读
四、操作系统
- 线程、进程的区别
- 进程调度算法
五、python
- python好处:①自动内存管理;②属于解释型语言,可以移植;③丰富的第三方库
- 数组和列表的区别
- 元组和列表的区别
- 不可变与可变类型
- is和==
- 生成器
- 装饰器(不改变函数代码及其调用方式,增加额外的功能。可抽离出大量与函数功能本身无关的雷同代码进行重用(插入日志、权限校验)。)
- 闭包
- 本质上是一个函数,该函数引用了自有变量,使得该自有变量可以脱离原来的作用域独立存在。
六、软件测试
- 软件生命周期
- 软件质量控制手段
七、算法
- 快排思想
- 如何快速找到链表中间元素
八、代码
- 找出只出现一次的数字,其余元素均出现k次
字节跳动测开二面(4.14)
一、操作系统
1. 线程同步方式
- 答:①互斥锁实现同步;②条件变量实现精准同步;③信号量支持多个线程对资源的同时访问;④事件。
- 线程池:预先创建线程并将其放入线程池中,线程处理完任务不销毁,转而被安排处理下个任务。节省线程创建与销毁的时间开销。
- 步骤:①创建queue.Queue()实例,填充数据或任务;②生成守护线程池;③线程取任务并处理;④完成任务queue.task_done();⑤主线程设置queue.join()阻塞。
二、计算机网络
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)
一、数据库
- 关系型和非关系型数据库的区别
- mysql、redis
- sql语句
- 学生表(姓名,成绩):查第15名成绩
- 学生班级表(姓名,班级,成绩):查每个班级及格和不及格的人数
二、计算机网络
- OSI七层模型
- 输入网址发生什么
三、python
- 深拷贝和浅拷贝
- python基本数据类型
- python框架(Django、Flask)
- GIL锁
- 多线程创建的方式
四、Linux
- 常用命令
五、测试
- 对测试的理解
- 用selenium的时候遇到了什么问题;什么会导致页面元素找不到
- 如何管理测试用例
- 页面元素定位的方式(link text、partial link text)
- 断言的方式(assertEqual()、assertTrue()、assertIn()、assertIsInstance() )
- 微信更换头像测试用例分析
- 面试官补充:图片的大小、格式(动图、静图)、分辨率
六、代码
网易有道测开二面(4.15)
一、项目
- 测试项目演示
二、代码
- 一个log日志文件,每一行都记录着一条exception,但exception的类型是不同的。要求每小时统计一次每个类型exception出现的次数。
三、Linux
- Linux常用命令
四、考察
- 常用的公众号
--------------------------------------------------------------------------------------------------------------------------
爱奇艺测开一面(4.12)
一、数据结构
- 数组和链表的区别
- 堆和栈的区别
二、计算机网络
- 输入网址发生什么
- TCP和UDP的区别
- HTTP和HTTPS的区别
三、操作系统
- 进程线程的区别
- 创建多线程的方式
- 死锁的四个必要条件
- 内存泄漏
- 程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收内存,并分配给其他进程使用。
四、数据库
- 乐观锁和悲观锁
五、python
1. 内存管理机制
3. 生成器和迭代器的区别
4. 装饰器
5. lambda匿名函数
6. __init__
7. 异常分类和异常处理
8. self
- 内存管理机制=垃圾回收机制+内存池机制
- 垃圾回收机制=引用计数为主+标记清除为辅
- 引用计数法 :每个对象都维护着一个引用计数变量,这个计数变量记录着该对象被引用的次数。垃圾收集器回收引用计数变量为0的对象。
- 标记清除法:
3. 生成器和迭代器的区别
4. 装饰器
5. lambda匿名函数
6. __init__
7. 异常分类和异常处理
8. self
六、Java
- 抽象类和接口的区别
七、前端
--------------------------------------------------------------------------------------------------------------------------
百度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
3. 六个标准的数据类型
- 数字、字符串、列表、元组、集合、字典
5. 元组和列表的区别
- 元组不可变类型,列表可变类型。
- 由于元组不可变,所以创建tuple时比list快,存储空间占的list小;多线程并发时,tuple不需要加锁,不用担心安全问题,编写简单。
7. 打开文件
8. range()
1. 链表是否有公共节点,找出公共节点;时间复杂度;更简单的做法
二、Linux
1. sed命令
- stream editor流编辑器;例:sed [options] 'command' file sed 's/book/books/' file。
- 配合正则表达式使用
- 实时显示系统中各进程的资源占用情况。%CPU %MEM。
- 查看磁盘使用情况。
三、数据库
- 数据库引擎
- 事务
- 索引、索引的优点及其缺点
四、代码
- 列表倒序
- 一个列表中存放着字符串,统计重复字符串出现的次数;不区分大小写;按字母顺序输出
百度ACG QA测开二面(4.13)
一、测试
1. 版本稳定上线的标准
二、计算机网络
1. 子网掩码
2. IP地址划分
3. TCP三次握手原因
- 消耗磁盘资源;消耗端口号网络资源
三、逻辑思维
1. 两数得到最大的数,不使用判断语句
- 两数相减;三数相加除以2;绝对值
四、代码
--------------------------------------------------------------------------------------
百度TPQA测开一面(4.15)
一、测试
1. selenium优缺点
2. unittest优缺点
二、计算机网络
1. 请求方法有哪些?为什么要有不同的请求方法?head方法了解吗?
二、代码
--------------------------------------------------------------------------------------
百度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():所有测试用例资源释放
- 按照测试用例名字的ASCII码顺序执行,无法控制执行顺序;测试用例加到TestSuite()中可控制执行顺序;TestLoader()可加载大量的测试用例
- 总结:TestLoader()加载TestCase到TestSuite()中,TextTestRunner()运行TestSuite(),结果为TextTestResult()
- 按照测试用例的编写顺序,对其进行重命名操作。(在元类的__new__方法中,可以获取类的全部成员函数)
5. 等待的方式
- 强制等待
- 隐性等待implicitly_wait():设置最长等待时间,超过最长等待时间则继续执行
- 显性等待WebDriverWait:设置最长等待时间,超过最长等待时间抛出异常
- WebDriver API(乘客)、浏览器驱动(出租车司机)、浏览器(车)
- ①selenium脚本创建http请求,将该http请求发送给浏览器驱动。②浏览器驱动(包含HTTP Server)接收到请求,并根据请求操控浏览器,浏览器执行,将执行结果返回给HTTP Server。③HTTP Server将结果返回给selenium脚本。
- 非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地址。)⑤新增错误状态响应码。
- 浏览器有缓存时的一种响应
5. 输入网址发生什么
6. 请求头包含什么
- Accept-Encoding、Accept-Language、Connection、Cookie、If-Modified-Since(只有当请求的内容在指定的日期之后修改后才返回它,否则返回304。)、Content-Type
- 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进行定位速度快,是最高效也是首选的方法。
3. 朋友圈评论设计测试用例
4. 测试用例设计方法
二、计算机网络
1. 输入url发生什么
三、Linux
1. Linux命令
全部评论
(5) 回帖