在9月底试投了百度测试开发实习生岗位, 国庆节前接到了百度测试开发实习生岗的面试通知,为了准备面试,国庆期间断断续续整理了一下网上搜到的前辈们所写的百度测试面试经验,以下是个人进行的一些汇总,可供参考。
我将面试可能需要准备的内容大致分为如下几个部分:基础知识、手写代码、测试相关、灵活题目。
基础知识
-
Linux命令
几乎每个面试经验里都提到了Linux命令,可见其是必考的。以下链接是一些常用Linux命令的使用方法,可以复习参考。
1. 一些问过的命令:
1)查看cpu前5的进程 2)查看日志
2. 静态函数库、动态函数库
https://blog.youkuaiyun.com/tqs_1220/article/details/78534096
-
数据库
1. 数据锁机制
2. 日志文件作用
3. 外键作用
4. 手写基本的数据库查询语句(必考)
5. 建立索引解决问题
-
计算机网络
1. OSI七层协议
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
2. 常见网络设备属于哪层
集线器在物理层;网桥和交换机在数据链路层;路由器在网络层。
3. 套接字socket
TCP连接的端点;端口号拼接到ip地址形成套接字;
syn:sychronize sequence number同步序号
ACK: 确认字符 ack:确认号
FIN:释放一个
4. TCP三次握手具体过程
第一次握手:客户端向服务器发出请求连接报文,syn=1,seq=x,此时TCP客户端进入了SYN-SENT(同步已发送)状态。
第二次握手:TCP服务器接收到请求报文后,如果同意连接,则发出确认报文。确认报文中ACK=1,SYN=1,ack=x+1,同时初始化一个序列号seq=y,此时服务器进入SYN_RCVD(同步收到)状态。
第三次握手:TCP客户端收到确认后,向服务器给出确认,确认报文中ACK=1,ack=y+1,seq=x+1,此时TCP建立连接,客户端和服务器进入ESTABLISHED状态,双方可以通信。
第三次确认的目的:防止已经失效的连接请求报文又传送到服务器,从而产生错误。
5. TCP四次挥手具体过程
第一次挥手:首先,客户端发送一个FIN,用来关闭客户端到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号seq=u。
第二次挥手:服务器收到这个FIN,它发送一个ACK,确认ack为收到的序号加1。
第三次挥手:关闭服务器到客户端的连接,发送一个FIN给客户端。
第四次挥手:客户端收到FIN后,并发回一个ACK报文确认,并将确认序号seq设置为收到序号加一。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
具体可参考以下链接:
https://blog.youkuaiyun.com/qzcsu/article/details/72861891
https://blog.youkuaiyun.com/ZWE7616175/article/details/80432486
6. UDP和TCP的区别
UDP是不可靠的,不需要先建立连接
TCP是可靠的,需要先建立连接
7. HTTP有哪些操作,常用端口是多少
8. 常用端口号
9. TCP/IP协议
https://blog.youkuaiyun.com/MXSKE/article/details/78279071
-
操作系统
1. 进程和线程的区别
进程时操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。进程有独立的代码和数据空间,程序之间的切换会有较大的开销。而同一类线程共享代码和数据空间,即共享内存单元,线程之间切换的开销小。操作系统可以同时运行多个进程,同一个进程中可以有多个线程。线程可以看作轻量级进程。
2. 锁的概念
3. 死锁
4.CPU调度算法
-
数据结构
1. 二叉树遍历
2. 常用排序算法及其时间复杂度
3. 二分查找
手写代码
- 一个数组中有多个整数, 其中有两个重复的数字,如何找出来,考虑一下时间复杂度和空间复杂度
- 给两个字符串A和B,找出A对于B的最长前缀。
- 单链表逆序
- 一个链表的连续区间和最大值,及其对应区
- 数组中,连续和最大的区间
- 判断一个链表是否有环,并确定环的位置,如何确定两个链表是否有相同的部分
- 写个小程序,一个数组,长100,里边乱序分布数字1-100,在数组中随机挑选一个位置的数字,将其替换为-1,如何判断,被替换掉的数字是多少?
- 跳台阶,一次跳1个,也可以跳2个,问,n个台阶有多少种跳法
测试相关
1.实景测试
- 微信语音功能,如何测试
- BAIDU hi聊天消息收发的测试思路
- 登录界面测试
- 对微信公众号测试,从哪些方面
- 如何测试一个纸杯、一支钢笔
- CP命令设计测试用例
- 如何测试手机ap
2. 测试方法
- 白盒测试
https://blog.youkuaiyun.com/yiwangxiblog/article/details/53056125
-语句覆盖:每个语句执行至少执行一次。
-判定覆盖:判定的真假分支各执行一次
-条件覆盖:条件的真假出现一次
-判定/条件覆盖:同时满足判定覆盖和条件覆盖
-条件组合覆盖:所有子条件的组合情况都出现一次
-每一条可能的路径至少执行一次
- 黑盒测试
等价类划分,边界值分析,错误推测
- 静态测试
不运行被测程序,分析源程序语法、结构、过程、接口等检查程序的正确性。
- 动态测试
运行被测程序,对比预期结果与运行结果,分析运行效率及健壮性。分为是哪个部分,构造测试实例,执行程序,分析程序的输出结果。
动态测试分如下步骤:1)单元测试2)集成测试3)系统测试4)验收测试5)回归测试
- 等价类划分
https://blog.youkuaiyun.com/weixin_38582466/article/details/70945948
有效等价类是对程序规格说明有意义的,合理的输入数据所构成的集合,验证实现功能。无效等价类,规格说明不合理或无意义的数据所构成的。
3.测试概念
- 测试模型
- 自动化测试
- 测试流程
灵活题目
- 浏览器中输入URL并按下ENTER键
- 给看手机百度的一个界面,思考5分钟,回答如何实现,要求数据库方面
- 有12个球,有一个质量不一样,最少几次找到它
- 软件测试开发和开发的区别在哪里
- 不同分辨率屏幕的图片优化怎么做
- 海量搜索问题
- 大数据表,如何优化查询
- 几万个数的排序,找出最大的几百个数
面试经验参考链接
- https://blog.youkuaiyun.com/winter199/article/details/78605219
-
https://blog.youkuaiyun.com/peilebaobei/article/details/53939432
-
https://blog.youkuaiyun.com/hanxue_wuhen/article/details/75212649
-
https://blog.youkuaiyun.com/u011010851/article/details/79616560
-
https://blog.youkuaiyun.com/u013647453/article/details/78174710
-
https://blog.youkuaiyun.com/he_haiqiang/article/details/7566576
-
https://blog.youkuaiyun.com/dalongyes/article/details/9261663
-
https://blog.youkuaiyun.com/lidanyang666/article/details/81413188
-
https://blog.youkuaiyun.com/shhider/article/details/36730099
-
https://blog.youkuaiyun.com/MustangJy/article/details/78878755
-
https://blog.youkuaiyun.com/aledavvv/article/details/25156067