Bootstrap

花2个月时间学习,面华为测开岗要30k,面试官竟说:你不是在....

【文章末尾给大家留下了大量的.。。。。】

背景介绍

计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在一家初创公司里面做全栈。

本人面试的是测试开发岗,在2022年初进行申请,最终在4月份拿到oc。期间经历了笔试->性格测试->技术一面->技术二面->总监面->OC这几个环节,基本上每周完成一个环节。由于华为面试环节全部完成后需要审核(大概1个多月)所以从申请到oc大概2个月左右。接下来为具体笔试面试的内容:

笔试

3条题目中AC了两条,但我看网上说华为笔试分数过一百就有面试的机会。题目难度为leetcode中等,一般50行代码就可以解决,主要注意一下边界的问题,具体题目可以到牛客上看看各位大佬的分析。第三题考了一道最短路径,由于前面的题目耽误了点时间就放弃了。

话说华为的笔试还是比较水的,只要平时有多刷题目通过笔试都没有太大的问题。

性格测试

笔试完成后大概一个星期收到性格测试的邮件,但在做第一次性格测试后却被hr告知挂了。。当时慌得一匹,因为有了解过华为的性格测评是会刷人的,还好有第二次的重新补做的机会。当时上网查阅了一篇关于华为性格测试的文章:

总共是有一百道题目左右,不能够返回答题,因为部分题是考察考生的回答题目的一致性。

现在想起来感觉第二次和第一次填写的答案差不多,就感觉emmm...很迷。

这里建议大家在答题的时候要保持一颗要努力拼搏,不怕困难以及积极向上的心态。

技术一面

其实之前也有了解过今年的华为面试比以往难了许多,在测试岗的面试中涉及手撕代码并说出解题思路,一旦没有做出来或者是思路比较混乱都有可能面临被刷的危险。

今年的疫情加上华为的招聘政策改革(难度加大:可能由于先前华为各大985口中的“保底”offer)导致了面试的难度提升以及对招聘者的能力要求更为严格。以下是面试的具体内容。

(1)项目深挖,项目中运用到的技术以及优缺点评论,这里博主把在第二次实习中的全栈经历包括vue全家桶,node.js,Mysql的存储引擎等都总结了一遍。

(2)笔试题的思路以及黑盒白盒是什么。

(3)数据结构题,这里考察了一个双链表的题目。

(4)TCP三次握手以及如何看待华为。

(5)压力测试,稳定测试,数据库。

技术二面

问完项目后就是手撕代码,这里在做第二题的时候卡住了。。但好在面试官很nice进行了引导,最后艰难解出来。

(1)简历深挖。

(2)字符串中的某个字符出现的次数。

(3)给定一个链表,将倒数第 n 个结点删除。(leetcode第19题)

删除一个结点,无非是遍历链表找到那个结点前边的结点,然后改变下指向就好。先遍历一遍得到它的长度,之后用长度减去 n 就是要删除的结点的位置,然后遍历到结点的前一个位置就好了。

(4)测试的流程。

业务主管面(综合面)

让我诧异的是华为的综合面试没有问到代码,只是问了许多关于职业规划的问题。

(1)实习中做得不足的一些地方。

(2)在之前的实习和项目中是如何面对突发状况的。

(3)对于加班的看法。

(4)如何处理和同事之间的关系。

(5)对工作地点的看法。

在综合面试结束后,官网的状态就会更新为:录用排序中。在联系了hr之后被告知由于疫情需要等待4周左右。。最终在2022年的4月中旬收到oc并谈好了薪资以及工作地点~

近期也算是抽取出大部分休息的时间,为大家准备了一份通往大厂面试的小捷径,准备了一整套软件测试复习面试的刷题以及答案,我知道很多同学不知道怎么复习,不知道学习过程中哪些才是重点,其实,你们经历过的事情,我也经历过,正应为经历过,所以不愿意看到还有万千学子为此伤神,也许这篇文章帮不到万千学子,但是能够在这个平台上帮助到正在看这篇文章的那个迷茫的你! 我也就满足了!

内容涵盖:测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等 16 个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份 PDF 拿下众多大厂的 offer,今天在这里总结分享给到大家!

博主这篇分享篇幅可能有点长,观看的朋友可以先了解一下目录,完整版在文末自行拿取哦。

大厂软件测试岗经验分享

通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:

第一部分,测试理论(测试基础+需求分析+测试模型+测试计划+测试策略+测试案例等等)

第二部分,Linux( Linux基础+Linux练习题)

第三部分,MySQL(基础知识+查询练习+万年学生表经典面试题汇总+数据库企业真题)

第四部分,Web测试

第五部分,API测试

第六部分,App测试

第七部分,管理工具

第八部分,Python基础(Python基础+编程题+集合+函数+Python特性等等)

第九部分,Selenium相关

第十部分,性能测试

第十一部分,LordRunner相关

第十二部分,计算机网络

第十三部分,组成原理

第十四部分,数据结构与算法

第十五部分,逻辑题

第十六部分,人力资源

一、软件测试基础篇:2022版

  • 列举常用的5种黑盒测试方法。
  • 列举常用的6种白盒测试逻辑覆盖方法
  • 写出学生成绩(0 --100)的分别处于有效等价类和无效等价类的边界值(只考虑整数)?
  • 使用因果图方法进行测试,恒等、非、或、与的关系如何表示。
  • 软件缺陷产生的原因?
  • 应用边界值分析法进行测试用例设计时,应遵循哪些原则?
  • 列举出动态测试的几个步骤。
  • 简要画出软件测试V模型?
  • 简要画出软件测试W模型?
  • 画出5种基本控制流程图的结构图。
  • 简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点?
  • 黑盒测试有哪些优点和缺点?
  • 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?

二、MySQL篇:2022版

  • 数据库概念及分类
  • SQL语句概念及分类
  • MySQL数据类型Spring
  • 条件查询
  • 别名、去重
  • 排序、分页查询
  • 聚合函数、时间相关函数
  • 分组与having
  • 子查询
  • 关联查询
  • 约束
  • 索引
  • 存储过程
  • 事务
  • SQL的表连接方式有哪些?
  • 表的连接查询方式有哪些,有什么区别?
  • 什么三范式?
  • SQL的select语句完整的执行顺序?

三、 Linux篇:2022版

  • 三种查看server.log的文件内容
  • 编辑start.sh文件,查看文件前10行内容和后10行内容
  • 删除temp.conf文件
  • 查看后台所有java进程
  • 结束后台java进程
  • 编译maven项目
  • 将start.sh文件改为可执行权限
  • 启动jboss服务
  • 跨服务器拷贝文件(怎样把共享盘的文件拷贝到linux本机里)
  • 更改linux服务器系统时间
  • 计划每星期天早8点服务器定时重启,如何实现?
  • linux系统中如何获取pid为100的进程所监听的tcp端口,请给出详细命令?
  • Ndinx与apache的区别?

四、 Web测试

  • http代码表,常考题目
  • TCP/IP四层网络模型
  • TCP/UDP区别?
  • html css js运行的先后顺序是什么?
  • session和cookie的区别是什么
  • session存放在服务器端用来校验客户端的身份
  • cookie存放在客户端,每次从客户端往服务器发请求时,将cookie带到服务器端,用来校验客户端的身份
  • 电商支付模块的测试如何展开?
  • 如何开展兼容性测试?
  • nginx,tomcat,apache都是什么?
  • apache和nginx的区别?
  • Selenium有哪些定位元素方法

五、接口测试

  • get和post区别是什么?
  • cookie和session的区别
  • 请求接口中常见的返回状态码
  • 怎么设计接口测试用例
  • 如何分析是前段还是后端的问题
  • 在手工接口测试或者自动化接口测试过程中,上下游接口有数据依赖如何处理?
  • 依赖第三方数据的接口如何进行测试?
  • 接口测试中,依赖登录状态的接口如何测试?
  • 接口测试一般是什么时候做
  • 平常你是怎么测试接口的?
  • 接口测试中,依赖登录状态的接口如何测试?
  • 接口测试能发现哪些问题?
  • TCP建立连接和断开连接的过程?
  • HTTP协议的交互流程,HTTP和HTTPS的差异,SSL的交互流程?
  • TCP的滑动窗口协议有什么用?
  • HTTP协议都有哪些方法?
  • Socket交互的基本流程?
  • 讲讲tcp协议(建连过程,慢启动,滑动窗口,七层模型)?
  • webservice协议(wsdl/soap格式,与restt办议的区别)?
  • 说说Netty线程模型,什么是零拷贝?
  • TCP三次握手、四次挥手?
  • DNS解析过程?
  • TCP如何保证数据的可靠传输的?

六、APP测试

  • web测试和APP测试的区别?
  • 如何测试一个APP的登录场景
  • push消息如何测试?
  • APP的闪退通常是什么原因?
  • 测试过程中遇到 app 出现 crash 或者 ANR,你会怎么处理?
  • 你平常会看日志吗, 一般会出现哪些异常(Exception)?
  • APP 测试的内容主要包括哪些,如何开展?
  • APP 性能测试关注点及常见 APP 性能测试工具
  • 如何对 app 进行弱网测试
  • 常见的 adb 命令

七、性能测试

  • 性能测试的应用领域有哪些?
  • 性能测试包含了哪些软件测试(至少举出3种)?
  • 交付一个性能测试项目,请阐述你的性能测试流程
  • 如何理解压力测试,负载测试以及性能测试?
  • jmeter如何设计性能测试场景?
  • 介绍 JMeter 聚合报告包括哪些内容?
  • 解释5个常用的性能指标的名称与具体含义。
  • 你在性能测试中遇到哪些性能问题?
  • 举例说明jmeter的定时器用法?
  • 什么是性能测试?
  • 什么是上下文切换?哪些场景会存在上下文切换?
  • 如何用命令行生成测试报告?jtl文件怎么分析?
  • 性能测试中Linux命令
  • 什么时候可以开始执行性能测试?
  • 简述性能测试的步骤。
  • 性能测试时,是不是必须进行参数化?为什么要创建参数?
  • 描述不同的角色(用户、产品开发人员、系统管理员)各自关注的软件性能要点  

八、Selenium

  • 如何开展自动化测试框架的构建?
  • 如何设计自动化测试用例:
  • webdriver如何开启和退出一个浏览器?什么是自动化测试框架?
  • Selenium是什么,流行的版本有哪些?
  • 你如何从命令行启动Selenium RC?
  • 在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
  • 什么是Selenium Server,它与Selenium Hub有什么不同?
  • 你如何从Selenium连接到数据库?
  • 你如何验证多个页面上存在的一个对象?
  • XPath中使用单斜杠和双斜杠有什么区别?
  • 如何编写SeleniumIDE/ RC的用户扩展?
  • 如何在页面加载成功后验证元素的存在?
  • 你对Selenium Grid有什么了解?它提供了什么功能?
  • 如何从你的Java Class启动Selenium服务器?
  • Selenium中有哪些验证点?
  • 什么是XPath?什么时候应该在Selenium中使用XPath?

九、计算机与网络

  • 一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …
  • 请简述DNS、活动目录、域的概念。
  • 10M兆宽带是什么意思?理论下载速度是多少?
  • 什么是IP地址?
  • OSI七层网络模型的划分?
  • TCP和UDP有什么不同?
  • HTTP属于哪一层的协议?
  • HTTP和HTTPS的区别?
  • cookies和session的区别?
  • HTTP的get请求和post请求的区别?
  • HTTP1.0和HTTP1.1有什么区别
  • TCP的连接建立过程,以及断开过程?
  • 客户端使用DHCP获取IP的过程?
  • 写出某个网段的网络地址和广播地址?

十、人力资源

  • 你的测试职业发展是什么?你自认为做测试的优势在哪里?
  • 你找工作时,最重要的考虑因素为何?
  • 为什么我们应该录取你?
  • 请谈谈你个人的最大特色。
  • 一个测试工程师应具备那些素质和技能?
  • 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
  • 为什么选择测试这行?
  • 如果我雇用你,你能给部门带来什么贡献?
  • 你的工作通常能在时限内完成吗.
  • 你在五年内的个人目标和职业目标分别是什么?

对于以上这些知识点,经过长时间整理,已经形成了文档资料以及讲解视频,下面给出部分截图: 

;