面试过了,总结测试工程师面试题(含答案)

📝 博主首页 : 「码上生花」 ,同名公众号 :「伤心的辣条」

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:


 

普通二本计算机专业毕业,从毕业后,第一份接触测试的工作是在一家通讯小公司,大部分接触的工作是以功能测试为主,一直都是几千块钱工资,还一度被派出差,以及兼职各种产品、运维、运营的活,感觉自己都不像一个测试人员。求个安稳,就这样“混”了2年。不愿意就这样堕落,想要不断提升自己。

在入职这家公司前,也就是两年前,我就开始规划了我自己的人生,所以在两年时间里,我并未懈怠。

现如今,我已经跳槽到了阿里,顺利拿下 offer。自己的情况很普通,本科文凭,没有背景,分享这次我的经历,想鼓励和我同样起点的人!

人人都有大厂梦,对于程序员来说,BAT 为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让人瞻仰。

不过有人失业也有人就业,大厂核心赛道还不是一直在招人,关键就是如何进入核心赛道——提升自我核心价值,拥有不可替代能力!!

阿里面试题(技术部分)

1.linux基本语句

2.http/https 协议相关

3.沟通能力,推动工作中常见问题的能力

4.数据库修改字段,连表查询

5.过往做过项目的深入度

6.返回码及问题出处

7.接口请求方式及区别(post/get)

8.charles一直访问固定参数、打断点

9.H5测试是通过哪里看接口数据的 ,如何定位问题是前端还是后端;安卓测试和iOS测试的区别

10.怎么用jmeter做单接口测试,怎么判断总结接口的参数

11.行测题 两个沙漏,一个7分钟,一个11分钟,如何保证两个沙漏15分钟漏完? 8个球,1个球比较轻,可以用天平秤,用最快的方式秤出比较轻的球 2个蜡烛,每个蜡烛可以烧1个小时,请问怎么烧得到15分钟

12.用例设计(考虑的异常类型,覆盖度,发散度):朋友圈点赞,朋友圈评论,微信发红包(比如余额为—3,定义前后端问题),朋友圈小视频,微信转账,抖音点赞,音乐播放器页面 滴滴出行从a点到b点测试用例,抖音短视频版本升级添加点赞和评论的功能做一条case设计。

13.个人做过项目的每个模块都描述清楚。linux,adb命令,测试流程,接口测试怎么测试的这些了。

14、怎么用fiddler定位问题,比如余额为-3,怎么判断问题

15、fiddler 如何抓取https的包,如何进行弱网模拟,如何修改请求参数返回参数,如何连接手机安卓和ios(回答出代理)

16、接口入参和出参都没有改变,接口逻辑变化,该如何测试

17、liunx命令 解压缩包 查日志 日志信息过滤

18、数据库索引,关系型数据库非关系型数据库,为什么要用 非关系型数据库

19、索引了解么,简单说下索引原理 什么时候加索引 (结合业务说下什么时候用到索引 怎么使用的)

20、接口测试如何开展 怎么测试 测试方法是啥

21、并发出现问题怎么优化(看你定位问题的思路)

22、你接口自动化如何实现的

23、你说一下你项目 怎么测试的

24、还有购物车 商品数量对的,到了订单页面就少了如何定位,

25、还有购物车,结算,购物车商品都没问题 形成的支付完成的订单商品少了 怎么办,怎么定位 实际就是考察如何定位问题:

26、还问了python 的等等号和is得区别

分清阶段,制定计划

从我大学之后,我清晰到自己的现状,也明白要想改变自己的人生,那就要懂得去规划。所以,从我实习工作开始,就已经对自己的职业生涯开始进行了一个规划,而我的规划很清晰地分成了几个阶段,也把每个阶段的目标和重心确立了下来。

  • 第一阶段:0~3 年;我给自己的第一个时间就是 3 年时间,3 年完成第一次跳槽,而且需要跳到更大的平台。

  • 第二阶段:3~7 年;确立自己的发展方向,自动化测试工程师、测试开发、性能测试 或者安全测试均可,但我知道,无论是朝哪个方向发展,技术知识的储备一定要系统完善。

  • 第三阶段:7~未来;这个阶段,我应该完成了自己的发展方向,这个时候需要思考人生,或者继续自己的爱好,享受生活,也或者开始进行创业。

软件测试人员掌握哪些技术可以立马跳槽涨薪?

1、文档能力:各种文档的编写能力

因为不管是功能测试工程师还是自动化测试工程师都必须要跟各种文档打交道,所以最基本的需要掌握一些常用的文档编辑的使用,比如说:

  • 常用编写测试用例的工具:excel表格或者wps等
  • 编写需求分析需要的工具:xmind思维导图,可以迅速梳理思路和分析测试需求点,从而更快的完成需求,覆盖需求,使用操作简单,还支持各种到处格式

  • 测试用例脚本代码编辑器IDE:Visual Studio Code ,pycharm, sublime等

  • 文件管理器:Q-Dir,是一个多窗口的文件浏览器,操作简单,使用高效,特别是多种目录之间跳转复制粘贴的情况可以提高很大的工作效率

  • 文件搜索工具:Everything ,一个非常轻量级的搜索工具,而且速度快,定位文件的时候必选之一,而且支持文件所有详细信息,比如路径大小等

  • 截图工具:Snipaste ,因为有时候经常会在提交缺陷报告的时候,需要提交一些备注信息,比如bug复现,体现形式这个时候我们就可以使用一些比较优质的截图工具辅助我们更高效快速的截图,而且可以加上文字信息,图像操作,等等

  • 文件解压工具:7zip,因为测试人员经常要和各种文件打交道,避免不了传输交互,所以解压和压缩也是必须要使用到的所以推荐这个工具因为开源免费,并且体积小,传输快,基本的解压压缩格式也都具备,用起来比较方便。

  • 编写工具Typora Markdown:支持各种语法,能够渲染后及时展示效果,提供了不同的模式提升编写效率。

2、项目能力:

很多人在自学完网上的测试课程之后想去找工作但是没有一些实际的项目经验,所以简历项目经历写起来就寸步难行。由于各大招聘网站上百分之90以上的公司都有标明,是需要有项目经验和工作经验的,比如经常动不动就是3年起步,五年八年一抓一大把,那么作为自学者对于项目的测试经验肯定是缺乏的,有些人就随意写或者不写,这样是很难拿到面试邀请的。

所以如何获取项目的能力非常重要,如果有需要的小伙伴可以进群:748833197,里面有完整的软件测试学习资料和18个软件测试的中大型实战项目,我们把一些大型测试项目各种类型发给你去联系实战,实际公司中的项目技术。

这些资料中涉及到的测试内容非常广泛,项目类型也非常丰富,这些实战项目都是企业级别的,所以如果能够独立完成项目的各种测试工作内容,基本上离高薪就业工作就不远了。

3、编程知识:

操作系统:Windows,Linux需要掌握最基本的操作系统的基本操作比如在不同的操作系统中去搭建测试环境和开发环境等

数据库:最基本Mysql需要熟练掌握,比如常见的增删改查等

编程语言:java或者python可选一门熟练掌握,主要用来编写自动化的脚本,比如接口自动化或者web自动化等

4、接口测试:

掌握主流测试工具

  • Jmeter:一款开源的性能测试工具,操作简单,方便,既有jdbc request操作数据库数据,也有http request和soap request应对测试

  • Postman:谷歌浏览器的扩展工具,谷歌商店中选中安装,界面同poster差别不大,界面简洁

  • RestClient:Firefox上一款用于测试各种Web服务的插件,它可以向服务器发送各种HTTP请求(用户也可以自定义请求方式)

  • fiddler抓包工具:是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie、html、js、css等文件)。

5、自动化测试框架:

Selenium:是一个用于Web应用程序测试的工具。

特点和优势:

A.开源软件:源代码开放可以根据需要来增加工具的某些功能

B.跨平台:linux 、windows 、mac
C.核心功能:就是可以在多个浏览器上进行自动化测试 

D.多语言:Java、Python、C#、JavaScript、Ruby等
E.成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用
F.功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

Appium:是一个自动化测试开源工具。

主要用于做app移动端自动化测试的工具,支持iOS和android平台上的移动原生应用、移动Web应用和混合应用。

Appium还是一个跨平台工具,它允许测试人员使用同样的接口、基于不同的平台写自动化测试代码,大大增加了测试套件间代码的复用性

6、性能测试

测试工具常用的Jmeter或者loadrunner,主要用于性能场景设计、性能分析及调优

Loadrunner:它可以验证下系统或者项目的特性环境下是否满足性能需求,然后通过测试,达到性能指标,并且可以调整项目环境,进行性能测试使项目性能达到最优。

Loadrunner里面有丰富的组件,一般测试流程是创建脚本->设计场景->运行场景->分析结果,需要掌握如何创建脚本,录制脚本,手工写脚本,以及参数化脚本等

大厂软件测试岗经验分享

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

全网首发-涵盖16个技术栈

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

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

第三部分,MySQL(基础知识+查询练习+数据库企业真题)

第四部分,Web测试

第五部分,API测试

第六部分,App测试

第七部分,管理工具
第八部分,Python基础(Python基础+编程题+集合+函数等等)
第九部分,Selenium相关
第十部分,性能测试
第十一部分,LordRunner相关
第十二部分,计算机网络
第十三部分,组成原理
第十四部分,数据结构与算法
第十五部分,逻辑题
第十六部分,人力资源

软件测试基础:

软件测试的步骤是什么?
如何录制测试脚本?
应该考虑进行如何测试的测试方法
怎样估计测试工作量?
测试设计的问题
当测试过程发生错误时,有哪几种解决办法?
测试执行的问题
测试评估的目标
如何提高测试?
C/S模式的优点和缺点
B/S模式的优点和缺点

Linux:

grep和find的区别? grep 都有哪些用法?
查看IP地址?
创建和删除一个多级目录?
在当前用户家目录中查找haha.txt文件?
如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
动态查看日志文件?
查看系統硬盘空间的命令?
查看当前机器listen 的所有端口?

Python:

统计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:

你用的Mysql是哪个引擎,各引擎之间有什么区别?
如何对查询命令进行优化?
数据库的优化?
Sql注入是如何产“生的,如何防止?
NoSQL和关系数据库的区别?
MySQL与MongoDB本质之间最基本的差别是什么
Mysql数据库中怎么实现分页?
Mysql数据库的操作?
优化数据库?提高数据库的性能?
什么是数据的完整性?

Web:

Web测试和app测试区别?
WEB测试环境搭建和测试方法
WEB测试教程
WEB测试要点及基本方法
Web测试页面总结

接口测试:

什么是接口
如果模块请求http改为了https,测试方案应该如何制定,修改?
常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
描述TCP/IP协议的层次结构,以及每一-层中重要协议
jmeter,一个接口的响应结果如下:
接口产生的垃圾数据如何清理
依赖第三方的接口如何处理
测试的数据你放在哪?
什么是数据驱动,如何参数化?

性能测试:

你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
服务端性能分析都从哪些角度来进行?
如何理解压力测试,负裁测试以及性能测试?
如何判断是否有内存泄漏及关注的指标?
描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
简述什么是值传递,什么是地址传递,两者区别是什么?
什么是系统瓶颈?

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的过程?
写出某个网段的网络地址和广播地址?

人力资源:

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

上面就是我整理出来的一份全套学习笔记。希望大家能在这个成长过程中收益良多。全方位提升测试技术,建立一套属于自己的技术体系。帮助大家不断学习和优化技术栈,跟进先进和主流的测试技术,给到大家带来的不仅仅是技术和薪资的提升,更多的是改变测试人在IT技术领域的地位和心态,拔高测试行业的技术深度。


 

最近很多朋友都在说今年的互联网行情不好,面试很难,所以我创建了一个交流群:748833197,希望优秀的软件测试宝子们都可以聚集在一起,大家可以一起解决软件测试难题、面试难题、以及工作上的问题、以及利用这次机会提升自己的能力!!!

此外,我也会分享软件测试面试经验,跳槽、转行信息。

posted @ 2024-11-11 20:32  码上生花  阅读(65)  评论(0编辑  收藏  举报