毕业4年,克服三次瓶颈,最终成功从字节跳动成功跳到阿里!经验分享

news2024/11/25 18:42:54

  介绍下自己的测试历程吧,普通本科,毕业4年, 去年成功转型测试开发,总结一下测试心得。

平凡的大学生活

我大学期间属于并没有什么出众的,按部就班,老实办事的那种学生,我导师对我们那届的学生比较散养, 只要完成导师给的任务,毕业是问题不大的,所以学术产出一般(学术产出拿到校二等奖学金),一个专利+一个EI+一个DSP会议。

暑假就开始在实验室复习计算机网络、数据结构、C语言、操作系统、通信等知识,准备迎接8月份开始校园招聘。 而同实验室也有同学去报编程辅导班的,后面校招就去了大公司。

误打误撞从事测试岗位

校园招聘开始了,肯定优先考虑大厂呀,像华为、中兴、腾讯、百度、阿里等都投了简历(但是当时对bat并没有报希望,自己几斤几两清楚的很,所以只是贵在参与, 但是对中兴华为还是挺有信心的,主要是专业对口,而且做的准备工作充足)。

果不其然,阿里简历没过,腾讯百度笔试没过,至此bat全军覆没。当然我也并不意外。 接下来是华为面试,投的是技术支持岗,依稀第一轮面试问了很多通信专业知识, 这个回答的没啥大问题,但是也没有亮点。本以为能进入二轮面试,可惜没给机会。

说实话当时面试结束后挺失落了。毕竟准备了这么久,没想到二轮都没有进。接下来中兴测试岗位面试类似, 进了二轮,但是三轮没过,所以当时大家追逐的“大厂”都与我无缘。所以也开始准备各种“小众厂”。毕竟面试多了,经验也充足了,下定决心只投软件测试。

最终拿到了杭州的一家金融科技软件公司和成都的一家通信芯片公司软件测试岗位。 待遇杭州比成都的offer机会多了2000,加上杭州当时有高学历人才补贴,所以就去了杭州(为什么不留成都,虽然毕业时候已经决定将来在成都买房,但是当时想着外面工作几年后长长见识再回成都,没料到如今成都房价这么高,上车又难, 当然这是后话)。

初入职场

毕业来到公司,被分到公司的创新业务部门,测试小组6个人,就我一个新人。刚开始工作内容web测试, 也就是对着页面点点点,学习jmeter写各种测试用例(提升测试覆盖率,为了完成组内kpi要求 )。带我的是一个工作几年的同事,至今还记得参与第一个项目时候,测出一个bug时候还有点小兴奋。

但是工作了2个月不到,就开始对这种工作内容产生厌倦了,重复度太高,感觉自己就是个机器人 , 除了越来越熟悉业务,看不到太多成长,完全是浪费时间。

对,这是第一次遇到瓶颈!!!

克服第一次瓶颈:养成自动化思维

虽然当时是测试,但是我当时的认知是开发只是还是要学, 所以我平常下班后也会自学spring mvc,Java web编程、redis等似乎当时看起来没什么用的东西来充实自己,经常学习到凌晨,周末也花一天在家学习。(现在想想,当时也走了很多弯路, 学东西都是靠百度Google,没有系统性学习。虽然也掌握了些开发技能,但是并不牢固。)

对于测试上遇到的瓶颈,我就和同组的老同事交流,问他们是否也曾遇到类似的瓶颈,如何克服瓶颈期的? 有个同事的回答似乎一下子点醒了我,他说的就俩字“偷懒”。然后我就很好奇这是什么意思,怎么个偷懒法。然后就聊起来了Python,可以使用Python写测试脚本,比如造数据,结合selenium做ui自动化。这是我第一次听到Python, 通过他给我看的他写的批量造数据脚本瞬间生成成百上千条数据,当时感觉这玩意肯定有用,有大用处。

然后我就下班自学Python编程, 开始尝试写简单脚本,比如利用pymysql操作数据库,利用selenium做ui自动化。虽然当时老板在组内不鼓励做UI自动化,但是抱着好奇与学习的心态还是自学了下,也基于项目开发了case。但结果不出所料, 需求变动频繁不适合做UI自动化,利用selenium写自动化以及维护自动化用例成本太高,所以没有解决手工测试重复度高的根本问题。

但是通过学习Python和UI自动化,提升了认知,原来很多工作是可以通过Python代码解决的, 对这就是自动化思维(虽然也学习过Java,但是诚心讲,它不适合写批量的测试脚本) 。后面的工作就养成了一种思维,遇到重复度高的内容(重复度>3),第一时间去思考是否能通过自动化手段解决。

克服第二次瓶颈:进入大厂

转眼工作了快一年半,虽然年中绩效还不错,而且还拿了部门的一个测试奖,但是觉得在团队里很难再提升了, 因为当时能接触到的开发相关知识、运维知识自己也都熟悉一些,还有就是当时测试在项目中话语权低,部门老板不太重视,测试很难推行一些质量改进工作,所以觉得自己可以看看更大的平台。 (因为我们团队测试经常出差驻场甲方爸爸,像搭环境、部署产品、问题解决都是测试一个人搞,简直把自己逼成了“全能王”)。

开始准备面试:网上找各种测试面试经验、面试问题。也针对几个中意的大厂找了面经。

然后投了xx银行、OPPO、字节跳动。对,都在上海,经常出差上海的我慢慢喜欢上了这座城市, 与其出差来这里,不如工作在这里。

xx银行最早面试,周六从刚杭州坐高铁现场面试,一次性三面,当时的老板对我比较满意,给我聊了下他们团队的规划,团队的实力(有很多大厂背景的), 但是给的薪资,考虑到上海物价,扣除花销等于从杭州平移到上海,所以我放弃了这个offer。

然后就是OPPO,字节跳动,这两家公司几乎是同时在面试,最终先拿了字节跳动的offer,OPPO终面也就放弃了,和他们hr说明了原委。

克服第三次瓶颈:转型测开

来到字节跳动,老板也很好, 他也给予很多帮助和成长机会,比如团队管理、自动化测试以及参加测开大会、对外的学习与交流。字节期间最大的成长就是承担团队自动化测试owner, 推动了我们团队从手工测试向自动化测试转型。

来到字节一年,有过一次涨薪,不得不说, 字节对于付出多、高产出的员工真的是很大方,真的不差钱,涨薪幅度也是挺豪气。

上海虽好,但是上海这座城市购房压力太大,结合自己实际情况,还是决定去成都发展,虽然不舍字节, 但是还是要考虑未来的生活质量。

然后就开始寻求公司内部转岗的机会,看到成都有互娱团队测试/测开机会,就和老板沟通了一下意向, 很欣慰他也遵循我的意愿同意我转岗。

第一次测开转型尝试-内部转岗XX团队,虽说是内部转岗,但是面试难度丝毫没有降低,因为前期在头条圈看到的转岗率多高多高的帖子,所以这次转岗并没有针对性XX团队侧重的技术面 (偏移动端,而我工作内容web中台、工具开发,在字节几乎没接触移动端)做一些准备,最终结果也是不好的,面试没通过, 至今觉得挺遗憾的,如果做足准备,转岗概率还是蛮高的。

第二次测开尝试-尝试阿里巴巴测开,第一次的失利,总结了很多经验,也为后面进入阿里打下了基础。 比如多线程、高并发、leetcode、spring mvc等,这些都是测开岗必考题,一面问的技术问题更多些,二面回结合项目穿插一些技术方面的问题, 例如如何利用xx技术解决高并发的问题等,简单贴一下部分面试题目。

1.了解多线程吗?了解Python的GIL锁吗?
2.说一下进程和线程
3.线程安全
4.进程间通信的方式有哪些?
5.程间通信?
6.说一下什么是乐观锁和悲观锁?
7.AOP
8.什么是IOC?
9.list和map相关
10.解释一下工厂模式?
11.内存泄漏
12.性能测试
13.会做性能测试吗?容量测试/稳定性测试?
14.线程间的通信机制

最终如愿以偿拿到offer,在成都已经很知足了。除了薪资,更重要的是测试开发的机会,毕竟阿里在业界质量保证基础建设是相当完善的,能够在阿里接触更多成熟的测试技术和来自项目上的挑战。

开始灌鸡汤啦

1.瓶颈普遍存在

感谢瓶颈,瓶颈就是机会。

每个人在发展过程中,都会遇到各种瓶颈,有瓶颈是好事,表示你渴望成长,只要多和身边的“高阶“同事多沟通,多听建议,他们是可以给到你很多帮助的。

2.选择很重要,努力更重要

没有努力谈选择等于空谈!!!

选择一个平台很重要,遇到一个好老板更重要,但是前提是你要准备好给你选择机会的“基础”,真的很感激Z哥。

3.持续学习决定你能走多远

养成持续学习的习惯。

学历只能代表过去,工作上更重要的是要不断学习。持续学习能力决定一个人能走多远,它主要体现在:归纳分析能力;思维创造力;时间管理能力;自律能力等方面,养成这些习惯,对于一个人的成长至关重要,也是克服成长路上遇到瓶颈的“杀手锏”。

4.多学博客多记录工作历程

Writing is Thinking。所写即所思。

你是不是有时候感觉很懂一个东西,但是给别人分享时候,却表达的不怎么样。其实根因就是你并没有想象的那样了解了一个技术。尝试把它们写出来吧。

5.“三思而行”

在大公司,牛人很多,你的所思/问别人的问题决定别人对你的看法。

浅显的问题无需提,要锻炼看问题本质的能力,多问一些深刻的问题。

建议大家遇到每个问题 都先说服自己,多问一下自己这是what、为什么是这样why,怎么解决How。

下面分享我整理的这份2023年可能是最全的软件测试工程师发展方向知识架构体系图。

一、测试基础

了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维

二、Linux必备知识

Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。

三、Shell脚本

掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数

 

四、互联网程序原理

自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理

五、MySQL数据库

软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。

六、抓包工具

Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的

 

七、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman

 

八、Web自动化测试Java&Python

了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理

 

九、接口与移动端自动化

专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用

十、敏捷测试&TestOps构建

揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

 

十一、性能测试&安全测试

软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!

看完这篇内容后,相信以下两件事,也会对你的个人提升有所帮助:

1、 点赞,让更多人能看到这篇文章,同时你的认可也会鼓励我创作更多优质内容。

2、 让自己变得更强:想一想,如果你想在测试这个行业一直做下去,你的经验和测试技术是远远不够的,你需要进阶,你需要丰富你的技术栈!还等什么!
 

资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 

在这里插入图片描述

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627735.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iOS 17(SwiftUI 5.0)带来的图表(Charts)新类型:“大饼”与“甜甜圈”

概览 WWDC 2023 为我们带来了 iOS 17,也为我们带来了 SwiftUI 5.0。 在 SwiftUI 新版中,Apple 增加了很多重磅功能,也对原有功能做了大幅度升级。 对于 Charts 框架, 新增了饼图(Pie)类型并且加入了图…

容器镜像差异分析工具 container-diff

概述 container-diff 是google出的一个容器差异比较工具,通过这个工具可以比较两个镜像之间存在的文件差异、RPM包差异、apt包差异、pip包差异和node包差异。 container-diff 也包括了对单个镜像分析能力,像文件分析啊、apt包、rpm包分析等功能。 在日常…

Python爬虫——怎么搭建和维护一个本地IP池

目录 背景 一、什么是本地代理IP池 二、代理IP池功能架构图 三、各个组件功能说明及示例代码 1. IP池管理器 2. 代理IP获取器 3. IP质量检测器 4、数据存储器 5、API接口层 6、应用程序 总结 背景 在我们进行爬虫工作时,经常需要使用代理IP。大多数代理…

unity2d粒子特效

文章目录 前言先看效果一、2d平台雨1. 配置2. 图片素材3. 最终效果 二、脚步灰尘效果1. 配置2. 代码调用3. 效果 三、受伤血液四溅效果1. 配置2. 效果 待续四、工程源码五、参考六、完毕 前言 我只是我抽空写了一些简单的2d粒子特效,后面如果接触新的不错的2d特效&a…

Maven 安装

一. 下载 apache官网下载 Maven:Maven – Download Apache Maven ,根据需要下载不同压缩包。 将压缩包进行解压,最好放在无中文目录下解压。 二. 安装 三. 配置 1. 配置maven本地仓库 打开解压后的文件夹,找到conf文件夹&#…

银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景

为了贯彻国家普惠金融政策,使金融如无惠及广大群体,宇宙技术在金融行业中的应用将进一步提升金融消费体验感觉和金融管理水平。打造元宇宙金融服务平台,构建虚实结构的金融服务世界,培育和管理好数字机器人员工队伍,提升金融业务各…

postman登录鉴权之接口测试

一.背景 在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回。 以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态…

Django - 页面静态化和crontab定时任务(二)

一. 前言 一个网页会有很多数据是不需要经常变动的,比如说首页,变动频率低而访问量大,我们可以把它静态化,这样就不需要每次有请求都要查询数据库再返回,可以减少服务器压力 我们可以使用Django的模板渲染功能完成页面…

app反编译查看是否被混淆或者混淆是否成功

同时打 debug包和release包,生成的目录在build->output文件夹下面 一般直接运行的apk 包是在build/intermediates/apk/debug 目录下 方法1:Android studio 安装插件jadx build成apk 后 直接选中 右键 在Jadx GUI中反编译 就可以查看代码 方法2&…

距离保护的影响因素

1、汲出电流和助增电流的影响 当保护安装处与故障点之间有分支电源时,如图所示,分支电源将向故障点K送短路电流ICB,使流过故障线路的电流IBKIAB ICB,大于实际流过保护1的电流IAB,所以ICB称作助增电流。 由于助增电流的…

第一章操作系统引论

目录 一、熟悉的操作系统 二、计算机系统的层次结构 三、操作系统的概念 四、操作系统的功能 4.1 系统资源的管理者 4.2 向上层提供方便易用的服务 4.2.1 GUI:图形化用户接口(Graphical UserInterface) 4.2.2 命令接口 4.2.3 程序接…

当杠精型AI丈夫遇上阴阳怪气AI老婆,你的代码玩得转吗?

玩趣味活动 赢千元奖金 DataFountain社区首个趣味活动来啦!!! 活动已发车,来不及解释了,先上车:https://www.datafountain.cn/information/activity/3 人工智能问答爆火,你的算法技能储备跟上…

达梦数据库ODBC配置及达梦与mysql创建DBLINK测试

目录 官网ODBC配置... 3 1、ODBC下载官网... 3 2、上传安装包并解压... 3 3、安装odbc. 3 4、安装依赖... 4 5、再次执行安装即可... 4 6、查看版本及配置文件... 4 Mysql-ODBC配置... 5 一、达梦服务器... 5 1、下载odbc包... 5 2、安装... 6 3、报错... 6 4、先…

STM32——01-开发软件Keil5及STM32CubeMX的安装

1.1开发环境的安装 编程语言:C语言 需要安装的软件有两个:Keil5和STM32CubeMX 安装 安装包(不需要太新,以 MDK324 为例,最新的 MDK327 有问题) 安装过程一路下一步即可(建议不要安装在 C …

Gitlab集成jira

实现功能 gitlab提交和合并分支,会自动将comment信息提交到JIRA上的相关问题的页面gitlab可以修改jira上问题的状态 集成说明 gitlab集成Jira 按项目集成,因此gitlab上的每个项目对应jira上的对应项目由项目管理员(一般为接口人&#xff…

如何用Python开发QQ机器人

前言 虽然该文最终是达到以python开发mirai机器人的目的,但起步教程,尤其是环境配置上仍然有大量的相同操作,对其他编程语言仍有借鉴之处 假设你已经安装好了 Java、Python等运行必须的环境 mirai生态 mirai官方生态文档 要使用mirai开发…

【tableau】基础图形绘制

4.5 文字云 第一步: 想要突出显示的字段拖入 “标签”,如 客户名称 第二步: 展示大小的字段拖入“大小”,默认黑色 第三步:展示大小的字段拖入“颜色”,颜色不是喜欢的,可以右侧编辑颜色 4.6…

Vue中如何进行地图展示与交互(如百度地图、高德地图)?

Vue中如何进行地图展示与交互 随着移动互联网的普及,地图应用已经成为人们生活中不可或缺的一部分。在Vue.js中,我们可以使用第三方地图库(如百度地图、高德地图)来实现地图的展示和交互。本文将介绍如何在Vue.js中使用百度地图和…

IDEA整合GO并传module工程

IDEA整合Go 安装包环境配置idea配置并创建test mode 安装包 1.去官网下载对应还的安装包 官网下载地址 我选择下载的window 版本: 直接按照对应的目录,然后点击下一步 环境配置 1.配置go环境变量 在高级环境变量PAHT中添加安装包的**/bin 目录&…

主流自动化测试框架,这5种真的帮助巨大。

今天我们要向大家介绍的是常见5种主流自动化测试框架,包括优缺点等内容,供大家参考学习。 1.ATF 自动化测试框架AutoTestFramework是B/S架构框架,可实现Selenium等多种自动化测试全流程、团队化管理的高级框架平台,通过集成自动化…