曾经的阿里P8,如今失业找不到工作要老婆养

Posted 自动化软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了曾经的阿里P8,如今失业找不到工作要老婆养相关的知识,希望对你有一定的参考价值。

在一个女人眼中,作为一个男人最让她看不起的是什么?

吃软饭!至少我媳妇是这么认为的。

这不,一位女网友发帖称:“老公曾经是阿里P8,年龄大了实在找不到工作,问我是否愿意养他”。她末尾处那句,“中国几千年男尊女卑,男强女弱,男人养女人天经地义,女人养男人也不是不能养,但就是心里别扭。”让人看了唏嘘不已,一位阿里P8级别的软件测试员竟然沦落到如此地步。

大龄软件测试员真的这么“惨”?

曾经我在鹅厂工作时一位领导他对大龄测试员的看法我是比较认同的。他的意思是如果你超过30岁还在一线死磕技术,别说薪水涨不动,可能最后你连饭碗都会保不住。

他认为,目前国内99%以上的公司没有核心技术。大家能做的就是应用层的测试,基本不会涉及框架。而应用层的东西本身就不复杂,培训机构出来工作两、三年大部分工作都可以胜任。

换句话说就是很多人工作3年以后,技术就已经到了天花板。这也是为什么近年来,很多互联网公司裁员先会瞄准大龄测试员的原因,也从侧面解释大龄测试员找工作难这个问题。因为招聘他们公司付出的工资成本和想要的技术能力完全不成正比,讲的通俗一点就是“性价比太低”。

那大厂35+后大家都在干嘛?

我盘点了身边的一些厂友,发现主要是这5个出路。

1、在大厂“混”得风生水起,当上了管理层。

身边认识的那么多朋友,只有一位走上了这条路。他除了专业水平和综合能力极强之外,更重要的运气也不错,遇到了欣赏他的大BOSS,向上要得到资源,向下被拥护支持。自己负责的项目发展迅速被寄予厚望,职位也越来越接近管理核心,这种人只能说是万中无一,不具有普遍性。

2、各种因素离开大厂,最后选择创业。

创业这条路身边人选择还是挺多的,有主动的也有被动的,感觉各占一半吧。成功的不多,失败的也不算多,大多是“半死不活”的状态。所以说,离开了大厂平台光环,做成事难太多了。但不管怎么说,我还是挺佩服这些人,毕竟人家是凭本事吃饭。

3、年龄大了,在大厂能待几天就拿几天工资,战战兢兢的大头兵。

每天很焦虑,因为他们知道自己是裁员主力群体,年薪普遍大几十万,干着和校招小白一样的活,还要和这些小年轻比熬夜,比工作量…。生怕下一次毕业轮到自己头上,也清楚这是迟早的事。这个群体在自己身边还不少。

4、降薪去国企,或者去中小厂。

去国企的有几个,但薪水一言难尽,工作量也不算太低,毕竟他们是干活主力军。去中小厂的也有几个,他们心态是干到彻底没人要再说。

5、送外卖、开滴滴甚至让老婆养…

身边无。

行业趋势

这两天和朋友谈到软件测试的行业趋势,随着转行以及毕业的大学生疯狂涌入软件测试行业。想要获得更好的待遇和机会,不断掌握新的技能,提高业务能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。不论是面试哪个级别的测试工程师,面试官都会问一“会编程吗?有没有做过自动化测试?”,所以还停留在功能测试层面,不去提升技术,还要面临长江后浪推前浪的压力。就只能接受窘境,最后甚至是面临淘汰。更别说升值加薪了

所以如何从功能测试到自动化测试,达到技术提升的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对学习过程中的困难深有体会。所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、自学方法、心得及踩过的一些坑,记录下来。一是更好的梳理自己,二也是能做到更好的社区分享。

自动化测试学习路线:

自动化测试工具使用->Python编程->测试框架->测试框架开发

一、自动化测试工具使用

首先是测试工具的使用,比如说我要去进行web自动化是不是我要去进行自动化测试环境搭建,环境工具。比如说去安装Python安装,这些环境安装。

至于AppUI自动化,除了上面的一些技能还要会比如说adb的命令,app的环境,app的压力测试之类的。

接口测试其实也是一种功能测试,但是它并不等于功能测试,因为对于接口测试的话也分为

  1. 接口功能测试(需要借助工具进行测试);
  2. 接口压力测试;
  3. 接口安全性测试。

而且接口的功能测试是需要借助工具来完成,工具的话就有比如:Postman、Jmeter;抓包的工具fiddler等。

软件相关的工具安装包,都可以去文末我的公众号里领取,自行下载!

二、Python编程语言

编程语言的能力会决定你测试技术的深度,我当时学的是Python语言,了解编程的都知道Python对新人比较友好,相比其他编程语言来说会比较简单。

在网上找了很多的学习资料和学习视频,但是学起来就会遇到很多问题,没有人能帮我解答,还有很多编程的相关知识,也不太懂,自己一个人学起来很费劲的。容易从入门到放弃

所以也是到处去找那种软件测试的学习社区,有幸遇到了一位测试行业的技术大佬,进到了一个很不错的学习交流群内,里面有很多人都和我一样想要提升,所以都在一起学习,有什么问题都会在群里相互讨论、技术交流,这也极大的提高了学习效率。

Python是软件测试进阶的第一步,我们需要掌握Python编程语法,具有一定的编码能力,为基础自动化测试做准备,其次还要掌握Python在自动化中的应用、掌握代码的函数封装、类封装的技能。

三、测试框架

我们还要懂测试框架,Selenium,appium,unittest,pytest,这都是一些开源的框架你至少要懂中间的一到两个。

比如说做WebUI自动化的话,我要懂Selenium+python;做AppUI自动化的话,我要懂appium+python。

如果是进行接口测试的话肯定也是需要去做一个接口的框架,比如:requests。

✪ 测试框架开发

一般一个框架的诞生过程会经过三个阶段:

1、学会使用

大致了解框架的使用,可以去看框架的官方文档,一般里面都有详细的介绍,安装之后便可以开始尝试直接拿它来做项目。

2、阅读源码

想要提升自己的能力、达到进阶的效果,当然不能只局限于框架的使用层面上。需要自己多花几周甚至几个月的时间去阅读框架的源码,这样有助于框架使用过程的各种问题的处理和排查。

3、自研框架

自研框架的要求就比较高,一般都是企业对性能有极高的要求,所有的开源或商业的框架都无法满足公司需求才会走上自研的道路。我们可以尝试分析整个框架性能瓶颈,用更高性能的语言替换关键模块,或用寻找、研究更好的算法去实现关键功能。

关于这些知识点的掌握肯定是需要自己多花时间和精力的,关于这些学习资料和学习教程你可以在文末我的公众号里获取,还很多录制的视频教程,大佬的讲解非常详细,能够帮助你快速理解与掌握。

根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。

如果说你在自动化测试工程师阶段还想往性能测试方面去进行发展,要求就会更多了,其实性能也是一种自动化。所以第一个你也必须要掌握一门编程语言,第二个语言脚本,第三个指标,第四个调优。

最后分享自动化测试完整版的学习路线


希望想突破瓶颈的你一样,通过我的分享可以少走一些弯路,可以形成一条自己的体系,并应用到实际中。当然,也真心的希望你们升职加薪,因为有面包才会有更好的生活追求。

可能给予你助力的教程

上面是我收集的一些视频和面试题资源,对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你!

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

写在前面

2月初失业,找了近2个多月的工作了,还没找到心仪的工作,感觉心好慌,不知道该怎么办了?找不到工作的时候压力很大,有人说自信会很受打击,还有人说会很绝望,是人生的低谷……尽管很多时候我们自己知道,我不是找不到工作,只是找不到理想中的好工作。但这也不能改变你的空白期正在一天一天变长,不妥协的那份坚定正在一天一天动摇的事实。

朋友推荐给我这份文档,狂刷五遍之后,最近刚刚获得字节跳动等多家公司的offer,今天将这份文档分享给大家,希望正在找工作或准备找工作的朋友都可以获得自己心仪公司的offer。

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

java核心知识点文档

这份文档包含Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等

由于pdf文档里的细节内容实在过多所以只编辑了部分知识点的章节粗略的介绍下,每个章节小节点里面都有更细化的内容!以下就是部分章节目录,由于头条的篇幅限制目录上的详细讲解也无法一一列出,文末有获取以下章节的所有详细知识讲解。

JVM

  1. 线程
  2. JVM内存区域
  3. JVM运行时内存
  4. 垃圾回收与算法
  5. JAVA 四种引用类型
  6. GC分代收集算法 VS 分区收集算法
  7. GC垃圾收集器
  8. JAVA IO/NIO
  9. JVM 类加载机制

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

 

JAVA集合

  1. 接口继承关系和实现
  2. List
  3. ArrayList(数组)
  4. Vector(数组实现、线程同步)
  5. LinkList(链表)
  6. Set
  7. HashSet(Hash表)
  8. TreeSet(二叉树)

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

JAVA多线程并发

  1. JAVA并发知识库
  2. JAVA线程实现/创建方式
  3. 4种线程池
  4. 线程生命周期(状态)
  5. 终止线程4种方式
  6. sleep与wait 区别
  7. start与run区别
  8. JAVA后台线程
  9. JAVA锁
  10. 编程基本方法
  11. 同步锁与死锁
  12. 线程池原理
  13. JAVA阻塞队列原理
  14. CyclicBarrier、CountDownLatch、Semaphore的用法
  15. volatile关键字的作用(变量可见性、禁止重排序)
  16. 如何在两个线程之间共享数据

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

JAVA基础

  1. JAVA异常分类及处理
  2. JAVA反射
  3. JAVA注解
  4. JAVA内部类
  5. JAVA泛型
  6. JAVA序列化(创建可复用的Java对象)
  7. JAVA复制

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Spring 原理

  1. Spring 特点
  2. Spring 核心组件
  3. Spring 常用模块
  4. Spring 主要包
  5. Spring 常用注解
  6. Spring第三方结合
  7. Spring IOC原理
  8. Spring APO原理
  9. Spring MVC原理
  10. Spring Boot原理
  11. JPA原理
  12. Mybatis缓存
  13. Tomcat架构

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

由于篇幅限制小编,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)直达文末有获取方式!

微服务

  1. 服务注册发现
  2. API 网关
  3. 配置中心
  4. 事件调度(kafka)
  5. 服务跟踪(starter-sleuth)
  6. 服务熔断(Hystrix)
  7. Hystrix断路器机制
  8. API管理

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Netty 与RPC

  1. Netty 原理
  2. Netty 高性能
  3. Netty RPC实现
  4. 关键技术
  5. 核心流程
  6. 消息编解码
  7. 通讯过程
  8. RMI实现方式

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

分布式缓存

  1. 缓存雪崩
  2. 缓存穿透
  3. 缓存预热
  4. 缓存更新
  5. 缓存降级

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

网络

  1. 网络7层架构
  2. TCP/IP原理
  3. TCP三次握手/四次挥手
  4. HTTP原理
  5. CDN 原理
  6. 分发服务系统
  7. 负载均衡系统
  8. 管理系统

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

日志

  1. Slf4j
  2. Log4j
  3. LogBack
  4. Logback优点
  5. ELK

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Zookeeper

  1. Zookeeper概念
  2. Zookeeper角色
  3. Zookeeper工作原理(原子广播)
  4. Znode有四种形式的目录节点

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Kafka

  1. Kafka概念
  2. Kafka数据存储设计
  3. partition的数据文件(offset,MessageSize,data)
  4. 数据文件分段segment(顺序读写、分段命令、二分查找)
  5. 数据文件索引(分段索引、稀疏存储)
  6. 生产者设计
  7. 负载均衡(partition会均衡分布到不同broker上)
  8. 批量发送
  9. 压缩(GZIP或Snappy)
  10. 消费者设计

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

RabbitMQ

  1. RabbitMQ概念
  2. RabbitMQ架构
  3. Exchange 类型

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Hbase

  1. Hbase概念
  2. 列式存储
  3. Hbase核心概念
  4. Hbase核心架构
  5. Hbase的写逻辑
  6. HBase vs Cassandra
  7. MongoDB
  8. MongoDB概念
  9. MongoDB特点

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Cassandra

  1. Cassandra概念
  2. 数据模型
  3. Cassandra一致Hash和虚拟节点
  4. Gossip协议
  5. 数据复制
  6. 数据写请求和协调者
  7. 数据读请求和后台修复
  8. 数据存储(CommitLog、MemTable、SSTable)
  9. 二级索引(对要索引的value摘要,生成RowKey)
  10. 数据读写

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

设计模式

  1. 设计原则
  2. 工厂方法模式
  3. 抽象工厂模式
  4. 单例模式
  5. 建造者模式
  6. 原型模式
  7. 适配器模式
  8. 装饰器模式
  9. 代理模式
  10. 外观模式
  11. 桥接模式
  12. 组合模式
  13. 享元模式
  14. 策略模式
  15. 模板方法模式
  16. 观察者模式
  17. 迭代子模式
  18. 责任链模式
  19. 命令模式
  20. 备忘录模式

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

负载均衡

  1. 四层负载均衡 vs 七层负载均衡
  2. 负载均衡算法/策略
  3. LVS
  4. Keepalive
  5. Nginx反向代理负载均衡
  6. HAProxy

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

数据库

  1. 存储引擎
  2. 索引
  3. 数据库三范式
  4. 数据库是事务
  5. 存储过程(特定功能的SQL 语句集)
  6. 触发器(一段能自动执行的程序)
  7. 数据库并发策略
  8. 数据库锁
  9. 基于Redis分布式锁
  10. 分区分表
  11. 两阶段提交协议
  12. 三阶段提交协议
  13. 柔性事务
  14. CAP

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

一致性算法

  1. Paxos
  2. Zab
  3. Raft
  4. NWR
  5. Gossip
  6. 一致性Hash
  7. 一致性Hash特性
  8. 一致性Hash原理

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

JAVA算法

  1. 二分查找
  2. 冒泡排序算法
  3. 插入排序算法
  4. 快速排序算法
  5. 希尔排序算法
  6. 归并排序算法
  7. 桶排序算法
  8. 基数排序算法
  9. 剪枝算法
  10. 回溯算法
  11. 最短路径算法
  12. 最大子数组算法
  13. 最长公共子序算法
  14. 最小生成树算法

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

数据结构

  1. 栈(stack)
  2. 队列(queue)
  3. 链表(Link)
  4. 散列表(Hash Table)
  5. 排序二叉树
  6. 红黑树
  7. B-TREE
  8. 位图

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

加密算法

  1. AES
  2. RSA
  3. CRC
  4. MD5

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Hadoop

  1. Hadoop概念
  2. HDFS
  3. Client
  4. NameNode
  5. Secondary NameNode
  6. DataNode
  7. MapReduce
  8. JobTracker
  9. TaskTracker
  10. Task
  11. Reduce Task 执行过程
  12. Hadoop MapReduce 作业的生命周期
  13. 作业提交与初始化
  14. 任务调度与监控。
  15. 任务运行环境准备
  16. 任务执行
  17. 作业完成

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Spark

  1. Spark概念
  2. 核心架构
  3. 核心组件
  4. SPARK编程模型
  5. SPARK计算模型
  6. SPARK运行流程
  7. SPARK RDD流程
  8. SPARK RDD

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

Storm

  1. Storm概念
  2. 集群架构
  3. Nimbus(master-代码分发给Supervisor)
  4. Supervisor(slave-管理Worker进程的启动和终止)
  5. Worker(具体处理组件逻辑的进程)
  6. Task
  7. ZooKeeper
  8. 编程模型(spout->tuple->bolt)
  9. opology运行
  10. Storm Streaming Grouping
  11. ResourceManager
  12. NodeManager
  13. ApplicationMaster
  14. YARN运行流程

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

云计算

  1. SaaS
  2. PaaS
  3. IaaS
  4. Docker
  5. Openstack
  6. Namespaces
  7. 进程(CLONE_NEWPID 实现的进程隔离)
  8. Libnetwork与网络隔离
  9. 资源隔离与CGroups
  10. 镜像与UnionFS
  11. 存储驱动

 

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)一键三连(点赞+收藏+关注)

以上是关于曾经的阿里P8,如今失业找不到工作要老婆养的主要内容,如果未能解决你的问题,请参考以下文章

学习是为了找工作?

程序员失业2个月找不到工作,狂刷了5遍这份pdf终获字节跳动offer

阿里工作7年,肝到P8就剩这份学习笔记了,已助10个朋友拿到offer

35岁之后找不到工作怎么办?GitHub标星3.2K

AI失业潮来袭,某些部门裁员过半

工作那些事(十三)再次失业