java吧 关注:1,300,979贴子:12,848,544

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

只看楼主收藏回复

楼主的学习路线和平台可以分享一下吗。


49楼2021-04-15 12:42
收起回复
    楼主你好,请问三本去培训大数据可以吗,感觉我这学历去学大数据有点不够看


    来自Android客户端50楼2021-04-15 19:47
    收起回复
      2026-04-06 18:19:24
      广告
      不感兴趣
      开通SVIP免广告
      一开始也是从java基础学。
      其实JAVA基础名字叫基础,但是一点也不基础。
      里面的输入输出流、多线程、网络编程、面向对象和继承多态等其实都是难点。
      因为他们这些东西背后都是一些更深入的基础的具体实现。
      输入输出流对应linux操作系统的文件系统。
      多线程对应linux的调度系统,linux的锁和原子命令,临界区,内存模型等。
      网络编程就是计算机网络的实现。
      面向对象和继承多态是为了“更优雅地描述”这个世界创建的。
      这些某种意义上说都比较高深,我建议一开始第一次听,听不懂没所谓,代码记不住也没所谓,因为你一开始的工作基本不用自己写这些基建类的代码。
      至于面试就等后期集中去面试,你学到这一块的时候有个印象就好,要不你一辈子都卡在这。


      IP属地:广东51楼2021-04-16 23:16
      回复
        关于教程什么的,现在网上一大堆,基本看马士兵的就不会有错,那些什么小游戏做不做也罢,快速跳过尽快进入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
          回复
            学完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
                回复
                  2026-04-06 18:13:24
                  广告
                  不感兴趣
                  开通SVIP免广告
                  剩下就是各类的中间件了
                  分布式缓存,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
                    回复
                      听说java后端很卷,普通本科非科班想转行通过前端转还是后端转简单点呀


                      来自Android客户端59楼2021-04-19 15:49
                      收起回复
                        dd


                        IP属地:江苏来自Android客户端61楼2021-04-21 22:05
                        回复


                          IP属地:广东62楼2021-04-23 00:51
                          回复