网站建设销售是什么/广州:推动优化防控措施落
我今年25岁,专业是电子信息工程本科,19年年末的时候去面试,统一投了测试的岗位,软件硬件都有,那时候面试的两家公司都是做培训的,当初没啥钱,他们以面试为谎言再推荐去培训这点让我特别难受。
后面我就随波逐流去做了芯片测试,做了应该有大半年,发现不太适合我自己,于是开始反省,自己未来的路怎么走呢?
在朋友的推荐下自学了一下Python,也尝试了测试相关的工作,后面上网查了一下,发现软件测试还是比较好上手,也比较适合自己的。
后面在网上瞎逛,进了一个测试交流群,在里面认识了不少行业的大佬,我跟他们说想学自动化,他们综合分析了我的情况后,推荐我从基础开始学起。
其实我也发现没有测试经验直接上手自动化是比较艰难的,所以还是挺感谢他们指引了我学习的方向。
我自学了一下Python,也尝试了测试相关的工作,后面上网查了一下,发现软件测试还是比较适合自己的。
后面在网上瞎逛,进了一个测试交流群,在里面认识了不少行业的大佬,我跟他们说想学自动化,他们综合分析了我的情况后,推荐我从基础开始学起。
20年国庆休假,在网上找了许多学习资料,在群里前辈的帮助下,整理了正确的学习路线,我开始正式学习软件测试。
从白天到晚上,不是在学就是在学的路上,从测试理论到实战操作,大大小小的问题,在群里前辈的帮助下,总是能很快解决。慢慢的,测试方法,用例设计,web测试,app测试,接口测试。虽然离技术大牛还差很远,但是找一份初级测试工程师的工作应该完全没有问题。
到年前我基本都学完了,本打算2月底出去找工作,可是天公不作美,只好一边上班一边复习。
从笔记到公开课,从项目到前辈们的各种面试题、还有之前的期末考试,都过了一遍,再着重看那些出现频率比较高的面试题。
我是5月8号离职开始面试,一开始难免有些心慌,面久了发现其实这些自己都有学过,突然之间有了莫名的信心。大概面试了一周多,我就4面拿下了阿里15K的offer。面试过程也是坐过山车一样刺激,特别是三面,真是惨不忍睹的过程!但是还好自己准备充足,足以应对面试官挑剔又刻薄的提问!
其实我觉得面试官的问题大部分都是相通的,只要业务熟悉,测试技能可以,自动化或者性能方面有过进阶性的了解
面试官就会以业务技术还有能力可持续发展性这几个方面进行筛选考核,除此之外,他们也会对个人的稳定性以及期望薪资跟自身能力是否对得上做一个了解。
从以前的6K到转行之后的15k,我信了那句话,越努力越幸运!
三面大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了(呜呜呜~)。回来之后把这些题目做了一个分类并整理出答案(强迫症的我~狂补知识~)分为软件测试基础、Python自动化、性能测试、安全测试等,接下来分享一下我的这阿里面试的面经+一些我的学习笔记。
字节一面:
什么是软件测试?
软件测试过程中会面向哪些群体?
开发一个软件都要经过哪些阶段?
什么是黑盒测试,什么是白盒测试?
一个测试工程师应具备哪些素质?
什么是C/S,什么是B/S?
什么是后台?
与工程师出现冲突,如何解决?例如:工程师因项目时间冲突导致有多个bug要解决,此时如何与工程师正确的沟通?
输入三个整数,判断三个整数能否构成一个三角形,请设计出相应的测试用例。
字节二面:
你所了解的黑盒测试方法有哪些?并简单介绍下其应用场景?
简述常用的bug管理或者用例管理工具,并且描述其中的一个工作流程?
什么是正交实验法,使用场景是什么?
请简单描述测试工具loadrunner、selenium、QTP的产品用途,并介绍你在项目中实际用到的功能模块?
简述selenium grid的作用?
高质量的自动化脚本应该具备哪些特性?
编写测试计划文档的目的是什么?测试计划文档的内容主要包括哪些?并简单介绍其作用?
项目某一轮系统测试完成后,达到系统测试结束的参考指标或规则通常有哪些?
Unix/Linux查看所有属于java进程的命令是?并将其批处理杀掉?
Linux/unix查看内存的命令是什么?查看某文件末尾五行的命令是什么?
java中sleep()和wait()的区别?抽象类和接口的主要区别是?
QTP中的RO和TO的区别?谈谈你生成某业务功能模块的QTP脚本具体操作步骤?
关于selenium中,查找某个页面元素的常见方法有哪几种?对于窗体和页面框架:frame切换用什么方法?
RobotFramework框架中设置变量有几种方式?
RobotFramework框架中调用各种cmd命令,用什么关键字?
写出你常用的测试工具有哪些?
介绍下你所经历的开发-测试-代码上线的整个相关流程?并简单描述下此流程
字节HR面:
你的测试发展是什么?你自认为做测试的优势在哪里?
你找工作时,最重要的考虑因素为何?
为什么我们应该录取你?
一个测试工程师应具备哪些素质和技能?
如果我雇用你,你能给部门带来什么贡献?
你在五年内的个人目标和职业目标分别是什么?
你在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
您还有什么想问的吗?
总结了下自己今年的面试情况:
不论是面试哪个级别的测试工程师,面试官都会问一句“会编程吗?有没有自动化测试的相关经验?”
说到底,软件测试行业还是属于技术岗位,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,行业天花板也在逐渐升高,只会点点点的测试员们越来越难在行业立足,逐渐会被自动化测试工程师和测试开发工程师所取代。
本来心情是极差的,朋友的一番话点破了我,说到底,还是我的技术不够,只懂一些自动化测试基础,会很容易被淘汰或被取代:由于市场大批量流入这些不合格的自认优秀的测试员,使得多数公司不得不降低了期望,但是真正有实力的测试员,基本没有受到什么影响,要跳槽还是很容易的。如果对现在的工作不满意,又没有足够的经验,不妨先静下心来进修一番。
面试过程需要注意什么?
1.跟着面试官的节奏回答问题
在面了这么多场后发现,语速很重要,由于我平常说话都是很快的,所以在面试过程中一般「语速」都比较快,但是有些面试官会比较喜欢稳扎稳打的,语言这种东西在字里行间中也会体现出一个人的性格,当一场面试进行了 10 多分钟左右,你就可以「根据面试官的反馈来调整」自己的语速,能力固然重要,但是面试结果还是掌握在面试官手里的,对不?即使通过了后面的面试到了谈 offer 的时候,之前面试官对你的评价也是很重要的。
2.让面试官跟着自己的节奏来问
这点也是非常重要的一点,尽管你面试可能会有 4~5 轮,但是还是没有办法完全的挖透你,在面试官问到某个问题时,如果你对某个问题了解的比较深入,那么你就「可以抛出更多的知识点让面试官去追问」
比如你在回答锁升级的时候可以自己扩展到锁标志位,通过锁标志位还可以扩展的对象的内存布局,通过内存布局还可以扩展到不同操作系统对于内存布局的存储大小
通过一个个深入知识点的抛出以及面试官的追问,既可以让面试官发现你是一个平常都会去深入学习的人(每天一个小心机)
3.避重就轻,快速逃离
这点也很重要,如果遇到某个不会的问题时,立马过,不要犹豫,因为整个面试时间是固定的,在某个你不会的问题上停留太久可不是一个明智的选择,一定要放大自己的优点,让面试官的问题能够尽量精准命中你的知识体系内
4.学会猜
学会猜,这个要怎么理解,我给大家再举个例子
比如面试官问到你一个问题,如果你不会,该怎么办
这个时候就要学会猜了,你「可以给面试官说下跟问题相关的其他内容」,以及有哪些问题,然后根据 特性,去猜下它是大概怎么回答的,这个地方「即使答错了也没关系」,因为「面试从来不是要考倒你,而是要看看你会什么,你自身的特性是否满足这个岗位」
5.别紧张,放轻松
测试岗位,沟通能力是非常非常非常重要的一点
怎么才能不紧张?「多练,多说」,没有捷径
6.先面小公司
把自己喜欢的公司放到后面,「先面小公司扫扫盲」,找下手感,「或者让周围技术比较好的朋友多帮自己模拟面试一下」,尽量扩宽或者加深一下自己的知识体系,好久没面试也要锻炼下自己的沟通,好在后续面试能够正常或者超常发挥~
最后面经奉上
如果想转行互联网IT行业的,软件测试是一个不错选择!
这份笔记包括软件测试理论,liunx基础,MySQL、web测试,接口测试,APP测试,管理工具,Python,selenium相关,性能测试,lordrunner,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源等等资源。以及软件测试面试中需要注意的问题。
俗话说得好,他山之石,可以攻玉,多看多借鉴还是有帮助的,这次腾讯也在疯狂招人!肝完这些,30k+妥了!
下面分享我整理的这份2023年可能是最全的软件测试工程师发展方向知识架构体系图。
1、Python 编程与测试开发技术
2、Web自动化测试基础
3、APP自动化测试基础
4、Postman测试工具专题
5、接口自动化测试基础
6、自动化框架封装
7、持续集成
8、Jmeter 性能测试
9、APP性能测试
10、Fiddler 抓包工具的使用
11、TCP/IP协议详情
12、计算机操作系统
13、Linux 系统操作
14、MySQL 数据库
15、RobotFramework 自动化测试框架
16、跨平台的自动化测试框架
上面就是我为大家整理出来的一份软件测试知识架构体系图。
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
相关文章:

字节软件测试岗:惨不忍睹的三面,幸好做足了准备,月薪15k,拿到offer
我今年25岁,专业是电子信息工程本科,19年年末的时候去面试,统一投了测试的岗位,软件硬件都有,那时候面试的两家公司都是做培训的,当初没啥钱,他们以面试为谎言再推荐去培训这点让我特别难受。 …...

【编程基础之Python】5、安装Python第三方模块
【编程基础之Python】5、安装Python第三方模块安装Python第三方模块为什么需要安装第三方模块Python包管理器介绍pippip installpython -m pip installcondaconda install在Windows环境中安装Python模块安装numpy安装pandas安装matplotlib在Linux环境中安装Python模块在PyCharm…...

JavaScript 教程导读
JavaScript 是 Web 的编程语言。所有现代的 HTML 页面都使用 JavaScript,可以用于改进设计、验证表单、检测浏览器、创建cookies等。JavaScript 非常容易学。本教程将教你学习从初级到高级JavaScript知识。JavaScript 在线实例本教程包含了大量的 JavaScript 实例&a…...

BigDecimal
文章目录1. BigDecimal 的舍入模式(RoundingMode)1.1 ROUND_UP1.2 ROUND_DOWN1.3 ROUND_HALF_UP1.4 ROUND_HALF_DOWN1.5 ROUND_CEILING1.6 ROUND_FLOOR1.7 ROUND_HALF_EVEN1.8 ROUND_UNNECESSARY2. BigDecimal的运算——加减乘除2.1 加法 add()函数 减法…...

代码随想录【Day15】|102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树
102. 二叉树的层序遍历 题目链接 题目描述: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 难点: 思路: 需要借用一个辅助数据结构即队列来实现…...

Python学习笔记:快速上手:基础知识
快速上手:基础知识 数和表达式 除法 >>> 1 / 2 0.5 >>> 1 / 1 1.0整除 >>> 1 // 2 0 >>> 1 // 1 1 >>> 5.0 // 2.4 2.0求余(求模): x % y 等价于x - ((x // y) * y)。 …...

excel学习笔记-导入外部文件,报错,数值格式变换,日期格式的转化,求和快捷键,冻结窗格
这里写目录标题一、导入外部文件1.导入csv文件2.导入txt文件3.修改txt内容,需要刷新才能看见更改二、报错三、数值格式变换四、日期格式的转化五、ALT ,求和快捷键六、冻结窗格一、导入外部文件 1.导入csv文件 2.导入txt文件 3.修改txt内容,…...

06 OpenCV‘阈值处理、自适应处理与ostu方法
1 基本概念 CV2中使用阈值的作用是将灰度图像二值化,即将灰度图像的像素值根据一个设定的阈值分成黑白两部分。阈值处理可以用于图像分割、去除噪声、增强图像对比度等多个领域。例如,在物体检测和跟踪中,可以通过对图像进行阈值处理来提取目…...

月薪过万的那些人,大部分都是做什么工作的?
三百六十行,行行出状元。不管是什么行业,月薪过万都是有的。只不过有些行业就是比较容易出现月薪过万,换句话说,就是这个行业内出现月薪过万的人数比较多。先说结论,综合来看月薪过万的这部分90后,大部分集…...

csgo搬砖项目,门槛最低的副业就是它(内附入门知识及选品技巧)
CSGO搬砖如何选择游戏饰品(装备)?相信很多朋友一定很关心这个问题,因为如何选品直接关系到该装备是否快速出售,而且也关系到账号整体盈收状况。那么今天阿阳就来好好聊聊如何选择Steam装备以及饰品的各项知识点。 Steam搬砖如何选…...

【闲聊杂谈】高并发下基于LVS的负载均衡
1、使用http协议进行网络请求 在前几年公布的用户入网数据中,移动入网的数量已经达到六七亿的规模,固网用户数也达到三至五个亿。想要解决这么大并发访问的场景,有多种的解决方案,常规有基于4层的,也有基于7层的。这个…...

Redis新数据类型
目录 Bitmaps 简介 命令 Bitmaps和set对比 HyperLogLog 介绍 命令 Geospatial 简介 命令 Bitmaps 简介 现代计算机用二进制(位)作为信息的基本单位,1个字节等于8位。合理的使用和操作位可以有效的提高内存的使用率和开发效率。 redis提供了Bitmaps这个"数据类…...

使用Python绘制股票CCI指标曲线
本文使用Python语言绘制一只股票的CCI(Commodity channel index)曲线,论文参考《Commodity channel index: Tool for trading cyclic trends》,该指标可以用来测量股价、外汇或者贵金属交易是否已超出常态分布范围, …...

【C语言技能树】浮点数在内存中的存储
Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...

Spring框架源码(五) @configuration源码深度解析
Configuration 注解是spring-context模块提供的一个给开发者使用的配置类注解,开发者可以通过Configuration注解来定义配置类,也可以使用xml形式注入。 例如配置数据库配置,定义一个配置类,注入数据源DataSource, 事务管理器Trans…...

gcc/g++从入门到精通(3)gcc头文件、库搜索路径方式全面盘点
🎀 关于博主👇🏻👇🏻👇🏻 🥇 作者简介: 热衷于知识探索和分享的技术博主。 💂 csdn主页::【奇妙之二进制】 ✍️ 微信公众号:【Linux 世界】 🎉精彩专栏: 🎓 【面向工作git基础教程】 🧡 【C++11新特性深入剖析】 📚【shell脚本编程基础与...

Android Studio多渠道打包及自动化构建
Android 有不同的应用市场,也就是不同的渠道,需要为每个应用市场打一个安装包,但主要的代码是一样的,可能部分资源不一样,部分代码不一样,如果每个渠道都需要修改,然后打包,非常耗时…...

基于MATLAB的MIMO信道估计(附完整代码与分析)
目录 一. 介绍 二. MATLAB代码 三. 运行结果与分析 一. 介绍 本篇将在MATLAB的仿真环境中对比MIMO几种常见的信道估计方法的性能。 有关MIMO的介绍可看转至此篇博客: MIMO系统模型构建_唠嗑!的博客-CSDN博客 在所有无线通信中,信号通过…...

Python代码游戏————星球大战
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 一.Python介绍 二.游戏效果呈现 三.主代码 四....

java向Word模板中替换书签数据,插入图片,插入复选框,插入Word中表格的行数据,删除表格行数据
java向Word模板中替换书签数据,插入图片,插入复选框,插入Word中表格的行数据,删除表格行数据 使用插件:spire.doc 创建工具类,上代码: import com.spire.doc.Document; import com.spire.doc.…...

Java基础知识快速盘点(二)
一,类型转换 隐式转换 将一个类型转换为另一个类型时,系统默认转换常量优化机制算术运算时类型的隐式转换(byte,short在算术运算时都会转换为int)char类型在进行运算时会根据其编码值进行运算 显式转换 二࿰…...

企业降本增效的催化剂:敏捷迭代
伴随着开源技术的大爆发,新一代的软件技术如雨后春笋般层出不穷。每家企业在硬件及软件开发上都有许多开源技术可选,目的还是在于提高效率,降低开发成本。 本篇文章,带大家了解下促进企业降本增效的重要理念:敏捷迭代…...

MySQL入门篇-MySQL高级窗口函数简介
备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊MySQL高级窗口函数 窗口函数在复杂查询以及数据仓库中应用得比较频繁 与sql打交道比较多的技术人员都需要掌握 如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本 分析函数有3个基本组成…...

什么是 API(应用程序接口)?
API(应用程序接口)是一种软件中介,它允许两个不相关的应用程序相互通信。它就像一座桥梁,从一个程序接收请求或消息,然后将其传递给另一个程序,翻译消息并根据 API 的程序设计执行协议。API 几乎存在于我们…...

如何在外网访问内网的 Nginx 服务?
计算机业内人士对Nginx 并不陌生,它是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,除了nginx外,类似的apache、tomcat、IIS这几种都是主流的中间件。 Nginx 是在 BSD-like 协议下发行的&…...

vue2中defineProperty和vue3中proxy区别
区别一:defineProperty 是对属性劫持,proxy 是对代理对象 下面我们针对一个对象使用不同的方式进行监听,看写法上有什么不同。 // 原始对象 const data {name: Jane,age: 21 }defineProperty defineProperty 只能劫持对象的某一个属性&…...

将bean注入Spring容器的五种方式
前言 我们在项目开发中都用到Spring,知道对象是交由Spring去管理。那么将一个对象加入到Spring容器中,有几种方法呢,我们来总结一下。 ComponentScan Component ComponentScan可以放在启动类上,指定要扫描的包路径;…...

C生万物 | 常量指针和指针常量的感性理解
文章目录📚引言✒常量指针🔍介绍与分析📰小结与记忆口诀✒指针常量🔍介绍与分析📰小结与记忆口诀👉一份凉皮所引发的故事👈总结与提炼📚引言 本文我们来说说大家很困惑的两个东西&am…...

python 打包工具 pyinstaller和Nuitka区别
1.1 使用需求 这次也是由于项目需要,要将python的代码转成exe的程序,在找了许久后,发现了2个都能对python项目打包的工具——pyintaller和nuitka。 这2个工具同时都能满足项目的需要: 隐藏源码。这里的pyinstaller是通过设置key来…...
Python解题 - CSDN周赛第28期
上一期周赛问哥因为在路上,无法参加,但还是抽空登上来看了一下题目。4道题都挺简单的,有点遗憾未能参加。不过即使参加了,手速也未必能挤进前十。 本期也是一样,感觉新增的题目都偏数学类,基本用不到所谓的…...