首页 > 测开岗面经总结,附带一些公司面经。(9.15更新小米和b站)
头像
外卖小哥吴彦祖
编辑于 2020-09-16 17:20
+ 关注

测开岗面经总结,附带一些公司面经。(9.15更新小米和b站)

前几天收到了百度的OC,也算是给我的提前批画了一个句号。今天给大家分享一波我的个人经验,攒攒人品。如果后续有其它公司的面经也会在这个帖子更新。

首先介绍一下我的情况:二本本科+211硕,本硕都是计算机专业,研究生期间主要做数据处理,项目只有科研论文,无企业实习经历,说白了就是‘纯学生’。大概在5月份的时候找了实习,尝试投了阿里,被面试官无情diss(可能是我玻璃心,哈哈。确实是因为太多知识研究生期间没有用上,基本都忘了。当时面试官问的问题现在看起来都很基础,但是答不出来。后来面试官在我答题的时候总是叹气,也给了我很大压力,并且如果我回答的不对就直接打断我,不让我继续。)。在这次面试之后确实发现求职和学校学的有很大差距,就开始系统学习工作的知识。下面介绍一下我认为作为一个没有项目的测开求职,一些基本的素质要求:

  1. 算法 :对于大厂来说,测开的算法要求其实并不低。这一部分刚开始我刷了剑指offer的大约60多题吧,算是热热身。之后刷了leetcode的面试热题和热门100题。二者总共总题量大约不到200道左右,平时一天维持在5道左右的题量,并且定时的对已经做过的题进行回炉。建议如果算法能力有限,可以着重练习数组,双指针,dp之类的算法题,因为我认为这些算法题在面试手撕出现评率比较多。如果想要在笔试的时候编程题可以有高水平AC,建议对递归,dp问题要有高度理解。另外在面试时,对于给出的算法题可以给出两种或以上的方法,后一个方法是前一个方法的优化,或是用不同的方法解决更加加分。优化方法固然重要,但不要羞于使用暴力法,也可以说一说暴力的思路。
  2. 计算机网络:对于现在的互联网公司来说,计算机网络知识也是考察的重点。我认为最基本的可以从以下几个方面入手: (1) OSI 7层 TCP/IP四层,每一层的功能,在网络应用中每一层之间是如何协作的,每一层有哪些协议,哪些设备; (2) 对重点协议的掌握,如 TCP,IP,DNS,HTTP,HTTPS,ARP,RARP,UDP,它们的报文是什么样的(可以延伸如http里面的长连接,getpost,状态码等,https可以延伸对称非对称加密等等),工作流程是什么样的(中间有哪些步骤);(3)其它网络技术如session,cookie,token,socket。

3. 对自己常用语言的了解:我用python,在这里仅仅谈谈python。如python的多进程多线程,同步的方法,通讯的方法;闭包和装饰器;迭代器生成器协程;垃圾回收;深浅拷贝;缓存机制;面向对象的相关内容。这块东西很多,无法细说,如异常捕获,with as ,new方法 init方法,元类,*args **kwargs这些散的知识点。仅仅是会写几个for while class什么的是远远不够面试标准的。如果想在面试中有个好印象,可以看一看源码,结合源码和面试官谈。

4. 数据库:sql语句熟练掌握是基本功,除此之外索引,数据库优化,分布式,MVCC,行锁间隙锁,acid也是面试常问的内容,例如索引问题,不同的索引结构之间的优劣对比,索引优化,索引的种类,再比如关系数据库和非关系型数据库的对比,mysql对于语句的解析过程等等问题都是需要掌握的。

5. 操作系统: 这块我掌握的不是特别好,我认为对于死锁,线程进程,分页分段,锁的相关知识应该是掌握的重点内容。


6. Linux:最基础的我认为是常用的命令,如top,ps等命令,如果可以会awk,sed 和vim等编辑器那是再好不过的。


7. 数据结构: 最基本的就是对各种逻辑结构的使用,如栈和队列;对物理结构的操作,如顺序表链表;常见的排序算法(如快排)的手写和对比,查找算法的掌握(如折半)和对比,遍历的手撕(非递归也要掌握),算法复杂度分析等等基础内容。


8. 测试知识: 这一块大厂的要求感觉并不是特别高,因为在我的面试中,仅仅只是问了类似于怎么测一个电梯类似的题目,考察的是有没有测试思维。我认为最基本的测试知识包括,黑白盒测试方法对应的用例编写,测试的流程,测试模型(v,w等),bug管理,再比如功能测试性能测试安全测试等等知识的掌握。


9. 软能力:与人交际,团队协作等。


从我的个人感觉来看,以上知识一定要有自己的理解一定要有自己的理解一定要有自己的理解切勿背诵面经切勿背诵面经切勿背诵面经。 因为面试官面试过很多人,你是不是背的面经他心里肯定有数。因此在回答问题的时候,一定要结合自己的理解来说,这样才能显得有你对这个问题有深度!以上问题均可以在B站学习视频,或者CSDN知乎等知识分享平台学习。如果以上有什么问题也欢迎大家多多交流。


以下是我的一些面经,仅供参考:


广联达(base 上海):


笔试:

10个选择(单选与多选 基本的代码阅读 面向对象 协程线程进程 操作系统等基础知识)

3道算法题 ac 1.73/3


一面


1 自我介绍 问项目的作用

2 python的gc机制

3 如何理解面向对象 面向对象设计的原则

4 测试模型

5 统计一个文章中某个单词出现的次数

6 知道哪些测试方法

7 白盒的几个覆盖

8 测试一个电梯

9 在项目里是如何测试你的代码的

10 你有和别人互相检查代码吗

11 爱好 再看什么书 看这些书对你的帮助

12 为什么要找测开 你的优势是什么 你的不足是什么

13 对广联达了解多少

14 如何看待加班

15 反问


8.22更新二面

1 自我介绍

2 项目里的难点

3 遇到困难的地方怎么解决

4 压力如何缓解

5 兴趣爱好

6 对测开工具有什么了解

7 有没有与别人有合作的经历

8 为什么要选base上海

9 对广联达了解多少

10 如何看待加班

11 手里offer情况

12 为什么要干互联网这一行

13 最近有没有提升自己的素质能力

14 反问


奇安信(base 南京)


笔试


单选 多选(操作系统 网络 基本的编程知识)2道算法(动态规划与递归 AC 1.83/2)


面试未参加



百度(base 北京)


一面


1 自我介绍 会哪些语言

2 深浅拷贝

3 is和==的区别

4 osi7层

5 tcp和udp的区别

6 tcp三次握手

7 get和post区别

8 找两个链表的公共节点

9 sql语句 找某个字段出现3次以上的数据

10 跳台阶问题动态规划

11 找数组中出现次数最多的元素

12 如果这个数组中出现次数最多的不止一个怎么办

13 什么是死锁

14 死锁产生的条件

15 知道哪些测试方法

16 测试一个饮水机

17 linux命令 查看一个文件的前几行数据

18 linux命令 查看一个文件某列数据

19 用过哪些python库

20 线程和进程的区别

21 反问



二面

1 自我介绍

2 项目中的难点 如何解决

3 协程

4 什么时候用协程

5 给你两个数组 找他们的中位数

6 linux会多少

7 一个表 有id和name两个字段 现在表中的数据越来越多 通过id找name变慢 如何解决

8 有多个txt文件 每个文件里面都是英文单词 给你一个单词 想要确定包含该单词的所有文件名 怎么解决

9 测试一个自动贩卖机

10 你认为上一题中哪个测试最重要

11 你是想做测试还是开发



三面

基本聊个人经历 学习 生活 无太多技术问题





小米(base 南京)

笔试

单选多选两道编程(ac183%)

一面
1.自我介绍
2.项目作用
3.写过脚本吗
4.介绍自己写的脚本的逻辑架构
5.有过大数据处理的经历吗
6.学过哪些计算机课程
7.osi7层
8.tcp和udp对比
9.数据库用过哪些
10.linux命令
11.有过tcp/udp项目经历吗
12.测试知识知道哪些
13.白盒测试方法
14.考虑过这些覆盖会造成冗余测试或者没有办法覆盖全部代码吗
15. 反问


二面

1.介绍了南京部门的基本情况
2.对个人科研项目的了解
3.遇到问题的解决方法
4.对手机测试有没有什么了解
5.科研方向具体的应用背景
6.自动化测试思路 
7.在游戏测试中,公司会使用机械手臂去模拟人去测试游戏,那么你觉得应该怎么去考虑测试点
8.你的这个研究方向和AI有什么关系吗
9.对于7里面的测试点的考虑,你的研究方向可以起到哪些作用
10.你觉得对于你的能力来说,哪些地方是缺陷呢?
11.反问

小米的面试没有手撕,让我感到很奇怪。二面的时候也是纯聊天式的方式,注重的思路还有逻辑的梳理,以及他们更倾向于选择对人工智能有所了解的候选人,可以将AI应用到测试当中。整体上看,对技术的考察也没有很多,难道我被kpi了?




Bilibili(base 上海)

笔试
单选多选 编程3道(ac200%)


一面

1.自我介绍
2.研究的方向主要是做什么的
3.除了论文项目还有别的吗
4.数据库索引的理解
5.索引的使用
6.手撕sql语句 给你两个表 找成绩前三
7.表的设计 给你一个表 分析合不合理 以及如何修改结构使其合理
8.手撕代码 一个链表去重
9. 闭包和装饰器
10.谈谈线程和进程
11.常用的python库
12.测试微信消息提醒
13.测试淘宝购物车
14.为什么要找测开岗
15.说说数据库的mvcc
16.深浅拷贝
还有别的记不住了 大概二十来个问题吧

二面

1.介绍了一下他们部门
2.有没有想问的
3.自我介绍
4.了解项目的实际应用
5.手撕代码 三数求和
6.讨论5的代码思路正确性
7.设计测试用例测试刚写完的代码
9.http协议的get和post有什么区别
10.mysql知道哪些引擎
11.不同引擎之间的对比 优劣
14.python的特性
15.python为什么不用分号只要换行对齐就可以了
16.python 字典和列表的底层结构
17. 顺序表和哈希的对比
18.用过哪些数据结构
19.用链表多吗
20.除了科研能力之外你还有哪些能力
21.对其它编程语言的掌握程度
22. 对比python和其它编程语言
23. 知道哪些锁
24.用过哪些库
25.有一百层楼 给你两个球 让你快速找到一个楼层 在这个楼层以及这个楼层以上的楼层扔球都会碎 这个楼层一下的楼层不会碎
26.说说tcp协议
27.对b站了解吗

b站的面试是我目前觉得最难的,二次面试基本上把计算机基础课程的所有知识点覆盖到了,并且更偏向于对数据库的考察。二面的面试官基本在一边聊天一边问题,针对你的回答,又抛出新的问题,越来越深,对广度,深度,底层原理都有考量。两次面试一下午走完,面试完头昏脑涨。

更多模拟面试

全部评论

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

推荐话题

相关热帖

近期热帖

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

热门推荐