加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据和软件开发哪个方向比较好?

发布时间:2022-12-03 11:33:13 所属栏目:大数据 来源:未知
导读: 我是机械自学转大数据的,前期做的Java,后面转大数据,说说我的看法。
为什么要学习大数据?
在我第一份实习的时候,忘记在什么场景下我 leader 突然说了一句:「干 Java 不就是增删改查嘛

我是机械自学转大数据的,前期做的Java,后面转大数据,说说我的看法。

为什么要学习大数据?

在我第一份实习的时候,忘记在什么场景下我 leader 突然说了一句:「干 Java 不就是增删改查嘛」,而恰好那时候知乎都是「干了3年Java,还是只会增删改查,迷茫」等问题 ,我听完 leader 那句话就心里一颤。

因为这句话,我又一次的陷入迷茫,我不清楚自己是不是应该继续的 Java,所以那段时间我干过爬虫,也撸了一阵子的西瓜书和统计学什么的。在知乎上所有相关的问题和答案我都看了,也在知乎付费咨询了很多前辈。最后觉得爬虫工作不好找,机器学习门槛太高,然后折中学了大数据。

上面只是我的初步动机,但后面一年多的接触,让我有了更多的理由对大数据不抛弃不放弃。

1.门槛。它比 Java 高一点,因为除了对数据库的操作之外,要学习大数据生态的东西,需要会分布式、数仓、中间件等知识。它比机器学习低一些,不需要你会很多的机器学习算法和数学知识,而像机器学习算法和数学知识是需要长时间的磨练和沉淀,所以做这块的研究生和博士居多。

因为它的学习门槛比 Java 高,所以市场上缺失这方面的培训机构,因为投入和回报不成正比,而现有的培训机构大部分都是糊弄的,让你学学 Python 爬爬数据然后自称大数据培训。

再就是高校专业的设立。无论是哪个学校的计算机专业,Java、数据、C、C++什么的都会接触到,但是大数据呢?第一批大数据专业的学生现在大二,所以现有的大数据岗位的人都是自学的,谈不上对口不对口,对口更多的指计算机基础。但是再过两年就不一定了,所以「早,就是优势」。

2.薪资高。这个估计才是吸引大部分人学习的原因。同一家公司同一级别,普通开发岗和大数据开发薪资还是会差一个档次的,具体多少视公司而定。

3.积累性和挑战性。在我学习群里面,不乏一些在传统企业或者国企的资深开发者,但是他们对自己的职业也迷茫和担忧,在群里经常讨论一些分布式,Redis、Zookeeper等知识的时候,他们显的格格不入。因为他们长期在企业里 CRUD(增删改查),与现在互联网技术发展产生隔阂了,既憧憬又畏惧。

为什么说大数据开发是积累性又有挑战性的呢?

了解过大数据的应该知道大数据的「4V理论」,随着时间的发展,企业产生的数据量肯定越来越大。在以前,我们对数据是不重视的,但是随着机器学习的发展,数据是越来越重要的。了解机器学习应该都知道,训练模型之前都会有一个特征工程的步骤,特征工程就是来处理数据的,然后喂给模型。又好又多质量又高的数据会让这个模型更聪明和健壮,相当于燃料,模型才能更好地自我训练,然后才有现在的「推荐喜欢」和「全民抖音」。

如果你只是进行一些数据库的增删该查或者一些页面展示什么的,这些套路都是可复用的,讲究能用就行。但是大数据不一样,无论你是做平台的建设,数仓,计算等,一些场景一些机制都是需要你去思考的。

我面试的时候被面试官问到一个问题:「你为什么不做 Java,要去做大数据?」

我回答的是:「如果这个 Java 岗位能涉及到中间件的开发,而不只是做 CRM,ERP 等数据的 CRUD,那我是可以接受的。而大数据的话无论你是哪个方向,都会面临着一些挑战性,工作也更有难度一些。」

4.推动你现有岗位的发展。学习群里很多人问过,我从事前端的学大数据有什么用?我从事运维,学大数据能帮我什么?等等。

大数据+现有岗位是一个趋势。大数据来临的时候,你前端不用做一些静态化,或者一些缓存机制吗?会一些 Hive、Hadoop,做可视化或和后端对接的时候是不是更有优势呢?后端学一些大数据的觉得是必要的,例如Kafka、Zookeeper等分布式、缓存相关的数据存储和传输是进阶 Java 必会的,让你在现有企业需要转型的时候可以直接就上。而运维呢?分布式集群运维,各个大数据平台上的节点运维,这不是一个趋势吗?

什么都不学,认为现在的公司用不到,等公司要用到的时候,你会,可能就是一个负责人或者给你升职加薪巴结你试试,因为这样成本小,知根知底。不会呢,就直接招会的人过来了,而你就危险了。

5.过渡到机器学习人工智能的捷径。随着科技的进步,包括硬件和软件,机器学习的使用门槛会越来越低,为什么这里强调使用。因为研究部门在每一家公司都是极少数的,更多的是在调库,调参。而随着硬件的进步,很多算法都是封装好的,可以进行傻瓜化操作,我们只需要给他喂数据。

如果大家想进一步了解大数据,推荐大家看一本书:《一本书读懂大数据(每个人都看得懂的大数据入门书)》

本书从大数据时代的前因后果讲起,全面分析大数据时代的特征、企业实践的案例、大数据的发展方向、未来的机遇和挑战等内容,可以更好地帮你更加全面的了解大数据。

学习大数据门槛

上面提到了门槛,处于普通开发和机器学习之间。经常有人问我做大数据说需不需要很好的英语,很扎实的数学功底。

无论什么岗位,英语好和数据学能摸到的天花板更高。但是大数据开发不像机器学习,日常阅读国外 paper 和对模型算法进行调优,不要求你去读西瓜书和统计学去弄懂线性回归等数学知识。

有些人可能说我智商不行,别人记住一个知识点要10分钟,我要一个小时。有些人会反驳「你的努力还谈不上比智商」。这边说一下我对「智商」的看法:智商其中是一个很广的东西,有些人学习上比你好,但生活上不一定比你聪明。我们不可否认初高中的时候,有些学霸没怎么读书就可以考的很好,有些人很努力但也没那么好。无法否认,这就是天赋。有些人天生逻辑思维好,对数学或者知识的抽象能力很厉害,能摸到的天花板更高。我们定位好自己就是了,智商高而且在顶层的总是那么几个人,而更多的是在中间那一层,而那一层拼的不仅仅智商,智商高的也不一定写代码写的比你好,所以百分之 98 的人的智商拿来开发够用了。

所以大数据开发是一个既有门槛但又不是门槛特别高的方向,正常人只要找到适合自己的路线和找对学习方法都可以的。

学习路线

我是大二自学的 Java,然后在实习结束后四个月的学习转到了大数据,然后现在也接触大数据一年多了。我这个学习路线是根据我自己学习的,我面试反馈的,还有我那帮学习群的兄弟反复锤炼出来的,应该是很有借鉴意义啊。毕竟一个群几百个人,什么情况的都有,成功了总结经验,失败了找原因然后调整一下不怂再干。希望这个学习路线能帮你少走点弯路,这些资源也能帮到你。

学大数据分为两种,学生和在职,请对号入座。

学生:

如果你还是大一大二的话,可以扎实地补补基础。如果静不下心学基础的话,可以做做项目,然后赶紧去找实习。而且我也建议以找实习为目的进行学习,不然很容易迷茫和漫无目的地学习,最终学了什么自己都不知道,以目的为导向进行学习很重要。

如果你是大三大四,该准备春秋招了,大三的春季实习招聘要好好把握,这时如果找到一份大厂实习,那秋招就没什么压力。大四的春招也很重要,因为这是最后一次学生身份参加招聘,门槛还是低一下。

在校生的面试,无论大厂还是小厂都有一套方法论。首先要书写一份好的简历,防止卡在简历这关。简历的话我可以帮你们参考,看是排版还是哪个方面有问题,我都可以帮你们看看。

然后就是小公司注重项目,基础要求相对不高;大公司除了要求项目,还需要你基础够好。

在校生要学大数据的话,建议先找份Java的实习,然后再跳到大数据岗位,因为大数据也是需要Java知识,这样一个过渡比较好。

学习路线:

学习顺序按照这个: Javase和项目同步进行,当能把项目写在简历上的时候就去投,去面试,面试可以收获非常多东西。因为这时候JVM和多线程还不会,所以只能去投一些小公司。当后面把JVM和多线程补起来的时候可以进军大公司。

而数据结构和算法需要贯穿整个个学习周期。提高算法前期以刷剑指offer这本书为主,刷到能手写代码。建议先在大三找份Java实习,然后找到实习之后接着学大数据知识,这样既完成了阶段性目的,也为了下一阶段做准备。而项目可以在se学完之后进行学习。

Javase和项目同步 -> 面试Java实习 -> JVM&多线程 -> 面试大公司Java或者学习大数据8天Hadoop和大数据项目同步学习 -> 面试大数据

在职:

在职的分为开发的在职以及要转行的在职。首先,不建议裸辞,除非你经济上无任何负担以及做好了各种准备。要转行的建议业余先抽时间出来了解了解,看自己是否真的想从事这个行业。

如果你之前已经是Java开发,那很好,要过渡到大数据先看看群公告的8天Hadoop入门,或者直接看Hadoo权威指南都可以。然后结合我的面经学学一些理论知识,还有一些实战面试题,再做个项目就可以马上去面试了。学的差不多就可以投了,一定不要拖太久,越拖会越没信心。

如果你之前是PHP开发,或者DBA什么的,建议重新回顾下Java。因为大数据目前还是以Java为主要开发语言,回顾完Java基础之后,可以直接看8天Hadoop入门,然后做项目,除了大数据项目之外,建议补一到两个技术栈比较好的项目,不然简历面不好过。

如果你是零基础想转行的话,建议先找份Java开发,零基础一下子跨越到大数据有点大。建议先踏入编程这个行业,然后再去转大数据,过程会比较有反馈。零基础的话不建议一上来就算法什么计算机基础,先直接学Java,可以看看群公告的基础视频,然后自己鼓捣几个项目,去找个小公司。这样周期会比较快,然后在这家公司快速学习,可以补补基础,或者学习学习大数据,干个一年半载就可以跳。

小公司和大公司各自需要什么技能?

小公司:越小的公司对基础要求越低,一般有项目的话都很好搞定,我以及几位球友都遇到了不用面试,直接问可以上班时间的

大公司:需要扎实的基础以及项目经历,必要时还得深入框架源码。

大数据方向_金融 大数据方向_java大数据方向

学习方法:

刷Javase可以自己先跟着一个视频学完,跟着视频敲敲,能学到多少就多少。学完se之后去刷我面经上se的相关题目。刷面经的方法,每学习到一个阶段就把我面经上相对应的问题给理解了,然后整理到自己的博客中,这样便于后面复习。不要想一次性能把全部问题刷明白了,把能刷懂的先刷的,有些题目刷不懂很正常。

算法同理,想要在面试中算法无压力,至少得把剑指offer和牛客网146道leetcode刷到滚瓜烂熟。如果能把剑指offer刷明白了也能应付大部分面试。刷算法前期没思路很正常,但也要记得多总结。每刷完一题记得整理一次,除非这题你思路全对,代码全对。你看完答案能理解的也要整理起来,不整理起来的话相当于没刷,下次再看也忘光了,也不要想第一遍就要把每题都搞懂,把能搞懂的先搞懂,大局为重,保证每一遍都有收获就行。

Q & A

1. 沉迷于视频?

一直不明白自己学到什么程度才能进行下一个阶段,这边可以用我的面经当一个量化指标,因为里面都是高频面试题,以及一些重要知识点总结,每进行到一个阶段可以用我的面经去检验学习成果。

2. 转牛角尖?

遇到有些问题不会很正常,先跳过,前期掌握个百分之6,70就很好了。包括刷算法,在一个问题上搞好几个小时甚至一整天,听起来好像很有专研精神,妈的就是浪费时间,你现在的目标是找工作,其他目的的另说。要分主次,明白现阶段的目标。

3. 看书 or 看视频?

入门看视频,系统学习某个知识点看书。当然能看书不看视频,能看面经不看书,在刷完面经之后还有时间的话可以看书,这样可以把面经上零散的知识点给串起来,而且你已经知道面经上的重点,看书压力不会很大,主次也很明了。前期直接看书不太建议,学习某个新技术,直接上来就看书更不建议。

4. 什么时候可以投简历?

学完SE并且手头项目之后可以开始投,不用准备的特别好再去投,永远准备不完的。根据我面试那么多家的经验来说,在有一定实力的情况下,更大比例的是靠运气。我遇过很多小公司直接让入职的,也有一些小公司面了好几面的也进不去。前期先投小公司练练手,然后递进找大公司。

5. 项目经历重要?

首先要知道项目是块敲门砖,没有项目或者项目不够好的话,连面试的机会都没有。其次项目在面试中占大头大数据方向,要是一个项目都是你自己敲的,但是你对一些业务和原理都不懂的话,也是减分的,所以一定要对你项目足够懂,可以适当包装一下。

6. 明确当前主要任务?

如果你目前不着急就业找工作的话,完全可以从头系统地去学习。但是如果你要实习或者就业的话肯定是需要先找到一份工作,不要为了学习而学习。当找到工作之后,主要任务就完成了,然后该补基础补基础,该学框架的学框架。

总结,学大数据必会Java,其次就是项目经历,其他的就是根据公司需求修修补补。Java入门看群公告的基础视频,大数据入门看8天Hadoop。其余的看面经结合搜索引擎就行。

这份资料涵盖了Java基础、集合、JVM多线程、Spring、微服务分布式、计算机基础(网络、操作系统)、数据库、大数据等面试知识点,对于Java或大数据岗来说完全够用,大家可以直接拿着它补缺补漏。

需要帮忙修改简历的可以私聊我,可以帮你分析是简历的问题还是投递方式的问题。

对自己当前的学习比较迷茫的也可以私聊我,因为已经帮了不同情况的球友规划过学习路线,也顺利了解决他们的问题。

可以点击下方链接,获取学习资源,一起学习交流~

这些都是我阅读过的优秀书籍,里面涵盖了计算机大部分的知识,我也做了详细的归类,已经整理到网盘了,大家可以自行下载。

金融 大数据方向_大数据方向_java大数据方向

大数据方向_金融 大数据方向_java大数据方向

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!