个人背景
「双非大三」计科专业在读,某短视频「一线大厂」数据开发
22年10月份接触大数据,次年4月开始收割小厂实习offer,七月进入小厂实习,八月通过大厂面试
我只是万千普通人中的幸运儿,希望我的经历可以给一些人带来启发。
孤军奋战——非科班之痛
没错,我刚上大学的时候根本就不是计科专业的,是另一个和大数据「丝毫不相关」的专业,我当时的想法也和大数据丝毫不相关
由于本来就想学计算机,所以从刚开始上大学的时候我就开始不停的去了解计算机的各种方向,由于人工智能被炒的比较火,所以我接触的第一门编程语言是python,得益于python基础,后面学c和java的基础语法也没费啥劲,全是一上午就搞定了,反正也没差太多
在初期,我就是大多数人口中那种“想的多、做得少”的人,我其实大部分的时间都花在了解信息上了,“嗯,这个方向不错;欸那个方向也挺好啊”,各种纠结方向,就是不开始学。不过也并非完全没有收获,得益于每天高强度的5G冲浪,我在大一上学期掌握的「信息差」就足以秒杀百分之九十的大学生了(这点自信还是有的!)
后来我终于敲定了一个方向——java后端,然后就开启了后端之路
❝学习的过程总是孤独的,特别是我这种情况。我说的每一个东西,身边就没有能听得懂的;我做的每一个规划,身边也没有瞧得上的。我骄傲于我掌握的信息差,以至于从那时开始我所有的行为和身边大多数人甚至所有人都不一样。绝大多数人信奉“资历”为王,很多人只信服于年长于自己的人所说的道理,很多人自信于自己早上了几年大学就断言我这个没有任何成功案例的规划纯纯天方夜谭(这种情况在我进大厂之后才有所改观,悲哀~)
❞
大一上学期我也想尽力去抹平和科班同学之间的差距,所以也是选择了学习408,因为当时完全没有转专业的打算,只想着后面以非科班找工作算了(21年行情又不差)
随着时间的推移,22年初我逐渐感受到了行情的异样,愈发觉得非科班身份可能不足以支撑的我的规划了,就毅然决然的决定去转专业了,顺便也可以脱离一下那些对我没有丝毫用处的专业课。好在也是比较顺利,因为之前参加了个算法比赛拿了个省一,顺利转到了「计科」
❝截止目前,可以说下当时的状态:后端技术栈到springboot了;专业变成计科了;学后端的想法开始动摇(一部分原因是行情,另一部分是自己兴趣不在此);大一暑假立下flag:最晚「大二暑假」必须去实习
❞
破釜沉舟,从零开始
由于后端有点学不进去了,我刚上大二的时候就开始研究转方向,但是刚到计算机学院想进个合适的实验室(目的完全出于想要一个独立的工位自习),但是没有基础还进不去,我唯一有基础的是后端,那拉倒吧我不转了
后来一个契机,有个实验室有大数据方向,大数据和后端考核内容一样
(那感情好啊,我研究下这个方向能不能转先:学这些东西是吧,没听过,但是无所谓;能不能就业啊这东西?呦呵好像能啊,行,转啦!)
然后我就把方向转成了大数据,考核也顺利通过了
然后进了实验室之后,懵逼的我更加懵逼了,这里貌似没人学大数据,大数据方向可以称得上是'空壳子',我怎么又变成孤军奋战了?
不过无所谓,我根本不在乎,因为我从打算转方向的那天起就没打算再转回去,同时我事前也规划好了一个比较完善的学习路线,这里得益于积累的「信息差」
无尽失眠的万古长夜
突如其来的转专业重修炸掉了我的课表,深思熟虑的转方向丢掉了大一的沉淀
说实话,大二那段时间压力真的特别大(虽然现在也大),虽然我对我的规划很有信心,这绝对是靠谱的,但是我的实力我不知道是不是靠谱的,我其实大二寒假的时候就想去实习,但是那时候是真的没实力,感觉自己毛都不会
为了尽快提高自己的实力,那学期我创造出了属于我的「速通路线」,实践出了一套我的「速通学习方法论」,几乎将所有的时间都花费在了新方向的学习上,当天的进度没有达到我的预期就直接「凌晨」突击,终于用了「两个多月」完成了我的大数据速通路线(除了没项目别的都还好)
❝速通方法
从头到尾我的想法就是:一定要保证知识的「新鲜感」
这是什么意思?对于大多数人而言,学习一个新事物往往鸡血打的都是比较足的,学习热情也是比较高的,但是如果我们长时间只学一个东西就会有所懈怠,这基本可以解释为什么一套教程,第一节永远人最多
那么如何保证新鲜感?对我而言我学一个东西不会持续一周,比如说我学java,我会先花很少的时间把整套课程先过一遍,至于一些原理和细节,别跟我扯那些没有用的,我第一次很难听懂我也不想听懂
然后再进行第二遍的学习,这次学只针对细节性的东西和一些简单的原理
后面几遍的学习以此类推,这样每次学习都带着不同的目的性,每次学习都和第一次学习一样鸡血十足,同时行动起来也会发现速度也会更快
❞
大二下学期开始,要研究找实习面试了,我又开始了第二轮的速通,围绕「面试」又进行了一系列的规划。然后,准备面试这一步我又持续了三个月
❝面试准备什么?
八股
面试的过程中八股往往是绕不过去的东西,在这里要有侧重点,先把「高频」的搞定然后再去一点点完善储备
算法
这里同样要有侧重点,可以事先了解一下最常考的有哪些,然后先把这些刷了
项目
找实习也要有项目的,就算没有也要编出来一个,我最初的项目和很多人一样,就是b站上烂大街的电商项目,但是这种项目也足以让大多数人入门学习了,当你没有更好的资源时,有总比没有要强
注意
这里我的套路是要在最短的时间具备能够面试的能力,所以刚开始只进行高频内容的学习,但是并不代表别的不需要学了,其他知识可以放在学完高频内容之后或者面试复盘进行准备
❞
时间线现在来到了四月份末,我终于鼓起勇气在BOSS上投出了第一份简历,然后惊奇的发现,我的实力貌似没有我想象的那么不济。可能由于我投的都是小厂难度不大,所以很长一段时间我都保持着面试「百分百」的胜率,这也一定程度上缓解了我的焦虑
❝面试复盘
我很清晰的知道,四月份我是不可能出学校的,因为我的课实在是太多了,对应的考试也很多,那我为什么还要在这个时候去投递简历?
对我而言,这种小厂面试最大的价值不在于通过了能给个offer,而是能让我积累面试经验、查找自己的漏洞、总结出自己的面试方法论,从而能让我面对更大级别公司的面试更加得心应手
「那么,我是如何复盘的?」
首先,针对面试的问题,事后去进行总结以及查漏补缺这种太基础了,谁都会的,所以在这里我不想谈这个,我只说「我自己的方法论」
每次面试我都会录像,相比于录音而言,录像可以让我们更好的去看到面试时的状态,「微表情」不会骗人的,通过我们的表情变化我们可以复现出当时面试的节奏,通过音频我们有时不会意识到当时已经慌了或者节奏乱了
面试节奏我认为是很重要的,一场面试节奏把握在面试官手中还是面试者手中会在一定程度上影响面试的成功的可能性
对我而言,最理想的一种状态就是面试官问的问题都是我想答的
「怎么达到这种效果?」
答案就是要把「节奏掌握在自己手中」
我们要知道自己哪部分是擅长的,哪些知识可以经得住面试官的"拷打",那让面试官问这部分内容就是整场面试的主线任务
「那如何对这种内容进行复盘?」
我们可以从自己的神态中得知,自己什么时候开始慌了?什么时候主动权不在我这里了?我是怎么丢掉主动权的?这场面试是顺着我简历问的,那这个我不会的问题凭什么会问到我?
我们要知道,当「节奏」不在我们这里了,面试官就可能会天马行空的问了,问到我们知识盲区的概率也会随之增加
这些问题就是我复盘的重点
❞
最后,我在七月份的时候去了一家小厂实习
我的目标肯定不止局限于小厂,但是我当时几斤几两我自己是清楚的,所以进行下一波规划去到更大的平台才是当务之急
在搞清楚这里实习的一切都不符合我预期之后,我就明白了这个实习的最大价值就是给我段经历,然后我就全面开启了「带薪学习」(其实在这不符合我预期才是我的预期doge)
然后,那时我就开始了更加快速的学习,好在没人管我,我就在工位上全天看教学视频,然后顺便再看看招聘软件
实习了,那我的首要任务就变成了提高项目能力。虽然小厂的"大数据"项目一言难尽,但是业务场景是真实存在的,我可以通过网上一些别的项目带入到这个业务场景中然后在公司的测试环境中进行实操
有环境和业务,怎样都好说
之后某天的一个中午,一个突如其来的电话让我放下了我手中的鸡蛋,是大厂面试的邀请,我将时间约到了三天后的晚上,就开启了三天的全面冲刺
❝面试突击与对症下药
我事前根本就没预料到面试会来的这么快,我原本的规划时间还要延后近一个月,这对我来说无异于上语文课老师抽查背诵
所以,坏消息是:这次面试太突然了
好消息是:我可以争取到三天的突击时间
面试突击
「Day1」
找出之前所有的八股,将八股复习计划拆分成三天的任务
临时总结实习项目时间有点紧,那就还将我之前的项目作为主体,实习这块我先总结一部分
在原有自我介绍的基础上,加上实习内容,完善自我介绍的话术
「Day2」
完成当天八股任务
针对第一天总结的实习内容制定出面试的主线任务(怎么才能让面试官问)
找出之前刷的题,跳出最常见的几个再刷一遍
「Day3」
继续当天的八股
针对前一天指定的主线任务,总结话术,包括掌控节奏的话术和完成主线任务的话术
顺便再完善一下实习内容
准备之后,一面顺利通过了
在一面的时候我得到了一个「关键信息」:我知道的这个岗位想要什么样的人以及目前做的业务,那这样我就可以对症下药准备二面的东西了
一面和二面间隔了一个周末,也就是两天
对症下药
这里我只说我前面突击不同的内容
「Day1」
对一面进行复盘,针对一面得到的信息,完善实习内容,代入得到的业务场景,放弃之前的项目经历,只使用实习项目
「Day2」
总结话术,实习项目是新整理的,针对各方面要量身定做一些话术
比如:如何介绍项目?有什么可以深挖的问题?针对这些深挖的问题我可以怎么回答?
❞
后来我在二面次日上午接到了hr面的通知,并于当天下午完成hr面
经过了两天的焦急等待之后,最后的结果是好的,一发入魂,从一面到offer用时一周
在这里也可以说一下我当时的技术栈:
-
java
java+JVM+JUC+设计模式+scala
-
数据库
mysql+hbase
-
计算引擎
hadoop+hive+spark+flink
-
olap
doris+clickhouse
-
数据传输工具
flume+sqoop+datax
-
消息队列
kafka
主要就是以上的内容,也没有什么特殊的,基本就是围绕着数仓进行学习
总结
看到这里相信你也知道了,我的经历其实没什么特别的
从头到尾我做的不过就是三件事
-
不断获取信息来提高自己的认知
-
通过自己的认知不断进行规划
-
行动
至于我现在在干什么事情,我其实还是在重复这三件事,进大厂之后肯定还是要继续规划,,我要的肯定不止于此
最后,如果你对我的经历感兴趣,欢迎关注,我会定期更新新的内容,让我们共同成长!
我整理了计算机经典的书籍,里面包含了各个技术栈的内容
想获取的同学可以关注公众号健鑫Data,回复书籍即可获取