[编程开发] java市场饱和了吗?现在转行学java会不会太迟?

[复制链接]
lfpjh 发表于 2023-10-3 19:58:15|来自:中国 | 显示全部楼层 |阅读模式
正在考虑转行学java开发,目前疫情没有结束面授班也上不了。各个机构的老师都说java前景非常好、就业好、薪资高。但我还是很犹豫,过来人给个建议呗!感谢!
全部回复5 显示全部楼层
tdq6554 发表于 2023-10-3 19:58:34|来自:中国 | 显示全部楼层
这两年的 Java 面试难度确实要比往年高处很多。很多小伙伴投递了上千份简历,只有几家公司约面试。排除个人简历的因素,这在往年都是不太常见的。
大厂缩招,于是很多往年能进大厂的人只能去卷中小厂,搞得层层内卷。 比如往年能有一万个人能进大厂,今年大厂只招聘一千个,那另外九千个在往年有大厂水平的人就要去和水平相对普通一些的求职者争夺中小厂的名额了。而且,大厂不好过的话,中小厂也是一样的,甚至更惨。这就又导致很多中小厂的招聘同样减少了。
求职的人这么多,一个岗位这么多人竞争,当然要增加面试难度。于是乎,很多比较一般的公司,也怼着底层原理疯狂问。


还在星球看到一些朋友抱怨面试太难,自己有点无力的感觉。


这个时候就有一些前几年已经参加过面试的人要说了:“哪一年不说今年是最难的啊,这抱怨难的人太矫情了”、“人不行,别怪路不平!”......。这些人不在少数,真是站着说话不腰疼啊!


正常来说,一个行业度过了几年红利期之后,大概率肯定是会走下坡路的。你想想,大家都知道这个行业赚钱,都想在这个行业分一杯羹,你说这个行业能不卷么!任何行业都逃不过这个命运。再加上疫情的因素,导致很多企业生存都比较困难,于是大规模裁员就来了。
或许只有那些真正经历了的,才能体会那些抱怨今年找工作难的人的心情。


我对现在所发生的的一切都不感到意外,事物发展的必然规律罢了,在国内尤其如此。找不到好工作除了抱怨招聘环境之外,还要审视一下自己的能力,想想自己是不是随大流进入了这个行业。多反思才能进步,不然在任何行业都难逃韭菜的命运。
另外,我们在准备面试的时候,要拿大厂的标准来要求自己。但是,在真正找工作的过程中,不要总是把目光放在大厂,一定要对自己的能力有一个清晰的认识。
与之形成反差的是,很多培训机构依然很火爆。
下图是别人发我的黑马程序员前端培训开班典礼。


但是! 时代变了呀,已经过了之前那个培训完都能找到工作的时候。没有学历纯靠培训的话,找工作确实是地狱难度。
这些参加培训的同学,大部分都憧憬着学完之后能够找一个不错的工作。结果,进了社会之后,才发现现实和自己想的有很大差别。
不过,任何时候都有依然可以拿到很多 offer 的人。比如一位读者在百度毕业,先后参加过腾讯、滴滴、字节、京东、快手、美团、蚂蚁等大中厂的面试,顺利拿到了快手、滴滴和京东的 offer。这位读者的面经:百度毕业后拿到京东 offer,总包 51w!。再比如一位学弟参加秋招,拿到了十几个 offer 的,真是旱的旱死涝的涝死。这位学弟的面经:秋招拿了十几个 offer 。


这两个属于是自身条件比较优秀的,有一位机械转码的学弟同样拿到了很多 offer。这位学弟的面经:机械转码,秋招能拿到这些 offer 已经非常幸运了!! 。


每个人的情况不同,幸运值也不同。千万不要因为一次面试的失利而打击到自己的信心,开始怀疑自己的能力。很多面试通过的人可能并没有你厉害,可能他比较会表现一点,可能他运气比较好,大学的时候混了一个比赛的冠军。也千万不要因为暂时失业而感动痛苦万分,每天都很焦虑,熬夜报复,恶性循环。失业了就坚持锻炼身体,先把身体养好。平时记得保持较高强度的学习,提高自己的核心竞争力,等待机会。


失败和胜利都是平常之事,不用太在意。 我很喜欢一句话:“人生路漫漫,不要过于在意短期的得失,眼光要放的更长远一些”。
一塌胡涂 发表于 2023-10-3 19:59:25|来自:中国 | 显示全部楼层
匿了,不然说点实话又要被机构那批人各种举报,各种喷。
不知道这两年怎么了,仿佛绝大多数大学生理解的计算机行业,互联网行业就是==Java。
我是某有名机构的线下课Java老师。负责Java热门框架这块的教学。也就是spring,springmvc,springboot这块。
(今天无事,可以跟各位好好的聊聊这一行相关的所有内幕或者说是行情。)
不过…被优化了。他们招不到人,就把我开了。也算是心有不满,来这吐槽吧。
Java现在学的人真的太多太多了。
我还看到有人说什么Java卷是卷初级的,你努努力就好起来了。
得了吧~都是狗屁。
给你一个需求,需求写好开发什么类,要那些属性,哪些方法,给一个培训三个月的新人他也能开发出来。
大多数公司招聘都是本科学历以上,机构里报名的人,相对之下专科的更多一些。
这是不是就意味着本科就一定OK了?
No~二三本学院的本科生还是算了,培训完根本找不到工作的。你以为?因为一本以上学历的人,也不少,他们也都来学Java了。
机构为了让你报名,会让他们的宣传部在各大自媒体平台大量发布Java好就业,好学的文章。
盲猜这个问题下就有官方号说Java虽然卷,但学完工作还是能找到的怎样怎样…
Java的本质全是api,比如数组扩容你调用一个方法就能实现。不像C或者C++你要理解数组扩容原理,一步步实现。所以Java也不难!
当然了,你非要举例一些难度大的案例当我没说。所以初级工程师这一块,不论是哪儿,都很难找到工作。
不信你假装自己已经会Java了,去投一下简历。你试试,岗位相对来说的确不少,你看看你投过去能不能得到回应。
可能又有人又会问了,我一本上,甚至研究生学历搞Java怎么样?
一本学历的本科生可以搞一下Java,虽然还是卷,还是拼技术,但相对有优势。(起码要有四级证书啊,现在公司招聘大多潜在要求四级,六级过了更好)
研究生就没必要了,研究生去搞人工智能,Python大数据方向吃香。
Java这活门槛低,研究生干也那点钱,本科生也是那点,而且要工作经验。
就好比老板招私人司机一样,司机这活大多数都能干(Java初级门槛低),但想工资高当私人司机(高级工程师),那就得技术过硬,开车够稳。
有人可能要喷我,你懂个屁,Java一年工资低的都8k,其他行业应届天花板是8k。
怎么说呢,每个行业都有强的,有差的。还是建议能别学Java就别学,除非你一门心思想干这行。
而且啊,得终身学习,就比十来年前用ssm框架多,现在大多用springboot框架。从基础功能的实现,到对框架原理的理解就是初级到中级的蜕变。
可是学Java的人,真的太多了。还是那句话,非要学,年纪超过30岁就迟了(肯定有30岁后转行成功的,我是指大多数,按比例来。别杠,杠就是你对)
一般一本的本科应届生可以试试,二本计算机……好点的公司几乎都不会要。因为一个岗位的简历很多人投,一本学历肯定比你有优势。好点的你还有个面试机会,差一点的人家hr就是已读不回,理都不理你。真是这样,对天发誓!
最后,正面回答问题:Java初级已经确实饱和了。中级还好,高级的稀缺。30岁后转行肯定是迟了,25,6岁的都有点危险。就因为人,真的多,尤其这几年Java培训班的出现。
你听过最多的培训班应该就是Java了吧?打着好找工作,高薪的油头到处吹。上万的学费~
还有的包就业,包就业班很恶心的,学费比一般的贵两倍。
确实能给你搞到公司里上班,但是!正常情况试用期(一般三个月)一到,就会给你开除。他们和培训机构有交易。我是内部人员肯定知道的,只是签了保密协议,不好说是哪一家机构。
除非什么?除非你自从学Java那一天开始就努力学所有知识点我,一有空就敲代码,就去练习。平时没事了也去学习更多的知识,你才有机会。
培训班大多数人学习能力都差,不自觉,学到能胜任初级Java岗位就只写模块了,一年又一年,两三年就要被开了。
我之前带的那两个班,几乎所有人刚来都激情热血,有问题来问我。一个月后能来问我的屈指可数。再过一个月,不少人就开始混日子了。
就说到这
<hr/>随手一写,没想到这么多人看。以往都是被举报下架回答。匿名还是有好处的啊
看了评论。其实其他专业我也不懂,比如学通信那位。
我只知道Java相关……
今天无事,可以跟各位好好的聊聊这一行相关的所有内幕或者说是行情。
从事这行这么多年,从当初会ssm就能狂妄的年代走到现在。
十几年前,Java是什么水平各位知道么?
招聘根本不会问你这么多东西。只问你一句:“会写Java代码么?”
答:“会…会写你好世界”
Hr:“够了够了,就需要你这样的人才~”
当年公司做Java小游戏的,就是那个洛基亚横行,一个小游戏6块钱,50块只能买3个G流量的年代。
当初我刚工作的第一个任务是写类似华容道的一个小游戏。现在应该属于GUI那块,做一个石头迷阵这种小游戏。
在那会,你要能写这个,那你就已经是人才,月薪轻松八九千,过万的都不在少数。那是普遍房价四千,上海松江区的房价才9千多的年代。
一边工作一边学习,像那种老版手机游戏三国。打开游戏,界面先是一个咖啡杯的模样。可能年纪二三十岁的朋友应该知道我说的什么,那种开发程度不是很难,但月薪轻松上万。要知道那个年代的购买力可不是现在能比的。
但随着技术更新迭代,到阿里巴巴的壮大,再到至今springcloud的流行。
三年前在机构代课,教到springboot基本上就能去面试了找工作了。
而今天,你学完springboot,不是说完全找不到,但竞争非常大。而且已经有很多公司主要用springcloud。
想比看到这里的朋友,你要是在工作…应该深有感触吧。
至于ssm,那都是什么?jsp又是啥?就没什么人用,除了个别政府老项目以外。
springboot现在成了最低标准。
可能有人又说了,Java这块也不难,全是aqi,框架多做做也能会,为啥不介意学呢?
有一个理是真的!Java越年轻越香,C或者专门做嵌入式这种的是越老越香。
好点的厂薪资待遇好,Java这么多人学,他凭什么不要那个英语四六级过了,各种比赛都拿奖,技术也还可以的应届生而去要你一个半路出家的?
稍微有实力的公司,宁愿要技术比较差,但能力强(指简历好看,有比赛奖项等)的学生,也不要培训出来的。真是这样。
当然了,不绝对。培训出来的肯定有学的好的。
我知道你又想问:“我真的愿意努力去学,生活的苦都不怕,还怕这个?”
真的,去年还在机构上班。所有来的学生,年轻的只有19岁,专科大二。年纪大的甚至有将近40岁的。
所有人,几乎所有人都是刚来打鸡血,各种问我问题,追着问,非常好学。
能坚持到学完集合的就已经很厉害了(我以前也带基础班)
等到学jdbc他还能撑住,但开始教mybatis他就迷了。有的连创建sqlSession对象这一步都要学很久很久~
当然了,这批人大多都是课后练习十分钟就开始玩手机的。
每批学员只有一半人能认真学完所有东西。
然后这一半里又只有一半人愿意在课后反复观看视频,练习代码能力的。
你要知道Java这行是终身学习的,别指望过了一遍就啥都会。我有时候也还会翻翻书,看看底层代码。尤其接私活框架用多了,底层东西虽然熟练运用,但个别东西还是会忘记。
我都如此,何况初学者的你们呢?
假如一个班一百人,刚说的就已经刷掉75人了。
剩下25人里,大多会开发一些东西,开始背面试题。然而…又会有一小半人因为学历啊,面试过程啊等等原因被刷。
真正能就业的只有十来人。
朋友们,十分之一的概率!
也有评论说我蛊惑人心,这样说不对。
我换个说法看你能不能感受的到。
各位如果有加一些卖课的微信或者QQ群。
你就看他们负责人动态里成功上岸的例子。我当初的机构,像我这种班级负责人,每成功入职一位学员是要发动态的。
比如某某啥啥啥学历,曾经怎样差,迷茫,如今靠着努力成功月薪12k了等等…
你就看他这种动态多不多。是不是动态就那么几个?
你要知道他那么多班,少说几百人啊。这点要是想不通就当我没说。
最后回归主题,要是问我,我个人是不建议再学Java了。如果你学历够,或者才大一大二有时间,尽量去做大数据啊,人工智能啊,去做嵌入式。尤其是随着AI时代的到来,人工智能和大数据非常非常吃香。
当然了,你非要去学Java也不是不行。但你要做好努力学习的准备。
你可能又会问:“我学大数据,嵌入式(人工智能有学历要求,就不说了),难道不需要努力?”
这行你学会了,起码能找到工作啊。Java你学完,是真找不到。你看那么多机构的学员最后是不是有不少人都转行了?
评论里还有骂我的,说我妖言惑众,甚至还有说他前端也照样活的好好的,照样月薪过万。
相对这种话,你要说学前端…那我还是劝你学Java好了。前端目前可太离谱了。
大厂裁了好多前端,他们愿意自降身份,降低一倍工资去小公司上班混口饭吃,甚至有的去外包。因为机构里有一个跟我一样被优化掉的前端老师,他有房贷,所以最后去了外包。
他的履历已经很强了,今年才35,有十年的工作经验。
这些都是真人真事。还请各位理智评论,这个赛道真的卷,喷我也没用。
<hr/>再来一更
突然感觉这样好像在跟你们聊天,挺有意思。
也大致看了一下所有的评论。
我现在不说行业怎样,Java又怎样了。聊聊别的,你看看我说的有没有道理。
诸位不外乎是刚工作三年左右的小鸟,和还没毕业的蛋。
前者已经被Java和社会的残酷狠狠打磨了一番,就不说了。而学生有吐槽C岗招聘少,大数据要算法,人工智能卷不明白等等…
大学生们无外乎就是想先入行,不管工资高低先进入互联网这行业,然后再想别的。
所以很多人选择了Java赛道。
为啥?
因为别的不懂,不知道要学会啥。在大学里学了几年,上课那么多课。只有Java还知道点要学啥技术栈,是这样不?
一说到大数据,Hadoop是啥?集群又是啥?不懂。然后一去搜,发现还是不懂。索性卷Java好了……
看到评论还有人说一个岗位三五百人投,简历看不过来。
我现在在公司里的职位就是高工,部门副总监。这个公司比较大,单单开发这块有31个人,6个~组。这个规模已经很大了!
我今年进来的,进来第一个月公司里优化掉部门几个老鸟,招进来几个新人和实习生。(原因嘛,大家一样的活,老鸟用着太贵,新人便宜)
但害怕技术上又有问题,所以提前招了我进来。
而新人们的面试,是我去面他们的。
这么说,招了4个人进来,全是一本学历以上。
你知道hr看简历怎么看么?
就是boss直聘上hr是能点击筛选的,然后筛选里有一行是学历,里面可以选择比如专科一下,一本学历及其以上,研究生这些。
Hr第一步点的就是本科筛选,然后是工作经验筛选,最后是工资筛选。
看到有人说自己专科在南京还是哪儿一个月十几二十k,还应届。你在想啥呢?有本事就把工资条摔我评论区里。
这种人要么前几年入行有工作经验,要么就是学的太好了,绝对凤麟毛角的存在。
所以很多人投简历没人看,都是未读。有的二本学历也是这样的啊。
别说一个岗位三五百人投,近千人都是有的。你说岗位多?那人数更多啊。讲比例的。
其他岗位确实招的少,但比例多,进去的机会大。一般培训机构喜欢拿这个说事,说其他的岗位招的少,难进,来学Java。都是…为了让你交学费好吧。
回到说大学生入行的话题。
你们可以去招聘网站搜大数据,嵌入式的工作岗位,看看里面的技术栈要求。哪些是你们学过的,哪些是要新学的,对学过的感觉难不难,喜不喜欢等等…然后再去学,背面试题,就能入行了。
别在网上搜技术栈了。网上搜的要么是培训机构劝你入行Java,要么是……
你们之所以想干Java,是因为你们被培训机构或者网上的言论影响了。你们已经知道了Java的技术栈,Javase,web前端三剑客(html,css,js),数据库的sql语句,mybatis,mvc,spring,springboot,springcloud。这些就算你不会,你也多多少少听过。
所以你知道了自己学完哪些就能找工作,不害怕,不迷茫。
大数据开发也很好入行的啊。你们可以去招聘网搜搜大数据开发…
会Hadoop,hive,sql,Java和Python就可以去面试了啊。
有学生在下面问自己怎么办的,可以先去搜招聘条件看看。Java真不建议入行,不信的也别急,你先学着,看看能不能找到工作,看看有多少人能找到。
最后这里对已经学Java的朋友说,如果自己你学了很多,就坚持学,尽量把技术栈学全面。不然工作也很难找…
至于还有说0经验,月薪22k的,像这种基本上是机构的私人号。有很想成功的小白就会加他私信问怎么做到的,然后就被推去报名了。
闹呢?居然说自己Java还是专科0经验22k的?关键还是江西那边……
那边互联网大厂就没几个,除了蚂蚁和腾讯在那边有分公司。
大家擦亮眼睛谨防上当受骗,因为我曾在机构上班的时候也会在自媒体平台的评论区这么发,成功招到一个人就是四千块,这还是几年前的价格。
必填内容 发表于 2023-10-3 19:59:44|来自:中国 | 显示全部楼层
现在是2022年了,给题主提供一个角度:
坐标深圳,20-30人的小公司,随便发出去的java岗位,没有公司简介,没有公司相册,没有公司头像的不知名小公司。
就这样,一天收到简历200-300份
只招一个人~
中大型公司连想都不敢想……


————————

更新几张群里的聊天记录,大家体会下:





若无琦事 发表于 2023-10-3 20:00:13|来自:中国 | 显示全部楼层
兄弟,如果是转行要慎重考虑。可以明确的告诉你市场没有问题。先考虑好学习成本和效果。
接下来我来帮你计算下自己的学习成本(包括转行的成本)和未来可能达到的最好效果成正比不。还有市场的一些真实情况。
--
10.22日补充:很多网友问有没有IDEA激活方式,于是写了一个文章,今天补充一下。
简洁有效的IDEA激活方法,适用各种版本(绝对可用)9.2 日补充:原来的回答忘记写面试题了。这里我再分享一份自己整理的 100 道最新 java 面试题【2021】版本 + JavaGuide面试突击版V3.0版。两份资料学下来,找个 20k+ 的工作肯定是够了。
100道java面试题JavaGuide面试突击版V3.0版

我和你一样转行入Java的(本专业管理学),大厂、小厂全工作过的6年老程序员(自学死磕)。把自己转行的一些心得分享一下,如果感觉对你有那么一丢丢帮助,记得在文章末尾点个赞。
不要太在意网上的评论,自己要多拿注意。认准了就往死里学,不然就在自己领域好好发展,只要用心学习,任何行业都有发展空间的。

现在网上的情绪是做过Java工作过的或者正在从业的评价都是各种饱和、内卷。而培训机构对Java评价都是各种前景好、薪资高。敢问培训机构如果拿不到高薪,你能负责不。

学Java除了吃喝住外(教程网上都开源了),其实成本主要体现为学习成本,学习成本主要就是时间成本
补充一句“不要花钱买资料、不要被洗脑报各种课”,现在基本所有的技术资料网上都能找到。找不到你找我。还是那句话,学习Java除了时间成本没有别的消费(电脑应该都有吧,配置8G内存、CPU4核基本够用,处理器I5、I7都ok,当然条件允许更好点的更好)。
时间就是金钱,如果感觉情况不对,赶紧止损(不用怀疑自己,不是不够聪明,只是没有和Java碰撞出火花),各行各业都会有比较好的发展空间的。或者可以考虑IT其他的技术领域。包括运维、前端、测试、产品经理、运营等。网上也都会有很多相应教程的。
可能Java的岗位比较多,再有就是很多大厂愿意招Java或者说Java薪资高,有技术含量等。。。所以很多人都选择学Java。
那么怎么评估学习成本呢?

首先聊聊Java发展现状和市场要求,再通过学习路线计算下学习成本(会给出建议学习时间、能达到的薪资水平以及止损点避免入坑)。再确定是否确定要转行学习。认真读完会绝对会感谢我的。

现在Java开发现状是:市场岗位比较多,但是求职者也比较多,建议boss直聘(大部分公司的官方招聘)多逛逛,结合你自己实际情况填写筛选条件,设定学完后工作经验可以1年以内或者不限(培训机构培训后好像都会包成3年),这方面建议不要造假,甚至可以和boss对聊聊天。



看下如果学完后自己可以投递简历的工作有多少,boss还可以看见每个岗位投递多少简历,好像得花钱,这个就不建议大家花钱了。总之明确知道适合自己的岗位和要求就可以,就可以给自己先立个小flag了。

至于薪资和发展可以参考下表,顶层程序员薪资高的吓人。普遍把程序员分为以下几个级别(有自己标准的不用杠哈,我只说大部分情况,只是参考):
级别工作年限薪资大概描述
实习生应届生4-8K薪资有的按200左右/天算,主要做些辅助或者学习工作,当然牛逼高效除外
初级0-2年8-14K做些简单的增删改查需求,包括运维、测试等,接触的比较多,但都不深,更多停留在简单照猫画虎级别。
中级2-5年14-25K中级阶段程序员技术和薪资范围比较大,也是拉开差距的阶段。需要有强大代码能力,主要写功能需求,并且有一定的理解、设计能力。高端的照猫画虎。
高级5-8年25-35K认真努力学习的一部分中级程序员会晋级为高级,也是程序员的瓶颈之一,高级程序员要具有独当一面的能力。对项目或模块绝对熟悉,主要工作设计、优化、重构、解决疑难杂症。
资深8-10年30-50K资深介于高级和架构之间,要求具备架构师基本素质,和高级的区别是技术栈更加全面,技术深度更加强大。个人认为与架构师的区别是缺少独立的负责过大型架构经验。
架构师8+年>35K普通程序员的最好标准,可以独立负责整个大中型项目的技术,包括设计、搭建、技术选型、成本控制、人员分配等,为项目的稳定性、扩展性以及成本等负责。具有绝对话语权,系统发展顺利没事干,项目扩展、出问题不睡觉(愁死)。
以上这些是95%程序员发展方向,除此之外还会有些技术专家科学家之类的。那些就不多聊了,大家都懂,普通人聊普通事哈。

其实现在60-70%的程序员都停处于中级阶段,如果不坚持学习,很难进入到高级,每向上进一步都是一个瓶颈。现在公司都不惜重金招聘高级开发人员,一个高级开发人员的价值和效率可能是普通程序员的好几倍。进入这个行业后想躺平就算了,要做好不断学习准备。新技术出现速度和市场要求的高度会远高于你学习的速度。

至于发展空间可以按照以上的工作年限参考,没有统一的考核标准。HR看到你简历时会参考年限和你期望的薪资给你定下级别,然后结合技术匹配项目之类的看看是否给你约面试。如果面试成了,又通过试用期,你就可以间接的理解你的级别的了。

例如你工作3年,要薪资18K,那么你可以理解你就是中级程序员。如果中级干了很多年你想看看自己是否找到高级工作,可以薪资照着上表的范围要,如果面成了,又过试用期了。恭喜你,升级了。

当然某些公司也会有欺负人的情况,例如我一个朋友比较老实,在某东做Java开发,薪资一直13K,离职时才知道自己是T5级别(高级)。当然时间比较早了,现在大厂都有完善的等级制度的。

接下来说一下学习成本的问题了。说实话,如果是转行学Java,在没有领悟编程思想前,有点难。可以这么,学习前期就是各种跟着视频敲,不管是看视频还是看书,都能看懂、听懂,也能跟着敲。如果脱离书和视频就一脸懵逼。当然,这也是正常现象(当初我学的时候就是这个体会)。

《第一阶段》-20天   身价:0K
学习时基本都是从Java基础也叫JavaSE开始学起的,这个可以看作是试学阶段,如果不感冒及时收手止损,如果你想报班学,也建议自学完JavaSE再确定。建议看视频学习,网上的视频很多,当初我是看《毕向东Java视频学习》的。最好找个有激情的老师讲的,不然会比较困,还会比较乏味。建议看B站视频。



黑马最新JavaSE零基础入门到入土(idea版)_哔哩哔哩_bilibili
推荐这个视频还有一个原因就是笔记比较详细规整,看笔记能节约很多的时间,大幅提高你的学习效率。基础较好的同学可以直接看笔记,跳过简单的部分。不能放网盘链接,之后想办法或者点赞私信我。这是我学习时画的思维导图,专治各种记不住。
JavaSE 思维导图合集(14张)
这个阶段建议在20天之内完成,每天3-4H学习,不必要求自己全部理解或者全部学习下来。能把代码敲完,并且理解每个技术的主要作用和意义。理解技术比多敲几遍意义要大。

如果上述这些认真学了快40天感觉还是很费劲,建议就不要继续了。不是你不够聪明,可能说明你对技术不怎么感冒。如果更快时间学完,那就继续加油,远大前途等着你呢。

第一阶段学完之后有必要了解下互联网项目整体技术架构,知道都应该学什么。



图中区块技术描述java是否需要学习
前端android、IOS、vue、react等主要是客户端开发,包括app、小程序、PC等,属于前端开发不必,能看懂就行,之后想做全栈开发需要学习。
网关和注册中心SpringCloudJava微服务生态重要技术必会。大、中公司开发全用到
服务中心SpringBoot、Mybatis等Java服务端和数据库交互端技术必会。基本所有Java项目都会用
中间件RocketMQ、Kafka、redisJava技术体系内的必会。大部分公司都会用到
基础设施Mysql、ES、OSS等数据库存储,保存项目数据的。以关系型数据库为主必会,非常重要。数据没了,项目间接也就黄了
以上这些技术基本涵盖了一个中型公司Java技术架构,如果这些技术全部吃透,基本可以成为高级开发了。当然还要结合一些项目经验,毕竟学技术的目的是做项目哈。有很多开源项目是非常值得学习的,之后再介绍。

《第二阶段》-2天    身价:2K
第二阶段开始学习数据库,可能刚学的时候不太理解,没关系,操作一定要熟练,要多练。建议学完后每天抽出半个小时时间练习Sql语句,几个月后求职阶段可能让你多拿几千块钱薪资。
老杜带你学_mysql入门基础(mysql基础视频+数据库实战)_哔哩哔哩_bilibili《第三阶段》-5天    身价:3K
第三阶段学习JavaWEB包括一些前端Html、Css、JavaScript相关技术,这个阶段很难理解,主要讲的是客户端(上图前端)与服务器(上图服务中心)是如何交互数据的,需要记的点比较多,还是建议多理解,不懂的地方多看几遍或者多查查网上资料,也可以私信我哈,随时欢迎。
黑马程序员JavaWeb全套教程,Java Web从基础到项目实战(IDEA版)_哔哩哔哩_bilibili《第四阶段》-7天   身价:6K
主要学习SSM(Spring、SpringMVC、Mybatis),现在SSH(Spring、Struts2、Hibernate)现在用的比较少了,都是一些老项目在用,所以不建议学了。当然如果有时间可以看看,对比下SSM和SSH优劣势。能提高很多技术设计相关的思想。
黑马程序员最全SSM框架教程|Spring+SpringMVC+MyBatis全覆盖_SSM整合_哔哩哔哩_bilibili学完以上技术恭喜你可以自己完成简单的Java项目,如果大学生可以做也毕业设计了。放在6、7年前,已经可以拿到一个不错的工作offer了。为了检验自己的学习水平和巩固基础,可以试着完成一个小型管理系统。
建议时间:5天     身价:8K
可以去码云搜索SSM然后选择Java语言,按照stars排序。自己找一个项目跑起来,然后自己捋顺代码和结构,不必自己能绝对完成。如果感觉困难,网上也有管理系统项目视频,B站搜“SSM项目就行”,这块主要练习,我就不推荐了。



《第五阶段》-15天   身价:14K
这个阶段主要学习分布式和为服务技术,技术比较多,也比较难理解,需要付出更多的努力,学习前大家一定一定要先把分布式和微服务的概念弄清楚。否则越学越扯,尤其时分布式出现的历史,以及互联网技术架构的发展,非常重要。
这阶段的技术包括:SpringBoot、SpringCloud、Redis、RocketMQ、ES、VUE(选学)、Linux
【小白入门 通俗易懂】2021韩顺平 一周学会Linux                我的学习笔记思维导图:
linux 全知识点框架SpringBoot:
雷丰阳2021版SpringBoot2零基础入门springboot全套完整版(spring boot2)_哔哩哔哩_bilibili                我的思维导图笔记:
Springboot汇总SpringCloud:
【狂神说Java】SpringCloud最新教程IDEA版                 我的思维导图笔记:
SpringCloud思维导图Redis:
黑马程序员Redis入门到精通,Java企业级解决方案必看_哔哩哔哩_bilibiliRocketMQ:
黑马程序员RocketMQ系统精讲,电商分布式消息中间件,硬核揭秘双十一_哔哩哔哩_bilibiliElasticSearch:
【马士兵教育】ElasticSearch入门到精通2021最新教程(Elasticsearch实战海量数据搜索服务从入门到精通)完整版!_哔哩哔哩_bilibiliVUE(快速学习,可以了解一些):
黑马程序员vue前端基础教程《电商项目》-20天   身价:15K+
学完这些技术基本已经可以,最后再做个整合,学习电商项目溜溜缝。
电商教程《谷粒商城》把整个电商项目结合技术全部梳理一遍,如果全部能理解,基本完全能达到应用级别开发的水平了。

至于很多人说数据结构算法或者操作系统之类的,这些确实比较重要,但是对于刚入门的并且应用级别的开发公司不需要,因为前期你的薪资要求也没那么高,先以找到工作为主,工作中再去学习即可。

到此为止就结束了嘛,实际还没有。我们学习的目的是找工作了,所以还有最后两步:
建议时间:10天   身价18K+
第一步:找作品,也就是项目:



研究2-3个,然后可以写在简历上,简历书写方式之后更新,太晚了,写不下去了。

第二步:面试题得看啊
Github 榜首!B 站疯传!程序员思维导图 48 张!!!这就是整个学习成本,每个阶段的学习时间建议不要超过50%,不要和技术太死磕,感觉困难可以往后看,可能看到后面的内容时对前面的困难点恍然大悟,但是项目一定要认真看。自己可以参考评估下吧。
如果中途实在没能坚持下来,不要怀疑自己,不是说你不够聪明,只能说对技术不感冒。如果还想在从事IT行业,可以参考以下职位:
岗位名称所学技术岗位描述
前端开发工程师H5、JavaScript、vue、react等APP、小程序、PC等客户端开发
性能测试工程师python、jemter、loadrunner、fiddler等前后台服务的研发设计、代码评审、发布流程,提出设计缺陷、代码隐患、架构合理性、稳定性问题等
运维工程师Linux、shell、docker、k8s等负责公司平台的稳定运行,可靠性保障,基础服务组件的测试、配置、部署与上线,平台的监测、应用预警、故障处理、性能信息采集、统计与分析
产品经理原型设计、PRD等产品设计,实现产品团队完善营销能力,产品功能的拓展,满足营销项目及各类活动的运营需求,业务指标体系建设,用产品化的方式抽象业务数据需求,并进行合理呈现
UI设计工程师Photoshop、Illustrator、DW、C4D等产品web端、移动端UI设计,参与产品前期视觉研究、设计流行趋势分析,准确且快速理解产品需求和交互原型,设计出符合逻辑且易于后期迭代优化的数据可视化界面
zhangdongsheng 发表于 2023-10-3 20:01:08|来自:中国 | 显示全部楼层
罗曼罗兰在他的书《米开朗琪罗》里有一句耳熟能详的话,“世界上只有一种真正的英雄主义,就是认清了生活的真相后还依然热爱它。”前几天有个读者私信我,我就问了两句话,“想学编程吗?确定自己要转行吗?


如果确定,那 OK,我告诉你该怎么学。不是我在这吹牛逼,我在知乎上的一些回答真的是有帮助到大家,毕竟我在 Java 这个领域已经待了十余年了,有着非常丰富的经验和心得,我知道该怎么学习 Java。
现在是 2021 年,Java 市场饱和了没?真正热爱编程的,真正下决心转行学 Java 的,永远都不会觉得迟了
不要犹豫,不是培训机构忽悠你,而是一个真理,如果大学不再教 Java 了,培训机构不再教 Java 了,那说明 Java 市场是真的饱和了!现在完全没有啊,Java 工程师的需求量依然非常大,尤其是好的 Java 工程师,真正能解决问题的 Java 工程师!
我这有一份 GitHub 上标星 115k 的 Java 教程:包括 Java 核心、Java 集合框架、Java 并发编程和 Java IO,非常全面,如果你确定要转行学 Java 的话,我推荐你先过一下这份教程,测试一下自己到底对 Java 感不感兴趣,能不能学会。
GitHub 星标 115k+的 Java 教程!认准一件事,千万别犹豫,要知道,每年和你一样,想要切换赛道的人很多,如果你不趁早准备,那可能等你下定决心的时候,就真没位置了。
退一万步说,就算 Java 未来真的饱和了,你有 Java 编程的基础,再转到 Go 这种新兴的编程语言去也是一件很轻松的事,对于我们码农来说,重要的是搬砖,至于你用的是什么编程语言,完全不受限制的。就拿我来说吧,我有 Java 的基础,我学 Python,学 Go,学任何一门新出来的编程语言,都能在很短的时间内上手的,真不是我吹牛,你问任何有编程基础的人,都会这么说。
因为我们学的是计算机科学,而不是编程语言,语言只是工具
好了,听我说听我说,如果你确认自己要转行,那就别犹豫,来看一下二哥为你制定的 Java 学习路线,可以称得上是史上最强了。
先给大家看一下 Java 的整个知识体系,希望你不要被劝退哦,如果你连这个大纲都承受不了,说明转行的风险很大



图片内容参考自 Hollis 的成神之路

我单独把高级篇的内容拎了出来再贴了一张思维导图。



图片内容参考自 Hollis 的成神之路

对这两幅思维导图,知乎上有一位同学对其的评价非常高,激动得我都回了两条,表示 respect。


具体该怎么学呢?
第一个阶段, Java 环境和工具准备


  • 下载、配置 Maven
  • 下载、安装 IntelliJ IDEA
  • 准备一个 GitHub 仓库(或者码云),管理 Java 源代码
Maven 是需要提前安装和配置的,因为后面进阶的话,需要一些练手项目,它们通常都需要 Maven 来加载第三方类库。
敲代码就用 IntelliJ IDEA 吧,千万别用记事本,否则 6 个月时间真不够用!有了 IDEA,连 JDK 都可以直接下载了,舒服啊!后面学习源码的话,还可以直接反编译字节码。什么?英语功底不行,安装这两款 IDEA 插件啊:中文汉化包和 translation 翻译插件。
为什么还需要 GitHub 仓库或者码云仓库呢?它们可以用来在线云同步源代码,防止版本丢失。学到最后,还可以形成一套自己的工具库,轮子就有了,上班的时候工作效率就会高很多,能直接用的代码再也不用重新写了。
第二个阶段,Java 基础入门

你也可以选择看书,我推荐《Java 核心技术卷》,分为上下两册,上册的难度较低,可以在短时间内刷完。下册涉及到的内容有流与文件(☆)、XML、网络(☆)、数据库编程、国际化、Swing、AWT、JavaBean、安全(☆)、脚本编译和注解处理、分布式对象、本地方法(☆),没有标星的内容我认为可以略过。
你也可以选择看视频,B 站上动力节点和尚硅谷的都不错,还有浙江大学教授翁恺教授的《Java 程序设计》也不错。
【尚硅谷】Java基础全套教程,JAVA零基础入门必备,适合初学者的完整视频 (宋红康主讲)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliJava零基础教程视频(适合Java 0基础,Java初学入门)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili翁恺  Java程序设计_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili挑一个来看就可以了。注意跳过:

  • 环境变量配置
  • editplus 的安装
  • 单行注释
  • 多行注释
  • 文档注释
  • 变量的定义
  • 三元运算符
  • JDK 的安装
  • PATH 环境变量的配置
  • 变量
  • 数据类型
  • 循环控制语句 if、if-else、while
  • MyEclipse
  • 等等
我没有完全挑出来,尤其是当你读过这份《GitHub 星标 115k+的 Java 教程》后,很多内容都是可以直接倍速看的,这样就省去了很多的时间。
第三个阶段,Java 框架

想成为一名合格的 Java 后端开发工程师,Spring 的系列框架是必须得掌握的,yyds。从 SSM(Spring+Spring MVC+MyBatis)到 Spring Boot,再到 Spring Cloud,至少能在 Leader 的协助下,上手实现基本的业务功能。
事实上,Spring 早已成为 Java 后端开发的行业标准,如何用好 Spring,是 Java 程序员的必修课之一。由于 Spring 的快速发展,它逐渐从一个轻量级的开发框架变成了一个“庞然大物”,越来越笨重,导致搭建一个应用程序的成本越来越高,于是 Spring Boot 就应运而生了,它能帮助开发者快速搭建出一个独立应用,只需要很少的配置就可以了。可以毫不夸张的说,Spring Boot,牛逼!
Spring Cloud 利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,可以说,Spring Cloud 的诞生,又一次解放了Java 程序员的生产力。
关于 SSM 的学习,可以看下面这个视频,能为后面学习 Spring Boot 打下坚实的基础。
SSM 实战 100集_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili我来简单介绍一下 SSM 具体是什么。
1)Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它可以装载 Bean,也就是 Java 中的类,包括 Service、Dao 里面的;利用控制反转这个机制,我们就不用在每次使用类的时候用 new 关键字声明并初始化。另外,Spring 事务管理也是开发中常用到的。
2)来看一下 SpringMVC 的工作原理:

  • 客户端发送请求到 DispacherServlet(分发器)
  • 由 DispacherServlet 控制器查询 HanderMapping,找到处理请求的 Controller
  • Controller 调用业务逻辑处理后,返回 ModelAndView
  • DispacherSerclet 查询视图解析器,找到 ModelAndView 指定的视图
  • 视图负责将结果显示到客户端
3)MyBatis 是一个支持普通 SQL 查询,存储过程和高级映射的持久层框架。它对 JDBC 做了封装,让数据库底层操作变的更透明了。 MyBatis 的操作都是围绕着一个叫 sqlSessionFactory 的实例展开的,通过配置文件关联到各个实体类的 Mapper 文件,再由 Mapper 文件映射每个类对数据库所需要执行的 SQL 语句。
关于 Spring Boot、Spring Cloud 的学习,可以看纯洁的微笑的博客,访问量在千万级别以上,影响了无数的初学者,我也是被影响者之一。
spring-boot - 纯洁的微笑博客
spring-cloud - 纯洁的微笑博客
学完了 Spring 框架后,就可以尝试做一些练手项目了。我这里给你推荐一些牛逼的 Java 练手项目,文档都非常全面,非常适合自学。
1)电商秒杀
SpringBoot 完整电商系统 Mall:包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。
miaosha:秒杀系统设计与实现。
2)博客论坛
vhr:微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。
halo([ˈheɪloʊ],意为光环,也可以当成拼音读(哈喽)):一个优秀的开源博客发布应用。
接下来,我再来说一下公司在招聘的时候重点看重的。
1)数据结构与算法
先说数据结构,清楚数组和链表的区别吗?引深就是清楚 ArrayList 和 LinkedList 的区别吗?如果连这两个基本的数据结构都搞不懂,你就不可能理解:堆、栈、队列、红黑树、平衡二叉树等等这些更复杂的数据结构。
再说算法,会冒泡排序吗?会选择排序吗?会插入排序吗?会快速排序吗?这些不能手到擒来的话,还有归并排序、希尔排序、基数排序、计数排序、桶排序、堆排序等等这些也够悬?就更别提KMP算法、贪心算法、回溯算法、动态规划、递归算法了。
不是说面试的时候要考察数据结构和算法,工作的时候这些都是解决性能问题的杀手锏。这里给大家推荐一份纯 Java 版的 LeetCode 刷题笔记吧,对算法薄弱或者需要提高的同学很有帮助
刷完 300 道 LeetCode 题后,我强到可以和面试官硬刚!纯正 Java 版2)数据库层面
Java 后端开发基本上都要和数据库打交道,毕竟不操作数据库的项目连毕设都算不上,要做好一名 CURD Boy,你至少要懂得下面这些:

  • 基本的 SQL 语句会写
  • 清楚 ACID 原则
  • 清楚事务的隔离级别
  • 会用索引
  • 清楚全局锁、表锁和行锁
  • 明白 count(*) 之所以会慢的原因
  • 知道幻读有什么问题
  • 知道读写分离中的坑
  • ...
  • 最重要的,误删数据后除了跑路,你还能做什么
就以 MySQL 为例吧,怎么才能学好呢?对于基本的 SQL 语句,推荐《SQL 必知必会》这本书,很薄,很快就能学完了。然后是《MySQL 必知必会》,讲的很全,但很简练,非常适合零基础的学弟学妹。如果想更深入的学习 MySQL 的话,推荐两本书,《高性能 MySQL》和《MySQL 技术内幕:InnoDB 存储引擎》。
3)操作系统层面
为什么要学习操作系统呢?
第一,面试要考;
第二,无论学习哪门子编程语言,比如说 Java、C/C++,都需要和操作系统打交道,像 Java 中的多线程技术,其实是由操作系统来负责进程和线程管理的;
第三,学习操作系统,还能学到内存分配方面的知识。
基本上所有的 Java 程序最终都会部署在 Linux 操作系统上,如果你连基本的 Linux 命令都搞不懂,可能连环境都搭建不好,更别提顺利地把项目跑起来了。
大学阶段,最好把《深入理解计算机系统》这本黑皮书过一下。不过,说实在的,这本书对新手是有劝退功效的,最好在大三的时候再读,大一大二的时候先攒一些编程经验。计算机底层的东西一般都很难消化,因为理论性很强,并且短时间内看不出它有什么样的价值。很长一段时间里,我们甚至会有一种错觉,就是这些知识好像用不上。但往往这些底层的东西,决定了我们的上限。
这也是我近些年才想明白的一件事,我之前也是不太注重这方面的知识,总觉得只要编程语言学好了,能把工作搞定就行了。但往往遇到技术攻坚和性能调优的时候,会非常乏力。说白了,就是因为对计算机底层的东西没有很好的掌握。
对于豆瓣上几乎满分的《深入理解计算机系统》这本书来说,假如只打算读一遍,那我还是劝你最好不要浪费时间,因为这样的书只读一遍的话,吸收到的知识是极其有限的,它真的不好读。我觉得至少要读三遍以上吧。
第一遍,尽可能在短时间内速读一遍。不要陷入某个具体的知识点,这一遍的主要目的是通晓每个章节的重要知识点,切记,只是通晓,不要尝试理解透彻,对于一般人来说,透彻是不可能的。
如果有可能的话,可以画一下思维导图,把你感兴趣的或者你认为重要的知识点记录下来,为第二遍做好准备。
第二遍,尽可能地去理解那些你在第一遍中记录下来的知识点。放慢节奏,放稳心态,不要着急,遇到仍然看不懂的知识点可以暂时跳过,也可以找同学、朋友、前辈交流,不要钻牛角尖,非要把某个知识点搞懂怎么怎么样,因为这书不简单~
最好每读完一章能写出来点什么,可以去网上搜对应知识点的文章,看看别人是怎么理解的,甚至可以动手画一些图,在画图的过程中,去理解,一图胜千言嘛,如果你能用图把知识点梳理出来,可能就真的理解了。
第三遍,过一段时间后再去重读。认认真真过了第二遍后,你应该花费了很大力气,能掌握的应该都掌握了,但大脑也需要从紧张的情绪当中放松出来,于是你需要放一放,去阅读一些其他方面的书籍,或者去学习一些其他方面的知识,可能你会发现,“害,这个知识点《深入理解计算机系统》有讲过呢”,当你有这种感觉的时候,读书的效果就真正体现出来了。
第三遍再读的时候,就没有第一遍那么痛苦了,毕竟你已经掌握了一些知识,这些知识只是温习而已,相对会轻松很多。所谓“温故而知新”,这一遍你可能会产生新的想法,就进入一个新的境界了!
4)计算机网络层面
面试过大厂的同学应该对计算机网络这块深有感触,什么 TCP/IP 三次握手,四次挥手,TCP 和 UDP 的区别,HTTP 协议等等。一开始学 Java 的话,可能会觉得计算机网络没什么用武之地,等到你开始接触 Tomcat,接触 Nginx,接触网络编程,比如 BIO 和 NIO,以及网络编程框架 Netty,你就会感慨,要是劳资当初把计算机网络这块的知识打牢该多好呀。
入门的话,推荐三本书:《图解 HTTP》、《图解 TCP/IP》、《网络是怎样连接的》。如果觉得书籍比较枯燥的话,推荐 B 站上的《计算机网络微课堂》。


视频地址:https://www.bilibili.com/video/BV1c4411d7jb?p=59
再往深处学习的话,就是两本黑皮书《计算机网络·自顶向下方法》和《TCPIP 详解,卷 1:详解》。
如果你能按照我的这个路线学下去,哪怕是 Java 市场真的饱和了(虽然短期内不太可能),你仍然可以“敌军围困万千重,我自岿然不动”!因为你已经真正掌握了编程的核心,掌握了举一反三的能力,那么再切换到别的赛道,也是轻而易举的事情。
最后,给大家一点点建议。
1)每天适量刷题
题是一定要刷的,但刷起来一定要有节奏感,不能今天狂刷 30 道,明天 1 题不刷, 即便是 30 道真做出来,也不见得你能坚持下去。细水长流,保持节奏感,不要到最后连账号和密码都找不回来!没有解题思路的话,可以参照我这份纯 Java 版的 LeetCode 刷题笔记。刷题不仅可以提高你的编程思维能力,还能在面试的时候“吊打面试官”。
刷完 300 道 LeetCode 题后,我强到可以和面试官硬刚!纯正 Java 版2)能打竞赛就打
很多招聘信息上,明写了,打过 ACM 竞赛的优先考虑。所以如果你还在大学阶段的话,有时间有精力的话,竞赛一定要打。
3)让开源作品成为你的名片
我有一个好朋友, @JavaGuide,大三就开始整理 Java 方面的学习总结,他的同名项目在 GitHub 上已经 100k star 了,这个开源作品估计你可能也听说过。大家学习和工作之余,如果有精力的话,可以把自己的知识笔记和刷题笔记整理开源出来,写在简历上,可以说是一个吸睛点。
我是 @沉默王二,如果内容对你有帮助的话,别忘记点赞哦(注意加粗),偷偷搜藏也是可以的(注意没加粗)~~~

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则