百度测开 开发测试工程师 提前批一二三面面经
事业群:MEG
base:北京
一面:2023.8.12
时长:50min
-
自我介绍
-
个人项目,我的项目是围绕着学校课程的项目来的,面试官就让我介绍这门课讲了些什么
-
(学校里)性能测试做了什么工作,性能测试中需要关注什么部分,我从前端和后端分开来讲的
-
接口测试关注的部分
-
实习中做的测试工作内容有哪些,这些工作是针对APP吗
-
TCP三次握手,为什么一定要三次握手?
-
Linux相关命令:实习中用到的常用的Linux命令有哪些?查看进程的命令?
-
写sql语句:student表,主键student_id,还有一个表项是成绩grade,查找成绩前十的学生id
-
select student_id
-
from student
-
order by grade desc limit 10
- 手撕代码:Leetcode 20.有效的括号
-
class Solution {
-
public boolean isValid(String s) {
-
Map<Character, Character> map = new HashMap<>();
-
map.put(')', '(');
-
map.put(']', '[');
-
map.put('}', '{');
-
String str = "";
-
for (int i = 0 ; i < s.length() ; i++) {
-
char temp = s.charAt(i);
-
if (temp == '(' || temp == '[' || temp == '{') {
-
str = str.concat(String.valueOf(temp));
-
} else {
-
if (str.length() - 1 < 0 || map.get(temp) != str.charAt(str.length() - 1)) {
-
return false;
-
}
-
str = str.substring(0, str.length() - 1);
-
}
-
}
-
if (str.length() == 0) {
-
return true;
-
}
-
return false;
-
}
-
}
-
用例题:以百度首页输入框的功能为例,写测试用例(不需要说搜索之后的)
反问:
-
这个岗位强调开发和测试内容谁更多:都有,每个人会给一些topic开发任务,需要并行去做一些测试的工作;倾向平台还是工具开发:都有,有不同方向,Python和Java都有,CI相关,测试辅助,覆盖率相关的
-
面试完多久出结果:1-2个工作日
-
对今天面试的建议:挺好的(?!)
-
今年秋招比较难,招人会不会更严格:大环境,具体情况不了解,只是一个面试官TAT
-
部门做的有关内容:商业相关,投放广告
二面:2023.8.16
时长:50min
-
一些聊天:有关实习情况、有无考研打算、base倾向
-
自我介绍
-
介绍实习的经历、团队负责的内容、目前自己所做的工作、目前遇到什么问题、这段工作中做得比较好的亮点及收获
-
实习或项目中去定位问题的思路,如何定位并解决的,举一个具体的例子
-
实习的具体内容:对于Monkey测试中的问题,这个会不会是误报,一定是正确的吗?能不能稳定复现呢?如果日志中出现了问题,能确定这是一个Bug吗?在性能测试中会不会出现一些有关稳定性的,误报的问题?或者说一些其他的问题?
-
Java里面哪一部分比较熟?我说集合,面试官就针对这个开始出题
-
手撕代码1:定义一个Map,找几个方法遍历它,并将元素打印出来
-
import java.util.*;
-
public class Main {
-
public static void main(String[] args) {
-
Map<String, String> map = new HashMap<>();
-
map.put("a", "a1");
-
map.put("b", "b1");
-
map.put("c", "c1");
-
// 1.set
-
Set<String> set = map.keySet();
-
for (String k: set) {
-
System.out.print(k + " " + map.get(k));
-
}
-
// 2.Set<Map.Entry<>>
-
Set<Map.Entry<String, String>> entrySet = map.entrySet();
-
for (Map.Entry<String, String> entry: entrySet) {
-
System.out.print(entry.getKey() + "," + entry.getValue());
-
}
-
}
-
手撕代码2:合并两个List,去重后排序输出元素
-
import java.util.*;
-
public class Main {
-
public static void main(String[] args) {
-
List<Integer> list1 = new ArrayList<>();
-
List<Integer> list2 = new ArrayList<>();
-
list1.add(3);
-
list1.add(2);
-
list1.add(1);
-
list2.add(1);
-
list2.add(2);
-
list2.add(4);
-
// Collections
-
Set<Integer> integerSet = new HashSet<>();
-
integerSet.addAll(list1);
-
integerSet.addAll(list2);
-
List<Integer> newList = new ArrayList<Integer>(integerSet);
-
Collections.sort(newList);
-
for (Integer i: newList) {
-
System.out.print(i + " ");
-
}
-
}
-
}
-
Linux这块你哪个命令用得比较多?在文件里查找内容的命令?
-
说回实习,针对我目前测试的手机,流程也好,专项测试也好,有没有可以优化和改进的?
-
你认为你现在掌握的开发语言、脚本语言这些掌握得怎么样?你现在电脑上有你写的测试用例吗?(我:!?在公司电脑上
反问:
-
部门具体工作
-
面试完多久出结果:技术+经理面一共三轮,后面是HR沟通,如果能过二面,一周内进行联系,现在是提前批,会快一些
-
如果提前批没过的话,是会自动转入正式批吗:应该不会吧,不太确认,提前批和正式批还有点不一样,可以关注下招聘公众号
-
对今天面试的建议或评价:(面试官说这种问题大家都爱问,但是回答这个是有要求的hhh)官方一点回答:对于测试来说的话,三个点比较重要:软素质、沟通协调、能力;因为测试涉及到的面比较多,知识面要广,比rd了解的点会更多一些,还需要有一门拿得出手的语言,现在实习的话可以多扩展一些
三面:2023.8.18
时长:40min
(有些记不太得了)
-
自我介绍
-
围绕项目,写了多少条测试用例,怎么写的,代码覆盖率怎么判断和评估,我围绕的是定义展开叙述的,但面试官更想让我说的是有关测试报告的内容
-
黑盒测试和白盒测试,定义和方法,黑盒和白盒所用的测试工具
-
了解的自动化测试工具,我说QTP和Selenium,但对Selenium比较熟悉
-
Selenium八大元素定位方式及原理,怎么使用,平时用什么方式,为什么用xpath,元素定位对比
-
考研还是工作?为什么不考研?
-
base地选择?有跟父母沟通过这方面的内容吗?
-
看你是团支书,之后大四会涉及到很多的内容吗,忙不忙?
-
别人对你的评价,优点
-
之前遇到过你认为最有挑战的事情,怎么克服困难的
-
未来3-5年的规划,有npy吗,两个人打算什么时候谈婚论嫁?
反问:
-
面试完什么时候出结果:一周以内,收到测评后再是HR面
-
面试评价:多去了解一些基于专业课程知识的内容,了解得更深更广一些
百度测开一面二面凉经
发面经攒人品,面完忘记立刻复盘,有些遗忘,但大概就是这些。
20230812一面40min
自我介绍
谈论了简历上的项目
mysql存储引擎,两类引擎的对比
http和https区别
OSI体系结构,数据在网络层叫什么,数据链路层叫什么
手撕代码:前K大数
反问
20230819二面45min
自我介绍
是否在项目中遇到技术问题,怎么解决的
JVM内存结构
Java和C++对比
hashmap和hashtable区别
垃圾回收机制GC
内存溢出和缓存泄露
是否使用过Linux,说些指令
是否进行过软件测试,测试流程
文本写一个sql处理(左连接解决)
微信发红包,说说设计测试思路
手撕代码:
1)链表相交问题(自己定义ListNode)
2)算法实现除法计算,取余和取商
反问
百度提前批-测开一面二面三面测评
分享 面经积攒好运 !upup!
一面
自我介绍
深挖项目:问了超级多细节,聊了很久
手写代码:二分查找
设计测试用例:测试电梯
计算机网络TCP,三次握手
访问网址的过程
对DNS的了解
linux相关命令:设置IP地址,查看有几个网卡,查看日志
python有哪些数据结构
深拷贝浅拷贝的区别
装饰器
对测试开发的理解
对云的理解
反问
面试官很友好,主动介绍了岗位部门业务等
最后告诉我一面过了让我好好准备二面,面试体验感很棒
二面
自我介绍
深挖项目
编程题1:最长不重复子字符串长度
编程题2:将字符串转化为整数
Linux命令用过哪些?
Mysql知道哪些?
写一个查询语句:找出年龄最大的员工
反问
面试了50分钟,两个编程题花了比较长时间的
八股问的很少,可能一面八股问的多吧
三面
自我介绍
深挖项目
项目几个人,分工,有矛盾吗,难点在哪里
对测试开发的理解
测试开发的流程
软件开发过程中什么时候需要测试?
每个阶段都需要测试人员做些什么?
项目要上线了,还没测试完怎么办?
开发人员错误较多怎么办
别人对你的负面评价
如何看待重复性的工作
职业规划
哪里人?选择城市?
兴趣爱好
最不能接受室友的一点是什么
如何看待有人评论说大学期间的学习没用?
举例子:理论知识活学活用
对于前几次面试的评价
有没有其他面试或者offer
设计测试用例:微信发送接收消息
反问:应届生培养,技术栈
没有八股,主要问测试相关
还有各种聊天,聊了一个小时
测评
十天之后收到测评
97题性格测试+45题场景题+6道言语理解题
性格测试是选择符合还是不符合
场景题都是工作场景的预设然后选择,类似性格测试
最后6道类似行测题是我没想到的,限时6分钟
一个星期之后状态变为共享中,应该是被横向比较pk掉了
百度测开(2面凉经)
一面7.22:
实习正在做什么
个人项目做的是什么
IOC容器-》IOC容器有什么好处
数据库连接方式
sql-查找倒数第二分数的同学
我写成group by了 应该是order by
写单例
算法1:两数之和
算法2:LRU-结构设技、GET方法
缺点是 自我介绍过于简单、下回需要录音
二面8.2:
项目项目。。。
还问了深度学习模型
两道题 字符串去重、斐波那契数列
为什么投测试?
谈谈垃圾回收的理解-》开放式回答(开背)
对测试怎么看?
百度搜索框怎么测试?
有无投递其他公司?妹有。为什么?百度就很好
缺点:对于为什么要投测试回答的不好,没干过测试没办法。忘记录音。
关于项目回答的不是那么完美,应该进行总结,针对简历上的内容进行总结实现扩展
真的难!今年测试都混不上了,寄!
百度测开8.22凉经
面后半小时出结果,凉的透透的。
面试官一进来就问问题,没给自我介绍的时间(来把我刷kpi吧?)
-
项目自己负责的部分
-
开发多还是测试多
-
用你熟悉的语言写个算法,两个链表求和返回链表 例如123(1->2 ->3)+321(3 ->2->1)=444(4 ->4->4 ),说时间复杂度和空间复杂度,再优化算法,使空间为O(1),那么时间复杂度改变了吗?
-
学过哪些数据库?
-
你用redis做了什么?
-
你是说redis比mysql好?
-
计算机网络学过吧,tcp建立链接怎么保持稳定性?
-
tcp在那一层?
-
写俩shell吧,每个进程的cpu利用率怎么获得?
-
文件内格式为:
k1 k2 k3 k4
k4 k3 k2 k1
求第一列的和
-
rpc看你学过,一个高并发系统怎么保证稳定性?
-
上下游程序,下游改动时怎么保证上游不受影响?
-
git看你学过,我add了一个文件,我想取消add怎么搞?
-
你改动了代码 git怎么操作?
-
nginx负载均衡有哪些?
-
项目难点怎么解决?
-
docker怎么做的压测?
-
想不起来了,想起来回来补
没有反问环节(恭喜自己成为kpi分母)
百度 软件测试岗一面(65min)面经分享
-
项目相关(30分钟)
-
了解的排序方法?答:对快排和归并比较熟悉
-
快排和归并的具体实现,时间复杂度;二者的应用场景(差异)
-
为什么要有数据库而不直接将要存的数据存在硬盘或者网盘里
-
Mysql事务隔离级别
-
Linux的常用命令(会问一些具体符号的含义)
-
Linux中sodu的含义
-
内存四区(堆区和栈区的区别)
-
什么是栈溢出,如何解决?
-
七层网络协议
-
udp和tcp的区别
-
算法题:反转链表
百度 测开 一面/二面/三面 面经
流程神速,24号上午一面,一面结束下午马上二面;今天26号三面,是我遇到过流程最快的面试经历了
一面
自我介绍,(自我介绍太长了很明显感觉到面试官有点不耐烦了。。)
项目介绍;
深挖项目,介绍项目中Redis的使用,二次缓存的一致性保证,数据库持久化是怎么做的等等;
最常用的语言?(Java),会不会Python?(回答不会,面试官答没关系来了再学,很快),然后开始八股文;
面向对象七大设计原则;
String、StringBuffer、StringBuilder的区别;还知不知道其他不可变类,如何自己实现一个不可变类;
Java中不同类型的对象在JVM内存结构中存储的位置;
什么是泛型,泛型擦除一定会发生吗;
什么时候服务端会发生大量time_wait和close_wait状态;
手撕算法:实现一个算法,找到两个有序数组所有元素一起的中位数;
针对自己的接口,设计测试用例;
反问。
总结:算法题做的不太好,改半天。
一面结束半个小时通知通过,约下午二面。
二面
自我介绍;
项目介绍;
追问项目;
实习做的都是开发工作,为什么选择测试;
基本的测试流程;
黑盒白盒测试的测试用例设计方法都有哪些;
介绍一下单元测试和冒烟测试;
讲十个Linux的基本指令;
说一下你对SpringBoot和Spring的区别的理解;
SpringBoot自动装配机制的原理;
SpringBoot IOC容器的设计目的,原理,以及依赖注入的方式;
知道哪些设计模式,单例模式懒汉式口述一下怎么写,volatile的作用是什么;
手撕代码:KMP字符串匹配算法;
针对一个零售机进行测试用例设计;
反问。
总结:KMP算法记得不太清楚了,模模糊糊地在面试官的引导下写出来的。测试用例设计这块掌握的还是不太好。
二面结束第三天主管直接打电话约三面。
三面
自我介绍;
项目介绍;
超级深的深挖项目,深到每一个功能点的算法是怎么实现的。。。
为什么选择测试开发;
针对一个IP地址校验的接口进行测试用例设计;(答的不好,面试官后来说是想让我给出具体的关键数据的测试用例)
shell编程会吗,能不能大概介绍一下某个具体的语法;
为什么选择北京;
是考研还是保研的,为什么读研不选择计算机类专业;
讲一个逆袭的经历;
讲一个定下目标但最终放弃了的经历;
讲一个你最讨厌室友的哪一点(???);
反问;
总结:项目深挖挖得有点难受,测试用例设计答的也还是不太行。。。还需要恶补!
但是反问环节结束后面试官让我加他微信,说后续有什么问题随时可以问他,弄得我一脸懵。
祈祷好运祈祷好运!祝大家秋招顺利offer多多!
百度提前批 测开 一面(凉经)
面试小哥人很好,但是!!进去说先自我介绍,我巴拉巴拉说了一大堆,结果电脑设备出问题了,不知道什么时候静音了,。。然后对方听不到我说话,我听不到对方说话,僵持了5分钟,,,
场面一度尴尬。。后来我重进了以下链接,可以了。然后继续自我介绍。。。
面试的问题不难,主要针对简历问 ,我是完全按照简历问的,项目都没问
对测试开发的理解
python 深拷贝浅拷贝 (开背)
装饰器 (开背)
列表表达式
怎么快速反转列表 [::-1]和reverse()函数
匿名函数 使用场景
map reduce 函数
mysql
小哥:怎么往表插入数据?
我 insert
小哥 那怎么快速插入呢 用什么方法 ?
我 不会...
sql语句:一张学生表 有各科成绩,怎么查平均成绩最高的学生?
怎么在python中运用实现mysql?
事务的了解?
我看你会用selenium 说一下常用的等待方法?隐式 显式 强制
追问 使用场景是什么?元素定位问题
追问 怎么使用
driver.impliawait()
手撕代码
1 不用四则运算符 实现两数相加 ?转为二进制 做与异或运算,加上与运算左移的结果,我没写出来。
2 给一个数组,实现奇数在左边,偶数在右边,并且奇数偶数的相对顺序不变 ?按照常规方法写出来了,一个for循环遍历,但是面试官不太满意,说有没有更简单的方法,我想了想,无...应该用双指针的。
反问:
对我有什么建议 应该在学点什么 (我觉得自己太菜了,唉)
前端的东西,可以学一下
多久出结果
快的话三天慢的话 一周
部分做测试开发那个多 都有
对编程语言还有别的要求吗?
一般用python 比较多,别的不要求。。
大概率凉了,能感觉到面试小哥觉得我水平low, 他都没敢深入问我,怕场面尴尬。。。
菜鸡一枚,两道手撕代码,换其他人都是直接秒的,轻喷哈哈
度小满测开凉经
9/3一面 30min
面试官迟到半小时
自我介绍
为什么要转测开
测试微信红包思路
测试自己项目思路
讲一下事务
两道easy算法题:
查找n个字符串公共最长前缀
判断链表是否有环
你认为自己转测开的优势与缺点
反问
二面 30min
面完两分钟发二面链接
自我介绍
为什么要转测开
测试红包雨思路
service是单例还是多例(不会)
乐观锁与悲观锁
左外连接,右外连接,全连接
算法题:
反转链表(没调出来)
反问
百度 提前批一面 面经
7.25 小度质量部 测试开发工程师 面试1h
-
自我介绍
-
项目具体情况
-
实习情况
-
工作中遇到多进程/多线程的问题
-
序列号生成的方式
-
Python多线程和多进程的性能问题(告知面试官自己理论方面是对Java更多了解一些
-
Java的数据类型有哪些
-
整型占几个字节、int型数据范围
-
Java中String类直接赋值一个常量和直接new一个新的对象的区别
-
equals和==的区别
-
嵌入式了解吗
-
了解哪些排序算法,哪些是稳定的、哪些是不稳定的
-
接口、性能、压测等有接触过吗
-
如果要评估一个接口的性能,首先要考虑哪几个方面?
【面试官解答:入参和出参其实是在功能测试上去做的。如果考虑性能,比如压测就是:大量的请求查看CPU、内存的占用
另外要注意考虑下游服务,关注接口会到哪些下游去请求,不要单单接口没什么问题,结果把下游的搞挂了(事故)】
-
数据库了解吗,关键字有哪些
-
知道数据索引吗,为什么说索引能提高效率呢?
【面试官解答:由于在数据库中存储的数据本身是无序的,索引就是把这些弄出来弄成有序】
-
HTTP请求状态码
-
浏览器输入URL发生了什么?经历了哪些阶段。
-
测试接口时发现返回和预期不一致,应该怎样分析?
-
如果postman抓包或浏览器发现请求的数据没有问题?怎样分析(前端、后端团队出了问题?)
-
字典、数组、链表、队列、堆栈了解吗
-
数组是连续的空间,扩容拷贝是谁做的,具体的原理。扩容的大小?
-
队列、堆、栈的区别,函数调用另一个函数是用什么数据结构实现的
-
Java里面有几种锁
-
Shell命令有哪些
26.【算法题】青蛙跳台阶,一次可以跳1或2个台阶,问:N级的台阶总共有多少种跳法。
- 分析递归方法的时间复杂度(2**n)和空间复杂度(最深路径时为n)
反问:
目前小度质量部小组内有哪些工作。
【服务端:接口测试\压测、功能测试、平台开发、case添加
端上:APP(ios\安卓)
冰箱:安卓和Linux、嵌入式等】
行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!