复盘、面试、挤进互联网大厂的「2021年终总结」

1,305 阅读8分钟

「时光不负,创作不停,本文正在参加2021年终总结征文大赛

前言

说来惭愧,距离上一次更新博客已经接近半年了,拖更的原因其实很神奇,因为一直在准备面试,所以想着跳槽完了再把笔记整理更新到博客上,所以拖着拖着,就从年中拖到了年底,也是终于完成了从小公司到互联网大厂的跨越。

缘起去年

这一次跳槽的经历其实蛮曲折的,从去年的年终总结可以看到,当时的我是因为工作业务上做了一部分数据挖掘的工作,所以想试着看看能不能转算法岗,比如推荐算法的。所以花了半年的时间在啃数学,啃机器学习,深度学习的这些理论知识上。
然后在今年年后去投去面试的时候,几乎全军覆没。惨的不能再惨了,首先大公司看不上没项目经验的转岗,然后小公司又不是完全的算法岗,可能什么都要干,没有技术深度对职业发展和简历都不是好事。

精进技术

所以在尝试转岗算法岗失败后,又回到了老本行大数据开发了。但是此时也已经到了四月份了,由于之前复习的完全是算法岗的知识和技术栈,以当时的知识面去面试大数据岗,那可以说是毫无机会。所以在给自己列了一系列复习和待学习的list之后,决定放弃在金三银四继续投了,先把自己缺的补起来。

2021的学习情况

  • Spark源码
    • 之前只是针对RPC模块、存储模块、计算模块的源码
    • 这次主要是从spark集群的启动,master,worker的启动
    • 以及job从spark-submit到job执行结束的整个流程
  • Flink源码
    • 同上,集群启动以及job执行整个流程
    • 以及两阶段提交,checkpoint,广播、反压等的细节源码
  • HDFS以及YARN源码
    • 同上,集群启动以及job执行整个流程,虽然现在很少用了,但是面试还是会问的,并且可以和spark和flink一起联系起来,比如三者的RPC机制、心跳机制、shuffle流程各有什么不同。
  • Hive源码
    • 主要是逻辑计划到物理计划到执行
  • B站尚硅谷教学视频,不得不说尚硅谷给很多入门或者快速复习的人提供了很好的视频学习。
    • 离线数仓
    • 实时数仓
    • Kylin
    • Atlas
    • Presto
    • Clickhouse
  • 极客时间《Spark 性能调优实战》 强推
  • b站直播

Spark/Flink/Hadoop/Hive源码

这里主要讲一下大数据组件源码的学习,我推荐一下奈学的一个大数据架构师还是什么的课程,几乎是对所有框架的源码进行了讲解,包括我还未学习的Hbase,Kafka,zookeeper等,B站有些视频,我就不放链接了,大家细心找一找就能找到,有能力支持一下正版课程也可以已暴雷,不建议大家购买,还是网上B站看看吧。

尚硅谷及B站

我对于未使用过的大数据组件,一般会在尚硅谷或者B站上搜一下,快速了解这个框架组件主要是做什么的,特点是什么,然后为什么需要使用它,一般来说十来个小时就能快速入门了。

极客时间《Spark 性能调优实战》

好课,强推,这门课Spark讲的有深度,然后课后评论也很多小伙伴问的很有深度,老师都一一回答了。特别是我距离课程结束半年多的一个提问,老师居然也详细回答了。给这个老师打call!

B站直播

从去年年尾的时候,开始在B站上做一名直播学习的小主播,到现在也算是一直直播了一年多了,很高兴有几个小伙伴经常会点进来看直播,从陌不相识到有时会在直播间聊会学习,职业规划,也算是直播间常客了,虽然不是每天都聊,但是每次开播都能看到熟悉的名字进入直播间,还是蛮开心的。今年学习直播时长为880小时

下半年的面试

经过大半年的复习和准备,在下半年十月底的时候开始准备面试,本来打算练练手,然后备战年后金三银四。结果可能运气还不错,可能准备的还可以,最终十二月拿到了两家三线互联网大厂的offer,完成了从小公司到互联网大厂的跨越。

面试准备

面试总结

经过这次面试我发现有以下几点值得记下来:

  1. 先从小厂练练手,如果直接去心仪的公司可能会错过机会。
  2. Spark好像在目前的招聘市场越来越少了,当然我指的是值得一去的中大厂的招聘。我个人感觉目前市场上的大数据岗主要分两个大方向,一个是数仓Hive,几乎每个业务部门都会有数仓岗。另一个是实时Flink(再加个Clickhouse做实时数仓),稍好一点的互联网大厂都在逐步增加Flink实时数仓的需求。剩下的还有一小部分组件岗(源码二开)和数据平台岗,这两个会稍微问一下Spark。当然这只是我这一两个月面试感受的一家之言。 所以想往上走,Flink已经是必须了解并精通的技术栈了。
  3. 面试内容
    • java部分的基本就是jvm,并发,集合这三块了。再深入的可能会问一下spring的ioc,aop。感觉都是java的八股文,所以大家能背还是多背一下。
    • 大数据部分的就多了,根据你写的业务技术栈,几乎都会问到,spark、flink、kafka、hive、hbase、es、hadoop都被问到过。所以你要写到简历上,只是用过是完全不够的,起码你是要专门准备过这个技术栈的,比如它的架构、原理、调优、踩坑、甚至源码。 当然像hbase和es这两个我没怎么准备的,那自然就挂了,不过那个岗位更偏向大数据存储,和我心仪的岗位也有一点差别,所以挂了就挂了吧。
    • 其他可能会被问到的,CAP理论、mysql索引,这一些感觉也是八股文,能背就背吧
    • 业务部分也是很重要的,基本面试都会让你讲你做过的离线、实时、数仓项目的业务是怎样的,难点是什么,踩过什么坑,怎么解决的。
    • 还会有一些LeetCode算法,以及基础代码手写,比如快排、单例模式、消费者生产者模型、Lru模型等,这些可以网上搜一下面试题,然后自己敲一下印象深一点。

面试结果

这次面试持续了一个月左右吧,现在面试的好处就是绝大多数可以晚上电话或者视频面试,让我可以不停的面试,查缺补漏,还不用请假,一周四五场面试的,可以说是很拼了。
但说实话,压力也很大,特别是在连续遇到面试失败之后。所以大家看自己的心理承受能力,不要丧失信心,每次失败都是在为我们自己查缺补漏,下一次就能表现的更好。

最后除去七七八八的小公司offer,最后决赛圈的是两家二三线大厂的offer,从薪酬来看都是N*16。从年薪来看,相比于现在的公司,可以说是翻倍了。大厂!香!

与2020年订的目标对比

  • BI数仓学习
  • zk源码、redis源码的学习
  • 2-3个月一场阿里天池比赛
  • 机器学习算法用python复现
  • 刷完LeetCode的easy和medium!
  • 能拿到一个满意的offer

只能说计划不如变化快,当时还踌躇满志的想转算法岗,结果最后还是跳回了大数据岗。

2022目标

新的一年,会在新的公司继续卷,从1065到11105的转变,希望能保持现在的学习冲劲,不断的提升自己。并且要开始锻炼身体了,今年因为所有事情都想着跳槽后再去做,所以导致今年几乎没运动健身过,胖了好几斤,从这个月就要开始恢复健身了。

列一下2022年的目标吧:

  • Spark/Flink/Hadoop/Hive源码的学习笔记整理成博客发出来
  • 继续zk、hbase、kafka源码的学习
  • 进了大厂,多关注一下新的技术栈和前沿技术信息
  • 参加一次线下技术沙龙
  • 部门内部做一次技术分享
  • 坚持运动健身,keep打卡或者健身房打卡一周2次以上
  • 脱单