这位小学弟得到了两个工作机会,一个是名气大的华为,一个是名气小点的普通互联网企业,但是名气小的企业薪资开的高。这下他就不知道怎么选了。
从交谈中我可以明显的感觉到他是想去后面那家名气小点但是薪资开的更高的小公司,他可以得到2万元以上的工资。但是他又担心小公司不稳定。相比之下,华为虽然开的少了些,但是会比小公司稳定很多。
其实我很能理解他的心情,老实说,小公司开的20K+对我都还有很大的诱惑力,刚何况是他这样刚进入社会的应届生呢?但是我还是想对说:鱼与熊掌不可兼得,熊掌更加值钱。如果不是家里负债几十万,那就还是选择华为吧。
他还把这件事发到了网上平台上,热情的网友建议和我一样,都建议他选择华为。;
去华为,小公司市场的稳定性不好,和人员流动比较大,虽然华为加班严重,只要相关工作内容是适当的,去主要的互联网公司, 小公司可能去二线互联网公司,除非特别优秀,负责发展有限,学到的东西也有所不如的。
我相信很多人现在肯定有疑问,一个应届生凭什么有这么高的工资?华为都能进呢?别急,我来给你解答
第一个就是面试,面试对于很多应届生来说是一个难题,应该不只是应届生,很多在社会上摸爬滚打好多年的人都谈虎色变,但是你想找到一份高薪的工作就必须要通过面试,而且越好的企业,面试程序越繁琐,也难度有越大。
那么如何解决面试难题,找到一份心仪的高薪工作呢?
第一点:心态
首先一个,心态要好,要相信自己,稳住不要慌
第二点:基础知识
初级软件测试工程师专业技能储备
1)了解计算机以及软件测试相关的基础知识
a.计算机基础知识
计算机组成部分,操作系统分类,常见的系统架构(B/S和C/S),常用的DOS命令
b.软件测试基础理论知识
软件测试的目的、定义、原则,产品质量模型,软件测试的基本流程
2)常用的Linux命令
在软件测试中,有时候需要我们自己去搭建测试环境,或者是在服务器部署自动化项目。而服务器基本都是使用Linux系统的,所有我们需要掌握一些基础的Linux命令
3)SQL语句
在软件测试中,测试结果的校验或者自动化中的测试数据准备,都会操作数据库来完成。所以对于数据库的最基本的增、删、改、查的SQL语句,需要能够独立完成编写
4) 手工测试用例的编写(最重要)
作为一个软件测试工程师,最基本的要求就是用例编写的能力。如何编写出一份高覆盖率,低重复率的测试用例,是初入软件测试行业应该去不断追求的能力。
5 ) 缺陷的管理
了解在团队中,如何管理测试人员提出的BUG,从而保证项目的BUG能够及时被修复
掌握以上的技能,对于一个初入软件测试行业的同学而言,就肯定可以站稳脚跟了。
中级软件测试工程师专业技能储备
1、接口测试相关专业技能
无论是自动化测试还是性能测试,甚至之后往测试开发方向发展,最基础的就是针对接口进行测试。所以要想做好中级软件测试工程师,第一步就是能够完成接口测试。
1)接口以及接口测试相关的理论基础知识
包括接口及接口测试的概念,接口测试的原理,接口测试的流程,http协议,Restful接口风格。这些内容都需要有所了解
2)接口工具的使用:Postman和Jmeter
接口测试,可以使用代码,也可以使用工具。通常情况下,接口测试最多还是使用工具来完成.原因无他,“高效”。
3)抓包工具:Fiddler和Charles
在测试过程中,我们为了定位前后端的问题,就会使用抓包工具,查看接口返回的结果。从而定位问题是前端的,还是后端的。
这两个工具,我们一般二选一去学习就可以了,因为他们的作用都是一样的。
2 . 编程语言学习
自动化测试的实现方式,主要还是依赖代码来完成的。所以要能进行自动化测试,首先需要掌握一门编程语言。目前行业主流的自动化测试的编程语言为python和java。我个人推荐python,因为对于新人而言,上手的难度比较低一些。如果可以全天学习,python也就差不多10天就能入门
3、自动化测试学习
Python学完以后,我们就可以开始自动化测试方面的学习。
自动化测试的目的,主要还是为了降低回归测试的时间。
软件测试中的自动化测试,分为UI自动化和接口自动化。
通过以上的学习之后,我们再来看你具备哪些能力?
1.SQL语句,Linux常用命令
2.手工测试用例的编写以及缺陷的管理
3.使用抓包工具进行前后端问题定位
4.使用Postman或Jmeter进行接口测试
5.使用Python进行接口/UI自动化测试
高级测试工程师需要掌握的知识点这一阶段你需要加宽你的知识体系,同时更加深入的了解前段进阶,代码质量,测试架构,微服务及中间件,容器化,自动化测试设计,测试架构,CI/CD,测试左移,测试阶段,测试右移。
测试开发和研发岗的区别,其中一点就是研发更注重深度,而测开更注重广度。
比如:你要了解CI/CD,因为你做的测试平台/工具,可能需要接入到CI/CD的流水线,或者运维的监控系统中
再比如:你做性能测试的时候,如果你对架构设计的核心知识不了解,那么在做全链路压测,服务降级等测试的时候,可能就会遇到很多问题难以解决。
找到一份测试开发JD来对照,也可以看到这个岗位对中间件,性能测试。私有化平台都有了解。
除了加宽你的知识体系,还需精进你的代码能力。
简而言之,大厂Java用的多,如果你想去大厂,基本上就得熟悉Java,不然面试很容易被pass掉。
第三点:面试题
设计用例的方法、依据有那些?
非关系型数据库和关系型数据库的区别,谈谈优势比较?
在自动化方面有什么成熟的方案,有没有做过二次开发?
dubbo接口了解吗,它的测试核心是什么?
一个测试工程师应具备那些素质和技能?
以上问题如果你遇到了,你怎么回答?
1.设计用例的方法、依据有那些?
测试分为白盒测试和黑盒测试,回答时,要注意分开说。白盒测试用例设计有如下方法:基本路径测试、等价类划分、边界值分析、覆盖测试、循环测试、数据流测试、程序插桩测试、变异测试。依据就是详细设计说明书及其代码结构。黑盒测试用例设计方法:基于用户需求的测试、功能图分析方法、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法。依据是用户需求规格说明书,详细设计说明书。
2.非关系型数据库和关系型数据库的区别,谈谈他们的优势?
数据库在测试工作中的重要性相信我不用在这赘述了,需要你对常见的关系型数据库和非关系型数据库的原理理解,而且总结出它们之前的区别与优势。
3.在自动化测试方面有什么成熟的方案,有没有做过二次开发?
测试工程师离不开一个关键字,“自动化测试”,在任何类型的项目或多或少会用到的自动化测试技术。关于前后端自动化测试技术,是否有一套完整的测试框架,技术体系。在开源自动化测试框架的理解上,有一定的开发思维,能进行封装,开源框架上二次开发。能根据项目灵活的打造适合团队的测试框架,这也是测试工程师的能力分水岭的体现
4.dubbo接口有了解吗,它的测试核心是什么?
这是个阿里系的问题,dubbo是阿里开源的一个高性能优秀的服务框架。考验的不仅是对测试技术,做为一个资深测试工程师,你还得了解公司产品的开发基础服务架构.
5.一个测试工程师应具备那些素质和技能?
一个好的测试工程师,不仅要基础扎实,对自身的性格、责任心都有非常高的要求。具体如下:(1)掌握基本的测试基础理论(2)本着找出软件存在的问题的态度进行测试,即客观吧,不要以挑刺形象出现(3)可熟练阅读需求规格说明书等文档(4)以用户的观点看待问题(5)有着强烈的质量意识(6)细心和责任心(7)良好的有效的沟通方式(与开发人员及客户)(8)具有以往的测试经验(9)能够及时准确地判断出高危险区在何处.
这个面试真题太多,篇幅有限就没有全部展示,就挑了几个经典的题目,下图是我整理出来的八百道面试真题!
需要的朋友们关注我的公 众 号【程序员雷子】免费领取真题