一、 转行背景
1.温水煮青蛙的八年

男,1989年生,211理工科。家庭条件一般,从小没啥追求,人比较怂。2013年本科毕业留在上学的二线城市,到2021年,在一家国企里干了8年,分别干过培训,行政,后勤,从专员干到主管,工资从3K一点点升到9K,日子过得虽然省吃俭用,但是时间久了,周围的人都这样,我也就习惯了,正所谓温水煮青蛙。

2.转折点

转折点在结婚后,我傻眼了,发现钱根本不够用,房贷车贷,因为经济原因,不敢生孩子,家庭矛盾频发,公司亏损要降薪,月薪过万遥遥无期。中年危机像一头犀牛撞向我,33岁的我眼冒金星。而我感觉最要命的时候还没来,等有了孩子,等父母老了没法劳动了,那时候才是真正的危机。

3.从初选java到决定大数据

于是从2021年初,我开始自学java,想着转行IT能多挣点钱,哪怕多挣3k,那也比降薪强多了。

当时的我自学java有两个月了,但是对大数据仍然一无所知。我又从网上,以及行业内同学那里了解了下大数据行业的薪资,确实比同年限的java开发要高不少。大概高出30%-50%。于是决定转行到大数据。

二、转行难不难
由于我转行的过程中还需要养家糊口,因此,我只能利用工作之余的时间进行。好在国企比较闲,朝九晚五加双休,因为疫情,还时不时50%在家办公。对于零基础来说,学习编程就像学骑自行车,开头的时候是没有方向感的,也是比较着急的。

等到入了这个行,回过头来才发现,大数据或者说编程,它难但又不太难。

难在于,它跟所有的有一定难度的事一样,入门需要个过程,这个过程,不管有多厉害的人指导你,这个心路历程是少不了的,聪明的人早开窍,一般的人晚开窍,但应该极少有人第一天就开窍。

不太难在于,大数据入门和大数据开发,它还没有到达一个吃天赋的地步。只要上过本科,甚至是专科,都可以学会,在目前这个市场上都可以找到相应的工作。这里我不是说没上过本科或者专科的人就笨,学不会,而是没上过本科专科的情况太复杂,这里没法去准确地断言。

本质上,大数据的各个组件也好,编程语言也好,甚至计算机本身也好,它们本身都是工具,作为普通的程序员,只需要学会这类工具基本的使用,就能进行开发,走上工作岗位。有了这样一个认识,我相信对于不少人克服畏难心理是有一定帮助的。

最终是用了6个月,在9月找到了工作,在国庆后跳槽了,跳槽拿到的offer公司都还不小。他们的app在手机上都是比较常见的,薪资都是在20多k。我因为是边上班边学,加上有一定年龄了,用了6个月。

三、学习的重点
写在罗列重点之前:

在真正转行到大数据之前,一直有一个误区,就是认为所有的重点都需要掌握,这是广度。但是事实上,走上工作岗位才更深刻体会到,深度比广度更重要。

很少有人掌握所有的重点,但是优秀、能够独当一面的大数据开发工程师,一定在某一方面比较熟练精通。

我来说说我的学习路线,以及各个部分之间的关系:

  1. java基础,重要程度⭐⭐⭐

这个是必须掌握,能够理解面向对象,看懂多线程代码,看懂jdbc。因为大数据的组件大都是java语言开发的,我们使用这些组件,虽然不一定需要我们自己造轮子,但是轮子是怎么造的,我们能看懂,还是很有好处和必要的。

零基础的同学建议花上3-4周时间好好学习,练习一下。即使后续做大数据的离线方向,不经常接触java了,但学会了忘掉了,比起没学会还是要强上不少的。之所以是三颗星,而不是四颗星,是因为大部分离线数仓的开发人员,后续接触java的频率还是很少的,尤其是数据分析的人员。实时开发和平台开发会经常用到,接触到。

  1. shell,重要程度⭐⭐

了解一下基本语法,和python了解其中一个就可以了。不要花太多时间在上面,用2-3天了解一下,动手敲敲就行了。要求后续能看懂,能在原有的基础上改进。

  1. linux,重要程度⭐⭐⭐,花上2~3天学习一下。

  2. maven,重要程度⭐⭐,1天,重点了解理解一下依赖和项目管理。

  3. hadoop+zookeeper,重要程度⭐⭐⭐⭐,这是大数据的基础,又分为HDFS、MapReduce、Yarn。建议时长1周。

  4. MySQL+JDBC,重要程度⭐⭐⭐,5天

  5. HIVE,重要程度⭐⭐⭐⭐⭐, 7天

MySQL和HIVE两者用法相近,但本质不是同一个东西,先花5天学完MySQL+jdbc(MySQL增删改查即可),然后再学hive(1周左右)。HIVE是大数据开发最常用的武器,不可以不会。

哪怕你其它的都不会,就会这一个,你也能找到工作。但是这个不会,就会别的,首先不太可能,其次,性价比太低。因为MySQL/HIVE,它的学习成本较低,相对简单易学,使用范围最广,几乎没有之一。

  1. 到这,就可以接触离线数仓项目了,(基于Hive的离线数仓项目),重要程度⭐⭐⭐⭐⭐。如果你和我一样,不是应届生,那么这是你找工作最重要的砝码。大概需要2周。

  2. 辅助组件:flume, azkaban(离线数仓项目会用),sqoop(离线数仓项目会用),这些一共需要大概5的时间学习下,重要程度⭐⭐

到这,就可以找大数据离线这一块的工作了。

当然你也可以选择再花7~8周时间继续往下学习大数据实时部分。

  1. Kafka,如果你选择继续往下学,重要程度⭐⭐⭐⭐,否则⭐

  2. Scala+Spark或者flink,选一样,或者全部。如果你选择继续往下学,重要程度⭐⭐⭐⭐,否则⭐

  3. 基于spark的实时数仓项目,或者基于flink的实时数仓项目。如果你选择继续往下学,重要程度⭐⭐⭐⭐⭐,否则⭐。

  4. 在12的过程中,需要学习和使用redis,hbase,clickhouse,等等一些组件,重要程度⭐⭐⭐。

我个人的情况是学到了13,但是工作中只用到了8这一步。市面上的工作机会,70~80%只需要用到8或者9这一步即可,也就是说,离线数据仓的开发占了大部分。每个人可以根据自己的情况做决定。

  1. 附加项,算法和数据结构。

这个在应届生里面比较重要。但是如果你是社招,不太建议你在入门的时候去啃这一块。因为就算是大厂,大数据开发岗问这一块的也是少数。社招的话,还是项目经验更重要。这个可以在入门以后,作为进阶学习,以图后续更好的发展。

  1. 源码同上。

14、15附加项是需要时间积累的,也是能看出功底的。要想在开发行业扎根,稳定发展,这两样属于绝活。但是年龄大的话不建议在上车阶段就去搞,时间上性价比不高。

四、面试
1.面试问题

我面试过很多的公司,当面试面得多了之后,你会发现大家问的问题大同小异。面经网上有很多,常见问题,一定要熟练掌握,不常见问题,一般也不用去准备了。

对于常见的面试问题,我总结了以下几个方面:

Hadoop的组成,shuffle的过程

Hive的优化

项目的整体流程,细节,以及优化经验

如何保证数据的准确性

数据倾斜的问题

小文件的问题

数仓分层

拉链表

数据更新方式(全量,增量,新增及变化)

各种组件挂掉的处理方式

Hbase的rowkey设计

精准一次性(kafka和flink常见)

Flink窗口,三种时间语义,CEP,watermark,exactlyonce,checkpoint。

数据量

集群规模

各种SQL

由于spark我没有涉及,因此我总结的面试问题,不包括spark及spark项目。

2.面试心态

刚开始面试的时候,心态会比较紧张,这是正常的。当面试了5场以后,就好很多了。面试的时候不会的地方没有关系,保持谦虚有礼貌,非极端情况不和面试官硬刚,一般面试官不会刁难你,我经历过数十场面试,没有遇到过面试官刁难的情况。

3.面试方式

主要分为线上和线下。线上又分为电话和视频。这些都是常见的,正常的面试方式。

4.面试周期

个人认为面试周期在2周这样为妥,如果连续面试两周,超过15场面试,没有找到工作,那么应该进行总结、巩固,1~2周后再进行面试。

五、总结
以上情况,均是基于我33岁,211,男,北京市场的2021年下半年大数据学习和找工作情况。如果你22岁,如果你在上海或者深圳,或者是杭州和成都,情况是略微有差异的。

比如我,我的特点一就是年龄大,对时间比较敏感,同时因为出了学校比较久,学起东西来没有20岁出头那时候快了。因此,像14、15,算法和源码部分我是直接暂时放弃掉了,如果年轻,对时间没那么敏感,还是建议多少掌握一些的,毕竟都是能换来真金白银的东西,也对日后学习和工作大有裨益。

种一棵树最好的时间是十年前,其次是现在,诸君共勉。

源:大数据肌肉猿

我33岁,从国企主管零基础转型大数据开发,年薪涨了20W相关推荐

  1. 二本材料专业,干过销售,当过兵,28岁零基础转型大数据开发进百度,很强势!

    点击上方 "大数据肌肉猿"关注, 星标一起成长 后台回复[加群],进入高质量学习交流群 2021年大数据肌肉猿公众号奖励制度 今天介绍一位学习群同学的大数据转型和面试经历,他是二本 ...

  2. 双非生物医学硕士放弃研究院工作,零基础转型大数据开发

    点击上方 "大数据肌肉猿"关注, 星标一起成长 点击下方链接,进入高质量学习交流群 今日更新| 1052个转型案例分享-大数据交流群 分享学习群一位同学的大数据求职转型经验,他本科 ...

  3. 零基础学习大数据开发需要多久能工作?

    IT行业是最近10年的热点,那么IT行业中的热点又是谁呢?在当今的互联网时代相信没有哪个行业能够出ABC左右,所谓的ABC就是AI + Big Data + Cloud. 当然,这三者中大数据的影响力 ...

  4. 我,32岁零基础转大数据,不需要别人怎么看!

    前言 今天分享学习经历的是学习群里的一位32岁大哥,他本科是计算机的,但毕业之后就待国企拿一个月4K的工资拿了好几年.后面迫于生活的经济压力开始寻求突破口,当别人在群里讨论学不学的时候,他已经开始默默 ...

  5. 零基础转行大数据可行吗?大数据开发需要什么基础呢?

    IT行业发展速度快,市场需求大,而且,程序员薪酬高.福利待遇高,成为很多从业者向往的职业,当然,也刺激了很多非计算机专业的从业者进入该领域.转行进入IT行业在最近的几年一直是个热门,那么对于0基础的求 ...

  6. 推荐零基础学习大数据的10本经典图书

    学习大数据并不是一蹴而就的事情,及时工作多年的开发工程师都需要不断的补充新鲜的知识内容.目前学习大数据知识可以通过视频和图书两种方式学习,视频的优势在于能够将老师的个人开发经验传授给学习者,而图书的优 ...

  7. 2018年零基础学习大数据路线图

    随着大数据越来越火热,薪资越来越高,开始吸引着越来越多的人开始想要投身这个行业.其中有许多朋友的都是大数据零基础,以前并没有接触过大数据相关知识.零基础参加大数据培训难吗?这主要取决于你所学习大数据培 ...

  8. 零基础学习大数据:零基础学习大数据最完整的学习路线

    最近很多人都想学习大数据开发,但是却不知道如何开始学习,今天软妹子专门整理了一份针对大数据初学者的大数据开发学习路线.大数据学习资料分析群119599574 下面分十个章节来说明大数据开发要学习的内容 ...

  9. 零基础学习大数据可以找到工作么?

    现在开始学习大数据晚了吗?现在学习大数据后还好就业吗?随着互联网应用基础的不断普及,大数据技术已经成为互联网企业的标配.大数据技术已经在国内持续火爆了几年的时间.每年都有大量的人才涌入到大数据行业中, ...

最新文章

  1. 大有乾坤,售前机器人背后的 AI 技术
  2. Effective Java之for-each循环优先于for循环(四十六)
  3. 如何给SAP云平台的账号分配Leonardo机器学习服务的实例
  4. java PKCS7Padding 加密Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
  5. Struts2的Action配置的各项默认值
  6. LeetCode 140. 单词拆分 II(DP+回溯)
  7. 即时通讯软件开发界公认的说法
  8. 使用SourceTree
  9. php 内置mail 包,PHP使用pear自带的mail类库发邮件的方法
  10. python写入excel数据教程_python实现数据写入excel表格
  11. 关于我的一些学习感悟
  12. 如何完整删除Windows.old(详细教程)
  13. 王宇阳:六个案例里的SEO启发
  14. 电话号码的字母组合(C++实现)
  15. 当前 IT 行业,软件开发应该掌握的几种编程语言,你学会了几种?
  16. netflix自动续费关闭_如何禁用Netflix的自动播放预览
  17. DEV05 GBase 8a MPP Cluster 数据库性能优化
  18. 液化气瓶爆炸总发生,要为监管敲警钟
  19. 吃透这JAVA并发十二核心,面试官都得对你刮目相看
  20. Plants vs. Zombies ZOJ - 4062

热门文章

  1. Qt4_子类化QMainWindow
  2. SSM中log4j2.xml配置文件的各项标签
  3. Mybatis_day4_Mybatis的延迟加载
  4. Azure Cosmos DB从零到10分钟
  5. sql \n 查询_探索SQL查询提示选项(快速N)
  6. 探索SQL Server数据库的DATABASEPROPERTYEX()函数
  7. sql数据库查询聚合函数_如何使用SQL Server数据质量服务确保正确的数据聚合
  8. ssis 创建ssisdb_使用SSIS创建备份
  9. sql server伪列_伪简单SQL Server恢复模型
  10. 未能找到存储过程sp__sp_WhoIsActive存储过程概述