背景
本人是计算机软件专业出身,自 08 年本科毕业之后一直从事软件测试这一行,可以说是有 10 年经验的测试老兵了。最近的工作经历是在某知名互联网企业担任高级测试经理。或许会有人觉得奇怪,为何一个测试经理会有跳槽的想法?
其实,我在原来这家公司呆了将近 8 年的时间,期间也正好经历了公司转型互联网业务的高速发展阶段,个人职业岗位也从功能测试转型为测试开发,再到测试经理。但可能是在一个地方(舒适区)待久了,总会有些懈怠;也可能是「世界这么大,总想看看不一样的风景」,我内心还是希望尝试新的机会,接触到更前沿的技术体系。
但在我出去面试新机会的时候,很快就发现了自己的不足。**虽然自我评估 Java 算是熟练掌握了,但其他技术栈明显太片面了。**比如只有服务端的测试经验,App/小程序这类新应用的测试技术就比较匮乏。如何快速补齐自身的技能短板,这个问题我也琢磨了很久,最终还是选择了培训学习提升,这次花钱也算是物有所值了,让我学到了很多在工作当中没办法实践到的,最前沿的测试技术及实战技巧,完善了测试开发技术栈,也积累了必要的项目经验。
面试
我先后参加过 3 次互联网大厂测试开发岗位面试,前两次面试都止步于 2 面,最后一次成功到了第 5 面,并最终顺利拿下 Offer。
第一和第二次面试是在半年前,在 1 面的考核题目都类似,都有对算法、Java 代码和测试工具研发之类的问题,但到了二面的时候,面试官对技术栈要求和深度要求,明显比第一面要高的多,对性能测试、Linux/Shell 命令、以及移动 App、小程序等测试技术都有所涉及,由于当时自己的技术栈还不够全面,所以没有能够继续走下去。
在第三次面试的时候,我已经在学习了有一段时间了,技术栈也得到了明显的弥补,一路闯关到第五面。这里简单总结下面试中印象深刻和自己回答的不太好的问题,供自己回顾学习,也提供给其他同学参考。
一面
1.首先介绍下个人经历(面试官都喜欢从个人经历当中寻找问题来提问候选人)
2.进程与线程的区别
3. HashMap和HashTable的区别
4. SpringBoot框架的优缺点
5.算法:蚁群算法
6.算法:是否知道堆排序及其原理
7. Linux打包指令
8. Wait和Sleep 的区别
二面.
1.性能测试指标有哪些?
2.性能测试中什么情况内存过高,但CPU使用率不高?
3.性能测试中什么情况CPU使用率高,但内存占用不高?
4. TCP和UDP的区别?
5. App的测试工具知道哪些?
6.知道哪些设计模式,在I具开发当中有用到什么测试模式?
7. SQL和MySQL的区别
三面
1.个人经历介绍
2.性能测试的指标.
3.悲观锁和乐观锁
4.数据库事务
5. MySQL的优缺点
6.做接口测试框架的实现时,遇到哪些问题?是如何解决的?
四面
1.个人经历介绍
2.是否对带团队有要求?
3…上班路程问题
4.对自己有什么职业规划?
5.为什么从上一家公司离职?
五面
1.说一下自己负责的业务测试链路
2.说一下对本公司的看法
3.说一下对本公司的期望
4.说一下在团队管理当中有没有碰到什么难题?
5.说一下常用的团队管理模型
6.说一下在团队管理过程中是否有被投诉过?
7.什么时候可以入职?
三次面试经验总结
其实面试时,我更多的是抱着持续学习的态度,但最终也比较幸运的拿下了理想的 Offer,能加入这么优秀的测试团队,后续对自己的要求也会更高,希望能够继续加强自己技术栈的积累。
最后
近期也算是抽取出大部分休息的时间,为大家准备了一份通往大厂面试的小捷径,准备了一整套软件测试复习面试的刷题以及答案,我知道很多同学不知道怎么复习,不知道学习过程中哪些才是重点,其实,你们经历过的事情,小梧也经历过,正应为经历过,所以不愿意看到还有万千学子为此伤神,也许这篇文章帮不到万千学子,但是能够在CSDN这个平台上帮助到正在看这篇文章的那个迷茫的你! 我也就满足了!
我也花费好几个月收集整理了各大厂常见面试题N道,你想要的这里都有内容涵盖:测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等 16 个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份 PDF 拿下众多大厂的 offer,今天在这里总结分享给到大家!
耗时45天才整理出《软件测试核心笔记》,足足5000页,已全部打包在网盘里了,小编这篇分享篇幅可能有点长,观看的朋友可以先了解一下目录在文末自行拿取哦。
通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:
第一部分,测试理论(测试基础+需求分析+测试模型+测试计划+测试策略+测试案例等等)
第二部分,Linux( Linux基础+Linux练习题)
第三部分,MySQL(基础知识+查询练习+万年学生表经典面试题汇总+数据库企业真题)
第四部分,Web测试
第五部分,API测试
第六部分,App测试
第七部分,管理工具
第八部分,Python基础(Python基础+编程题+集合+函数+Python特性等等)
第九部分,Selenium相关
第十部分,性能测试
第十一部分,LordRunner相关
第十二部分,计算机网络
第十三部分,组成原理
第十四部分,数据结构与算法
第十五部分,逻辑题
第十六部分,人力资源
软件测试的步骤是什么?
如何录制测试脚本?
应该考虑进行如何测试的测试方法
怎样估计测试工作量?
测试设计的问题
当测试过程发生错误时,有哪几种解决办法?
测试执行的问题
测试评估的目标
如何提高测试?
C/S模式的优点和缺点
grep和find的区别? grep 都有哪些用法?
查看IP地址?
创建和删除一个多级目录?
在当前用户家目录中查找haha.txt文件?
如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
动态查看日志文件?
查看系統硬盘空间的命令?
查看当前机器listen 的所有端口?
统计python源代码文件中代码行数,去除注释,空行,进行输出?
python调用cmd并返回结果?
冒泡排序
1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
判断 101-200 之间有多少个素数,并输出所有的素数
一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
…
你用的Mysql是哪个引擎,各引擎之间有什么区别?
如何对查询命令进行优化?
数据库的优化?
Sql注入是如何产“生的,如何防止?
NoSQL和关系数据库的区别?
MySQL与MongoDB本质之间最基本的差别是什么
Mysql数据库中怎么实现分页?
Mysql数据库的操作?
优化数据库?提高数据库的性能?
什么是数据的完整性?
Web测试和app测试区别?
WEB测试环境搭建和测试方法
WEB测试教程
WEB测试要点及基本方法
Web测试页面总结
什么是接口
如果模块请求http改为了https,测试方案应该如何制定,修改?
常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
描述TCP/IP协议的层次结构,以及每一-层中重要协议
jmeter,一个接口的响应结果如下:
接口产生的垃圾数据如何清理
依赖第三方的接口如何处理
测试的数据你放在哪?
什么是数据驱动,如何参数化?
你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
服务端性能分析都从哪些角度来进行?
如何理解压力测试,负裁测试以及性能测试?
如何判断是否有内存泄漏及关注的指标?
描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
简述什么是值传递,什么是地址传递,两者区别是什么?
如何开展自动化测试框架的构建?
如何设计自动化测试用例:
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的过程?
写出某个网段的网络地址和广播地址?
…
你的测试职业发展是什么?你自认为做测试的优势在哪里?
你找工作时,最重要的考虑因素为何?
为什么我们应该录取你?
请谈谈你个人的最大特色。
一个测试工程师应具备那些素质和技能?
还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
为什么选择测试这行?
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,只需要你点下方进群即可。