java吧 关注:1,301,060贴子:12,846,374

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

取消只看楼主收藏回复

关于数据结构于算法、计算机组成原理、操作系统、计算机网络等基础课,我的理解是,他们的确是软件工程的基础,很多软件、框架、语言、工具最终都是由这4门课组成。
学好他们的确能快速接触很多新的技术。
可惜我不建议你一开始就学这个,一是这些课程都很干,很枯燥,很劝退,很难,很多人当上架构师都不一定完全掌握和精通这四门课。二是我们的目标是尽快找工作,学号这4门可能会帮你更容易进大公司,但是很可惜,我们这些人一开始转行的时候基本是和大公司无缘,一开始的目标就是各种小公司,小公司都是希望你尽快上手干活。
记住我们的目标,尽快转行,尽可能的容易找第一家公司。


IP属地:广东23楼2021-04-10 16:30
回复
    刚刚看完RNG打TES的比赛
    就以他作为例子
    LOL比赛的英雄毫无疑问都是版本强势,但是你路人局是不是就适合呢?又是不是适合低端局呢?
    很多英雄明显就不适合新手,例如巴德、黄鸡之类的,适合新人的永远是那些高攻高输出的英雄,例如断头台。
    现实世界也是一样,很多道理本来是没错的,但是不一定适合现在这个阶段的你。


    IP属地:广东24楼2021-04-10 18:05
    回复
      2026-04-08 12:40:39
      广告
      不感兴趣
      开通SVIP免广告
      Rng打tes的比赛太激烈了。
      最后一波偷家。
      其实有些时候我们应该知道,如果正面刚不赢就不代表没出路,条条大路通罗马。换条路可能你就是优势。


      IP属地:广东来自Android客户端26楼2021-04-10 22:07
      回复
        最后一个咨询来源就是百度网上了,其实现在百度这个东西基本全是培训机构的广告。


        IP属地:广东来自Android客户端27楼2021-04-10 22:08
        回复
          今天终于下班了,公司大小周有点累。
          当时我确定开始转行的时候,需要做一个抉择,就是it行业也有很多领域
          前端、后端、运维、测试、大数据、人工智能。
          还有行业,到底是深耕游戏、电商、社交、企业端?各种迷惘。
          现在我可以就给出一些我自己的理解。


          IP属地:广东32楼2021-04-11 22:24
          回复
            人工智能:应该是天花板最高,工资最高的的一个领域了。但是学历基本是研究生起步,没这个学历基本都被卡掉。
            这是一个赢者通吃的领域。一个天才胜过一堆庸才。所以公司里面算法工程师一般不会很多。只要一个人最好一个算法模型,其他人复制使用就行了。
            而且我想说,很多小公司压根就没算法工程师。


            IP属地:广东33楼2021-04-11 22:25
            回复
              大数据:天花仅次与算法,工资也是仅次算法。而且一般也是研究生学历起步,如果不是专门的数据公司的话,普通的企业一般不会有什么大数据工程师,因为很多小企业的数据压根就不大。
              岗位数量比算法多一点,但是还是没开发的需求旺盛。
              我和公司的大数据人员接触,感觉他们每天就是一个sql boy,天天跑sql生成报表,帮业务方统计各种数据,做ppt汇报老板。
              由于这个岗位能接触领导层,所以天花相对开发要高不少。
              不过,工作可能没那么好找。我之前接触了不少大数据的实习生,他们都在担忧毕业找不到工作。他们都想去大公司,而大公司的数据岗又很少,小公司的数据量又很小,进去基本就是sql boy,不好提升也不好跳槽。
              对了,那些大数据实习生要不来自211、985高校,要不就是香港或者外国留学生。


              IP属地:广东34楼2021-04-11 22:34
              回复
                然后就是后端了
                后端某种意义上说是一个工程性质的岗位。
                后端开发人员需求性质有点想工地上的搬砖工人,当行业发展旺盛的时候,就需要大量的工人,这个时候工人的工资就水涨船高。
                后端开发是整个it岗位里面需求最旺盛的,所以如果后端整体都不好找工作的话,其他就更难了。
                学历的话基本只要本科就能达到绝大部分公司的门槛,很多公司大专也可以。如果能力强的话大公司也接受大专,所以说这个岗位的包容性还是挺强的。
                不过工人性质就意味着只能出卖劳动力换钱,所以天天说程序员35岁危机,一般是说在一线工作的、工人性质的开发。
                不过后端开发人员的出路比较灵活,可以转架构,可以转产品,转项目经理。
                出去创业做软件等,因为后端往往是一个系统的核心。
                至于语言的话,基本就是那几种,java、go、python、c++,c++貌似就腾讯,python的话适合当第二语言,不适合当第一语言。字节内部很多前期用python写的系统都改成用go写了。因为python很容易有性能瓶颈。
                而我大java,无论是性能或是生态圈都比较完善,加上国内阿里盛输送大量java人才,这些人才去当创业公司的cto或者架构师的时候,基本就是用java全家桶了。


                IP属地:广东35楼2021-04-11 22:51
                回复
                  2026-04-08 12:34:39
                  广告
                  不感兴趣
                  开通SVIP免广告
                  前端的天花板比后端要低。
                  但是由于需要学习的东西比后端少,而工资缺没差后端几个钱,所以前端的性价比是比后端高的。
                  需求量是仅次与后端的一个岗位。
                  工作内容可能会比较繁琐,因为很多时间都在调整页面样式。
                  由于也是工人性质的岗位,后期也需要转型,转型道路比后端少了一个架构师。一般是前端组的组长之类的。
                  前端男女比例比较协调,我接触的一般是男女55开,而且业务上要和ui交流,而ui一般都是萌妹子。后端一般就是和前段和运维交流,所以你懂得。。。。。。


                  IP属地:广东36楼2021-04-11 23:00
                  收起回复
                    我发觉回帖的很很多人关心大数据
                    我还以为java吧的人都是主要做开发的。
                    所以我觉得有必要把大数据再细说一下。
                    之前说大数据要研究生学历是特指数据分析,风控模型偏数学那一块。
                    其实大数据还有开发那一块,主要关注大数据的分布式存储和大数据分布式运算,这一块的学历其实本科就可以了。
                    当然工资就是处于开发和数据分析模型之间了。


                    IP属地:广东42楼2021-04-12 21:56
                    回复
                      剩下两个岗位是运维和测试,也是接触得比较多的。
                      测试是我认为性价比最高,天花板最低的岗位。
                      性价比高是因为不怎么会技术就能入行,而且工资还不低。
                      很多公司的测试还仅仅是功能测试,就是用鼠标点点点。然后给开发提bug。
                      但是工资呢?不比开发低太多,应该是同水平开发工资的8折。
                      很多it培训人员学得很烂的话找不到开发的工作的话,就会去当测试。。。
                      会写代码在开发领域是最基本的要求,工作都可能找不到。
                      但是会写代码在测试那边却是稀有物种,基本会写代码就是一个高级测试,工资远超那些初中级开发,而且测试妹子比较多,一个不小心就升组长,容易管理一堆妹子了。
                      但是有得必有失,一家公司不可以没后端,不能没前端,但是可以没测试,或者容忍不专业的测试。毕竟而且人人都能当测试。
                      测试在整个软件研发里面是最不重要,地位也是最低的。
                      很多公司的测试都会选择部分外包。
                      功能测试也是工人性质的职业,后续也需要转型。测试后期基本只能转测试开发,做自动化测试和性能,做测试平台等,不过这些都是大公司才有。
                      去过几家小公司,那些领导天天都说要做自动化测试,但是只能天天说,我离职的基本都没法落地。
                      测试:开发比例一般是1:10~1:3


                      IP属地:广东43楼2021-04-12 22:14
                      回复
                        运维
                        听名字就知道偏维护性质的职位。
                        工资小于开发大于测试。
                        小公司一般就一个运维,当他搭好环境,写好脚本后,其实每天就可以喝茶了。
                        如果不是遇上什么架构改造,运维基本就没什么工作。
                        运维不属于工人性质,因为开发无论怎么叠功能,其实都是那一套运维环境。
                        运维后期会转运维开发,就是开发各种运维平台,提高运维效率,减少对低级运维的需求,革自己兄弟的命。
                        高级运维一般都在大公司,因为业务少服务器少的时候运维其实作用不大,因为没那么多99.99%的可用性指标,小公司的运维有时会由架构师或者高级开发兼任。


                        IP属地:广东44楼2021-04-12 22:27
                        回复
                          其实我一开始哪会知道那么多。
                          就是感觉测试太low。
                          运维比较背锅。
                          前端调css繁琐。
                          大数据可能会找不到工作。
                          听别人说能后则后,才最后才选的java后端。
                          不过其实他们的说法是没错的,后端的地位会稍微比其他人高一丢丢。
                          而且很多时候所谓的项目奖金什么的都是给开发的,因为冲业务的基本都是开发在肝


                          IP属地:广东45楼2021-04-12 22:39
                          回复
                            当时开始的时候也纠结过到底是自学还是去培训机构。
                            由于去培训机构需要脱产学习,我有些害怕转失败,所以是在网易云课堂看了些基础的公开课,然后买了某宝某马的视屏学习的。
                            但是白天在上班,晚上回去自学,周末双休全天呆家里。
                            其实现在回想如果有人在身边教导真的就会少走很多弯路,因为开始学习的时候是各种磕磕碰碰,天天都在和那个idea在纠缠。
                            mvn install报错、启动项目报错,最烦的就是linux安装各种东西报错,当时搞linux都烦死了。
                            自学的过程,部署是能用windows就用windows,因为真的被Linxu搞怕了。
                            还有各种配置不对报错。调整这些错误,啥都没干一天就过去了。
                            我是自学的,我觉得自学虽然很有成就,说出去很牛逼,但是过程是真的很苦。如果时光倒流我可能会去脱产去培训。这样效率会更高。
                            可惜没有如果,这些都是以现在的视野和价值观得出的结论。那个时段的我,无论来多少次都只会死磕自学。


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


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