大数据-考研or科技公司
我选大数据技术与应用,是因为这个专业听起来很”前沿”。
2019年,大数据正火。什么”数据是新的石油”、什么”未来属于数据分析师”……铺天盖地的宣传,让我心动了。
我想:学大数据,以后肯定好找工作。
结果上了大学才知道——大数据这行,对学历和技术的要求,比想象中高得多。
大学三年:杂而不精
说实话,大数据技术与应用是个新兴专业,课程设置还在探索阶段。
学的东西挺杂的:Java、Python、Linux、MySQL、Hadoop、Spark……每一门都是入门级别。
我一度很迷茫:学这么多,哪个才是我的核心竞争力?
有一门课叫《Hadoop大数据开发》,老师讲得很快,两周就把HDFS、MapReduce、Hive讲完了。
但说实话,我听完之后一头雾水——老师讲的都是概念和命令,根本不知道怎么在实际项目中使用。
后来我自己去网上找了教程,才慢慢理解了一些。
还有一门课叫《数据挖掘》,老师讲了很多算法:决策树、朴素贝叶斯、支持向量机……但由于课时有限,每个算法都只是蜻蜓点水,讲个皮毛。
我室友小王说:“这专业就是’万金油’,什么都会一点,什么都不精。”
我深以为然。
大二下学期,有一门课叫《Java程序设计》,是期末考试课。
考试是上机编程,给你三道题,要求在一个小时内完成。
我自认为Java学得还不错,考前做了很多练习题。
结果考试的时候,我抽到的三道题都是我没见过的类型:
第一题实现一个学生管理系统,要用面向对象的思想。
第二题实现一个文件加密程序,要用到IO流。
第三题实现一个多线程下载器,要用到Socket编程。
我当时就蒙了——这些内容我都学过,但只是学了皮毛,真正写代码的时候根本不会用。
最后我只做出了第一题,第二题写了一半,第三题完全不会。
成绩出来,我只得了61分,差点挂科。
这次考试让我彻底清醒了:学习不能只靠听课,必须多动手。
从那之后,我开始认真敲代码,每天在LeetCode上刷题,从简单题开始,一点一点积累。
第一次做项目
大三下学期,我跟着老师做了一个大数据项目:分析某电商平台的用户行为数据。
项目用到了Hadoop、Hive、Spark等技术。
这是我第一次接触真实的大数据处理流程:数据采集→数据清洗→数据分析→数据可视化。
项目不大,但让我学到了很多。
我记得项目刚启动的时候,老师给我们分配了任务:小李负责数据采集,用Python爬虫抓取数据。小张负责数据清洗,用Hive处理脏数据。我负责数据分析,用Spark做用户画像。
我当时的内心是崩溃的——Spark我只学了几个命令,根本不知道怎么做用户画像。
但没办法,只能硬着头皮上。
先在网上找了教程,了解了什么是”用户画像”:就是用一堆标签来描述一个用户,比如”25-30岁”、“男性”、“喜欢数码产品”……
然后开始设计标签体系:基本信息标签、行为偏好标签、消费能力标签……
设计完之后,开始写代码实现。
这个过程特别痛苦——Spark的命令我不熟,经常写错。数据倾斜问题我不懂,跑出来的结果全是null。内存不够,我都不知道怎么办……
好在最后还是在deadline之前完成了项目。
答辩的时候,老师问了一个问题:“你们这个用户画像有什么用?”
我回答:“可以帮助电商平台做精准营销。比如根据用户的购买历史,推荐他们可能感兴趣的商品,提高转化率。”
老师点了点头,说:“还算有点想法。”
这次项目经历让我明白:做项目不是为了完成任务,而是要理解项目的价值。
毕业抉择:考研还是就业
大三暑假,我面临一个选择:考研深造,还是直接就业?
分析了自己的情况:
技术不够硬,直接就业只能做基础岗位。考研能提升学历,也能系统学习大数据技术。但考研有风险,万一考不上,错过秋招就麻烦了。
我也去打听了一下就业行情:
大数据开发工程师,本科起步,薪资大概8000到12000。数据分析师,本科起步,薪资大概6000到10000。算法工程师,基本都要求硕士以上,本科基本没戏。
我当时的水平,勉强能找个大数据开发的岗位,但薪资不会太高。
我妈说:“要不就考研吧,提升一下学历,以后找工作也更有竞争力。”
2026年数据:考研报名人数343万,比峰值下降27.6%。但竞争依然激烈。
我想了很久,最后决定:先试试考研,万一考不上再找工作。
备考:半年的挣扎
备考的日子很苦。
每天早上七点起床,晚上十一点睡觉。周而复始,持续了整整半年。
我把图书馆当成了第二个宿舍,每天早出晚归。
考研科目是:政治、英语、数学二、数据结构与算法。
数学二是最难的,包括高等数学和线性代数。我高考数学128分,有一定基础,但大学三年没怎么学,高数都快忘光了。
花了两个月时间,把高数过了一遍。看的是张宇的基础30讲,边看边做笔记。
然后开始刷题,张宇1000题、李林880题、历年真题……
刷题的过程特别痛苦——很多题看着会,做起来就错。
我记得有一道求极限的题,算了三遍都没算对。后来看了答案才发现,漏了一个条件。
英语也不能放松。每天背单词,做阅读、练写作。
背单词用的是墨墨背单词,每天200个,雷打不动。
做阅读用的是张剑黄皮书,把近十五年的真题做了两遍。
专业课是数据结构与算法。这门课我在学校学过,有一定基础,用LeetCode刷题,大概刷了200道。
第一次模考
备考期间,我参加了一次考研模拟考试。
那次模考,我政治考了62分,英语考了58分,数学考了89分,专业课考了78分。总分287分。
我查了一下历年的国家线,大概在270到280分之间。
按照这个成绩,刚过国家线,但离我报考的学校差很远。
我特别沮丧——半年的努力,就这个结果?
那天晚上,我一个人在操场跑了十圈,累得气喘吁吁,但心情还是不好。
后来室友小王拉我去喝酒,说:“别想太多,还有时间,冲刺一下说不定能行。”
我想了想,说你说得对,不能放弃。
从那之后,我调整了复习策略:
数学每天多花一个小时,重点突破薄弱章节。英语每天多花一个小时,练习写作和翻译。专业课每天多花两个小时,把算法题多刷几遍。
效果还是很明显的。到第二次模考的时候,总分已经提到了310分。
初试:意外上岸
初试成绩出来那天,我紧张得手心冒汗。
颤抖着输入准考证号,点开成绩页面:
政治68分,英语62分,数学二98分,数据结构与算法90分,总分318分。
这个分数往年能过国家线,但不确定能不能进复试。
等国家线的那段时间,我每天都在煎熬。每天晚上睡不着觉,翻来覆去地想:如果没考上怎么办?是二战还是找工作?
最后,国家线出来了:273分。
我过了国家线,但排名中等,需要看能不能进复试。
那年报考我所选学校的有200多人,学校只招50个。我排名80多名,需要在复试中表现突出才有机会。
准备复试
知道了成绩后,我立刻开始准备复试。
复试包括笔试加面试。
笔试考的是数据库和计算机网络,比初试还难。把参考书目过了三遍,重点内容背得滚瓜烂熟。
面试是最让我头疼的。
我从来没有参加过正式的研究生面试,不知道会问什么问题。
在网上搜了很多”考研面试常见问题”,然后自己练习回答。还找了一个同学,模拟面试场景。他扮演面试官,我扮演考生。我回答完,他给我提意见。
练了大概十几次,终于没那么紧张了。
复试当天
复试那天,我穿上了正装,提前一个小时就到了考场。
笔试还算顺利,大部分题目我都会。
面试是下午进行的。
轮到我的时候,深吸一口气,推门进去。
面试官一共有五个,都是学院的老师。坐在中间的是一个戴眼镜的中年教授,姓李。
李教授开口问了我第一个问题:“你做过什么项目?有什么成果?”
我把之前做的电商数据分析项目讲了一遍:从数据采集到数据清洗,再到用户画像分析……
李教授追问了一些技术细节:
“你们用Spark处理数据的时候,有没有遇到过数据倾斜问题?怎么解决的?”
这个问题我项目中确实遇到过,但当时是学长帮忙解决的,我自己不太懂。
我说:“当时遇到了一些数据倾斜问题,我们用了加盐的方式来处理……”(其实我只记得大概思路,具体细节不太清楚)
李教授眉头皱了皱,又问:“你用的什么算法做用户画像?有没有考虑过其他算法?”
我说:“我们主要用的是基于规则的标签提取,没有用机器学习算法……”
李教授摇了摇头,说:“用户画像有很多种方法,基于规则的只是其中一种。你应该多了解一些机器学习的方法,比如聚类、分类等。”
我当时的心里特别紧张——感觉自己回答得很差。
最后,另一个老师问了一个英语问题:“Please introduce your favorite programming language.”
我用英语介绍了Java,但说得磕磕绊绊,好几个单词都想不起来。
考研失败
一周后,成绩公布。
颤抖着点开页面:
初试成绩318分,复试成绩68分,总成绩排名靠后,录取状态未录取。
我考研失败了。
那一刻,我整个人都懵了。虽然知道自己表现不好,但真正看到”未录取”三个字的时候,还是很难接受。
我妈打电话问我成绩,我说妈,我没考上。
电话那头沉默了很久,我妈才说没关系,丫头,二战也行。
我说我不想二战了,我想先工作。
挂掉电话后,我一个人在宿舍哭了一个晚上。
重新出发
考研失败的那段时间,我很低落。但我没有时间悲伤——春招已经开始了,我得抓紧时间找工作。
调整了简历,突出自己的项目经验和技能。然后开始海投:大数据开发、数据分析、Java开发……能投的都投了。
说实话,一开始挺受挫的。大数据岗位要求高,我的简历经常石沉大海。
有一次,我投了一家知名互联网公司的数据开发岗位,简历直接被筛掉了,连面试机会都没有。
后来调整了策略——多投中小公司,这些公司对学历要求不高,更看重能力。
开始认真准备面试,把之前项目中的技术细节都复习了一遍。还去刷了一些大数据面试题:
HDFS的读写流程是什么?MapReduce的shuffle过程是什么?Kafka怎么保证消息不丢失?Spark的几种部署模式有什么区别?
这些知识点我都看过,但面试的时候被问到还是会紧张。
好在准备得还算充分,最后拿到了一家中小型互联网公司的offer:数据开发工程师。
入职之后
入职第一天,我紧张得要命。
提前半小时就到了公司,结果发现我的工位上什么都没有——没有电脑,没有键盘,没有鼠标。
HR带我办完入职手续后,给我分配了一个工位,然后说:“你的电脑在仓库,等会儿IT会给你送过来。”
在工位上坐了一个小时,无所事事,特别尴尬。
后来电脑送来了,赶紧安装开发环境:IDEA、Git、Maven、Hadoop、Hive……
安装的过程中遇到了很多问题:
Maven依赖下载特别慢,换了阿里云的镜像才解决。Hadoop集群连不上,检查了半天配置才发现是IP写错了。Hive连接MySQL报错,查了半天日志才发现是驱动版本不对……
这一天,什么都没干,光配置环境了。
入职第二周,开始正式做任务。
第一个任务是写一条SQL,从数据仓库里提取用户的活跃数据。
这条SQL看起来很简单。
我把SQL写完后,发给了组长审查。
组长看完,说有几个问题:这里需要加一个过滤条件,排除测试账号。分组后需要加一个having子句,过滤掉活跃天数小于3天的用户。这里的login_time是什么单位?如果是秒,需要转换成小时。
我按照组长的意见修改后,SQL终于通过了。
这次经历让我明白:写SQL不能只看逻辑,还要考虑业务需求。
入职一个月后,遇到了第一次加班到凌晨。
那天快下班的时候,组长突然跟我说,有个紧急需求,明天一早要给业务方出数据。今晚必须搞定。
我看了一下需求文档——要从三个不同的数据源拉数据,然后做关联处理,最后导出Excel。
正常情况下,这个任务要两天才能完成。但业务方催得紧,没办法,只能加班。
从晚上七点开始做,一直做到第二天凌晨两点。
中间没吃饭,就在公司楼下便利店买了个面包啃。困了就用冷水洗把脸,醒醒神。
最后,在凌晨两点的时候,任务终于完成了。
第二天早上,顶着两个黑眼圈去上班,整个人都快散架了。
但看着手里的数据报表,我觉得特别有成就感——虽然累,但这是我自己完成的。
这次经历让我明白:数据开发工作,有时候真的很辛苦。
工作一年后的感悟
现在我在公司数据部门工作一年多了。
工作内容包括:数据采集,用Flume、Kafka等工具采集日志数据。数据处理,用Hive、Spark做数据清洗和分析。数据仓库建设,构建数据仓库,搭建数据指标体系。报表开发,用SQL和BI工具制作数据报表。
工资到手8000多,不算高,但能学到东西。
工作之余,我也在继续学习:学习Spark源码,了解底层原理。学习数据治理,了解如何保证数据质量。学习业务知识,了解业务部门的需求。
工作一年后,我鼓起勇气投了几家其他公司,想看看自己的市场价值。
第一家公司是个中型互联网公司,面试数据开发岗位。面试分两轮。
第一轮是技术面,问了很多大数据相关的知识。这些问题我工作中都遇到过,所以回答得还不错。
第二轮是leader面,问了一些项目经验和职业规划。这些问题我没有提前准备,回答得比较一般。
最后面试官说:“你的技术基础还不错,但项目经验还不够深入。我们这个岗位需要独当一面的能力,你可能还需要再积累一两年。”
这次面试虽然没有拿到offer,但让我知道了自己的不足。面试是最好的学习方式。
聊聊大数据这条路
干了数据开发一年多,我有了一些感受想分享。
大数据专业考研还是就业
这个问题我纠结了很久。最后的答案是:看个人情况。
如果想做算法,或者进大厂,考研确实有帮助。学历在某些时候是敲门砖,特别是在竞争激烈的时候。
但如果只是想找个工作,积累几年经验后也有机会往上走。我现在的同事有很多是本科毕业,工作几年后也发展得不错。
关键是认清自己,找到适合自己的路。
技术要扎实
Java、Python、SQL、Hadoop、Spark……这些是基础,要扎实掌握。
我在工作中发现,SQL是最重要的技能之一,几乎每天都要写。所以建议学弟学妹们把SQL练熟。
项目经验很重要
大数据是实践性很强的方向,多做项目,积累经验。
我在学校做的那个电商数据分析项目,虽然很简单,但面试的时候还是帮了我不少忙。
持续学习
大数据技术更新很快,要持续学习才能跟上发展。
我现在每周都会抽时间看一些技术博客,学习新的技术。
保持好奇心
大数据是个很有趣的领域,数据背后藏着很多有意思的故事。保持好奇心,才能在这行走得更远。
数据是金矿,愿你成为那个掘金人。
关联阅读
- 考研备考参考 5.【考研】高价值信息差
- 案例索引 0000_1001案例总索引
- 知识库总索引 0000浪尖大学四年知识库_总索引