java吧 关注:1,301,061贴子:12,846,198

回复:四年前的JAVA小白,通过自学一步一步进大厂的经历

取消只看楼主收藏回复

关于教程什么的,现在网上一大堆,基本看马士兵的就不会有错,那些什么小游戏做不做也罢,快速跳过尽快进入WEB阶段找工作。
我当时做了一个叫“管家婆”的系统?
其实就是让你熟悉下语言,这个在WEB那边做2个功能需求基本就熟悉了。
尽快进入WEB阶段,框架阶段。
然后背面试题才是正路。
基础知识在背面试题的时候再集中熟悉。
面试和工作其实有些时候分得挺开的。


IP属地:广东52楼2021-04-16 23:21
收起回复
    进入WEB阶段才是企业级开发,工业级开发。
    JAVA基础很重要,但是和一线开发差太远。
    WEB阶段有几个比较重要的东西。
    request,response,cookie和session,还有什么是http协议。
    selvet,fillter,lister是J2EE的规范,你不必很熟悉,但是你必须知道最原生的东西。
    tomcat其实就是网络编程+实现J2EE规范的产品。
    springmvc,spring其实也是在selvet,fillter,lister的基础上诞生的框架。
    总体来说,前期重知识理论,后期重框架实践。你跳过前期的理论直接去框架实践会学得比较累,因为你只会跟着视频操作,你不知道为什么要这么配置,中间出了任何问题你都不知道发生什么事。


    IP属地:广东53楼2021-04-16 23:36
    回复
      2026-04-08 14:00:05
      广告
      不感兴趣
      开通SVIP免广告
      学完selvet,fillter,lister后,可以开始我们的框架实践了
      有2个框架大家可以直接放弃
      struts2和hibreanate可以直接放弃,现在基本只有老项目才会继续用。如果面试的企业要求你会这2个怎么办?那就不去也罢,大把好公司等着我们去面试呢。
      springmvc,解决web的程序入口参数绑定等WEB问题。
      spring,一个为了bean而生的容器。
      mybatis,一个orm框架
      他们统称SSM
      上面的框架你要知道是干什么的,而且要熟练使用,基本上企业的工作大部门是在和这三个框架打交道。
      在学习ssm的过程中你会发现要配置很多东西,如果每个工程都要这样配会很累。一般人的做法是做一个标准的代码,以后新建工程就由这个标准的代码复制过来,再在上面开发,我们一般叫这个做“脚手架”。
      然后当大家都需要这个标准的“脚手架”的时候,springboot诞生了
      内置tomcat,自动装配,开箱即用。
      springboot其实没创造什么新的东西,只是做了一个标准,做了一个脚手架,把其他框架对接下而已。


      IP属地:广东54楼2021-04-16 23:47
      收起回复
        然后就是我们大名鼎鼎的springcloud了
        当年的springcloud还是很火爆的一个玩意,但是现在貌似是标配了?
        springcloud的组件很多,但是入门比较快,我记得当时是一天一个组件,一个星期7天学完就入门了。
        其实入门springcloud不难,难得是背后的分布式系统。
        当你使用springcloud的时候,你会面临一大队分布式问题。消息丢失、消息重发、幂等、分布式锁、分布式事务、分布式链路跟踪等一大堆分布式问题,这些问题都是分布式的面试重点,基本中高级开发都是必问的。
        如果你有精力学习这些就最好,学不到的话基本前期就只能当个初级开发。
        话说,大家有没有想过,既然使用springcloud做分布式系统会导致这么多问题,那为什么还要做分布式系统呢?单体应用简简单单不香么?


        IP属地:广东55楼2021-04-16 23:56
        回复
          然后就是工程管理工具GIT和MAVEN
          其实这两个就是工具,面试基本不问,但是需要你会用。
          git add
          git commit
          git push
          git checkout
          git merge/rebase
          之类的怎么拉分支,怎么提交代码
          maven怎么配置仓库怎么管理依赖
          命令用得最多的就是
          mvn clean
          mvn test
          mvn install
          其实这个玩意就是一个工具,有很多功能,就看你玩得6不6,前面会这些就行,后期有时间再慢慢深入


          IP属地:广东56楼2021-04-17 00:06
          回复
            剩下就是各类的中间件了
            分布式缓存,redis
            分布式队列:rocketmq,rabbitmq,kafka
            分布式选主:zk
            分布式搜索引擎:es
            分库分表框架:shardingjdbc
            当然还有mysql
            还有操作系统linux
            这些都是面试的常客,他们不仅仅是面试要用,日常工程中都要用。
            MQ和redis、mysql基本是每个项目的标配了。
            上面的中间件,只要你有一个很深入,写精通redish或者精通rocketmq或者精通mysql,然后把这其中一个中间件的问题都回答清楚,高级开发offer基本随便要。
            但是可惜,上面每一个中间件都不简单,深入到最后都是各种分布式理论和操作系统。
            所以某种意义上说,只要你精通其中一个,其他都是触类旁通,因为他们背后都是各种分布式容灾方案,分布式一致性方案,操作系统高性能方案。


            IP属地:广东57楼2021-04-17 00:12
            回复
              学到什么程度才能开始找工作?
              说来惭愧
              我学习速度太慢
              半年时间只学了ssm+git+maven+redis+mysql。
              当然redis只会基本的get set ,mysql 只会基本的sql 和join操作,学了一点点计算机网络。
              oracle都没学,因为没时间学了(事实上我工作了这么久就没用过oracle)。
              但是没办法了,当时学了半年感觉有些要放弃了,而且现实的工作已经被老板嫌弃,再下去只会被裁员。
              只能加快进度,霸王硬上弓出去面试了。


              IP属地:广东58楼2021-04-17 00:19
              回复


                IP属地:广东62楼2021-04-23 00:51
                回复
                  2026-04-08 13:54:05
                  广告
                  不感兴趣
                  开通SVIP免广告
                  最近没更新,主要原因:
                  1、工作太忙,每天下班洗澡就没几个时间。
                  2、感觉帖子没人看,就没更新了。
                  既然有人想看,适逢五一我放假,我就有动力写了。
                  有人问电脑要选什么配置
                  那我就说一下,
                  内存:
                  如果是前端的话,内存8g起步,后端是16g。
                  这个是最低要求了,没有这个内存的话的话会卡死。
                  其他cpu、显卡的随便了。
                  pc和笔记本要求一样


                  IP属地:广东67楼2021-05-01 00:04
                  回复
                    开发软件:
                    java无非两个,eclipse和idea。
                    一个免费,一个盗版免费。
                    如果你没用过 eclipse ,那就直接用idea。
                    如果你在用 eclipse,那么我还是建议你转idea。
                    只有eclipse转idea的,没有idea转eclipse。
                    不过有些古老的教学视频使用eclipse教学的,新人啥都不会,天天都在和各种报错各种配置。生怕是因为开发软件不同导致启动不起来。
                    这个时候就跟着视频的开发软件吧,因为天天处理各种配置报错真的很心烦。
                    不过最终大家都会拥抱idea。只是过程有些区别。


                    IP属地:广东68楼2021-05-01 00:05
                    回复
                      还有转行的年龄和学历的问题。
                      问我xxx岁,xxx学校,xxx专业能不能转。
                      这里我告诉大家我身边的人一个底线和一个平均线给大家听。
                      听完可以自行判断。
                      先说我一个身边的亲身的一个例子
                      我入职第一家公司的时候认识了一个同事,由于刚转行进去的公司比较小,基本找的人都是一些自学/转行+学历一般的人。
                      我这位同事是运维,大专学历都没有,后期考了一个成人本科。我一直认为他不适合在这行干,觉得学历太低,会被大公司卡学历。


                      IP属地:广东69楼2021-05-01 00:13
                      回复
                        后面我和他都离开了这家公司,各自在不同的公司发展,然后各种跳槽。
                        由于我和他关系比较好,每次跳槽的时候都会出来吃个饭,随便互相吹一吹自己新公司的工资。
                        基本上都是我去跳槽一个新公司拿工资刺激他,他就开始面试跳槽反击我。
                        我跳槽到字节的时候,这个朋友也跟着我的步伐跳槽。
                        虽然不是bat这种大厂,但是也是是二线有名气的公司。
                        级别大概是唯品会、网易、酷狗、虎牙这一类。
                        ***的工资差点比我还高
                        有人会很好奇,为什么公司不卡他学历?
                        其实我也很好奇,为什么没卡,而且工资这么高。
                        大概是因为他基本是公司的运维一哥
                        (我们相遇的公司只有一个运维,那时他也是运维一哥
                        他手上管理的服务器由几台升级到几十台、几千台、几万台。
                        用能力去弥补的。
                        其实一般这种例子,说出来大概率都是培训机构用来吸引学生的,我基本是听了反手就是一个不信任。
                        但是这个是我身边亲身触觉例子,我才相信原来有这种学历的人也能这样。


                        IP属地:广东70楼2021-05-01 00:24
                        回复
                          上面是说见到的学历下限。
                          我说一下常规水平吧。
                          公司的java、go、前端之类的工程岗招聘,内部有个不成文规定。
                          学历排名
                          9、985本科、985硕士
                          8、211硕士
                          7、211本科、普通博士、普通硕士
                          6、一本本科
                          5、普通本科
                          4、大专
                          基本可以总结出道理:
                          大专、非全日制基本不考虑(我朋友例子某种意义上是个案)。
                          普通本科就能达到最低门槛。
                          985、211的本科和硕士最好,加分很多,但是本科的硕士的区别不是特别大。
                          博士做工程岗没优势。
                          所以你没大专、本科问我能不能转,我说比较难。
                          就算转成功了,你是天生就是劣势,每次跳槽都可能会被人事直接一个学历下拉框刷掉。
                          部分公司可能通过内推去绕过hr晒选。
                          无论如何,你都要清楚知道你自己在市场中的定位,到底是普通,优势,大优势,还是大劣势。


                          IP属地:广东71楼2021-05-01 00:39
                          收起回复
                            关于要不要转的建议
                            其实这个真的是很难说,因为每个人的特征,每个人身上背负的包袱不同,每个人可以选择的路也不同,鬼才知道这条路是不是最优解。
                            我总结起来就是几个比较吻合的特征了(排名由高到低)
                            1、人的性格的比较闷的,不爱说话,喜欢玩游戏,不爱去人多的地方凑热闹,喜欢呆家里的,比较适合转程序员。因为没事干就可能会看书看视频去实践。所以你看那些程序员大都不爱说话,都是有原因的,因为这类人比较适合干这个。
                            但是这种性格合适你前期转行+跳槽,后期会阻碍你的职业转型和职场发展。
                            2、不讨厌数学,这里不要求你数学多精通,但是至少不讨厌,毕竟做这行还是有点烧脑的,搬砖也需要些逻辑,如果要你和最讨厌的东西天天打交道,你会很痛苦。
                            3、年轻。22-26岁这种都属于比较年轻,30岁就比较大龄了。
                            4、学历,参考上面的。
                            其实***了可以弥补年龄和学历的劣势,年轻和学历某种意识上说也可以互相弥补。
                            但是人的天性却不是年龄和学历能弥补的。
                            有些人会说什么要看对程序对代码的热爱
                            我对程序不热爱,只是不讨厌,我馋得是他的身子和银子
                            如果他钱不多,我还爱个毛线


                            IP属地:广东72楼2021-05-01 00:56
                            回复
                              2026-04-08 13:48:05
                              广告
                              不感兴趣
                              开通SVIP免广告
                              由于跳槽的经历比较多,在不同的公司,遇到各种各样的人。
                              相遇的同事,学历跨度由大专没毕业各种211、985本硕。
                              我相信部分人都觉得学历是他心中永远的痛,后面我再写一写我那些低学历的同事都是怎么找的工作的,每个人都是很特殊,依靠很多的机缘巧合,大部分都不具备可操作性,看一看就好。


                              IP属地:广东74楼2021-05-01 01:00
                              回复