在校大学生想当程序员,听老叔这番话,你会少走很多弯路【18年开发经验分享】

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

如果说你也是这么害怕和反感写代码,你觉得你趁早去学你感兴趣的东西、做你喜欢的行业。

在这里插入图片描述

3.对代码不抵触但也谈不上喜欢的人,可试试“日久生情”

这种情况是最常见的,自己对写代码这个事情并没有很反感,多多少少有一些念想或者小成就在支撑,但也谈不上很喜欢,因为写代码讲究思维、烧脑子,又或者是因为技术之路感觉长路漫漫,那么这种情况,我建议是你坚持学下去。

只要通过你自己的不断学习,那些你觉得陌生的东西,慢慢就会熟悉了,不管你是冲着月薪上万,还是想做一个酷酷的技术高手,你只要试着跟它相处久了,你会逐渐跟它“日久生情”,最后找到喜欢的感觉。


四、大学期间到底应该学些什么?


在回答这个问题的时候,我突然想起了我大学刚毕业的时候,那时候刚进入工作岗位,很拼,但之余留给我的学习时间不多,而我要学的东西还有很多很多,就特别后悔我自己,为什么大学不好好学,浪费了那么时间,去做了很多没有多大用处的事情。

如果让我的大学重来一次,我必定会这么去学习:

1.文化课

千万不要小瞧文化课,比如我们的英语、高数、统计学和概率学等等,一定要打好基础,程序员的很多项目资料、技术文献都是用英语写的,很多算法是需要高数等知识。

举个例子,很多小伙伴因为英语基础不好,所以在安装开发环境的时候喜欢用破译的中文版软件,我是不建议这么做的。我都建议大家用英文版的,千万别汉化,就好比学车学自动挡还是手动挡,学了手动挡的人,你去开自动挡是没有什么问题的,但学自动挡的人去开手动挡就不行,软件也是一样,用惯了破译的中文版软件,你对英文原版的软件将会束手无策。

还有,千万别挂科。

在这里插入图片描述

2.选1门语言精通

不管是Java、Python、还是PHP,又或者是GO语言还是其他的什么语言,都是可以的,你只要选择1门语言深入学习,直到你掌握了90%以上,你就精通了,千万不要什么都会一点但又不精通,这样你不仅没有优势,而且没有趁手的工具(语言),你很难干成什么事情。

3.掌握好数据结构和算法

在你掌握了1门语言之后,这2个是你最应该去掌握的东西。在程序员界有一句流传的话“好程序=数据结构+算法”,就算你精通语言的API,但那都是表层东西,数据结构和算法才是里层东西,如果你的里层(除开硬件不讲)很垃圾,你表层再厉害你也挡不住1亿的并发。

这个东西在大学的时候要好好掌握,你出来之后想学不一定会有,市面上那些培训机构很少有把数据结构和算法讲得很透彻的,还是大学的时候去学习是最稳妥的,大学的学习资源是很丰富的,要好生利用。

在这里插入图片描述

4.掌握数据库

无论是SQL数据库还是NoSQL数据库,建议你都精通1个,就算是人工智能和大数据方面,数据库都是必不可少的,都需要数据库来进行数据存储,而在一个公司里面,跟数据打交道的程序员薪资都比较高,就好比做前端的薪资没有DBA高。

如果你精力和时间允许的情况下,建议你选择一个热门数据库去学习并精通,比如MySQL。

5.学好网络原理

虽然说这只是原理,并且在最开始工作的时候你可能用得不多,但并不代表它可有可无,而是你技术层面还没达到,当你的技术层面达到了,你会发现这玩意儿它真的很重要,而1个优秀的程序员或者说1个技术高手,对网络原理是很熟悉的。

网络原理涉及的知识有很多,比如七层结构,比如LP规划、HTTP、DNS等等理论知识,掌握好了之后才能让软件具备较高的性能,比如说做出来的直播软件没有卡顿。如果你不懂得网络原理或者一知半解,那么你写出来的程序员并不会很好用。

在这里插入图片描述

6.做1个可持续维护的项目

与其说这里找1个速成的项目做或者那里找1个源码看看效果,倒不如你自己认真地去做1个可持续维护的项目,这样你才能持续地巩固知识、见证自己的成长,并且能自信地拿得出来。

比如说你去做1个类似CSDN的博客网站,在一开始你学习前后端的时候掌握的技术不是很多,你做出来的web网址很low,但没有关系,你继续学习,学到了之后自己去给它添加更多模块,比如说给它添加视频模块,比如说给它添加24小时热度排行榜的功能等等。

记住,这个项目不要去找开源的,那对你来说没什么意义,你要自己去写代码,不断地完善和维护这个网站,最后你会因为这个成果感到有成就感,到最后我相信,你一定会比一般的毕业生优秀很多。

在这里插入图片描述


五、程序员那么多种,我适合哪种?


很多还没工作的小伙伴可能对外面的程序员岗位的种类不是很了解,什么这个工程师啊那个高级工程师之类的,很多头衔,搞得自己都眼花缭乱,根本不知道自己以后想成为哪种程序员。

那么我来给你们总结一下,看完之后你自己可以做个判断,目前社会上工作的程序员主要分为以下几个方面:

1.算法工程师

这类程序员相当于“程序员界的科学家”,技术相当牛逼,基本都是华为、阿里、百度等顶尖名企工作,他们的工作主要就是跟算法打交道,比如说机器学习、图形图像处理、自然语言处理等等,不用说也知道,这种程序员的薪资是最高的。

算法工程师比较适合于爱研究的人、喜欢研究数学且耐得住寂寞的人,像我之前从一家上市公司挖过来的一个算法工程师,他就特别喜欢做研究,天生就如此,脑子对数学和算法这种东西就特别敏感。

2.客户端开发工程师

这是目前市面上需求量最大的工程师,比如说IOS开发、安卓开发、开发前端网页、开发桌面系统等等,他们就可以统称为客户端开发工程师。

目前不管是机构培训出来的,还是从学校毕业出来的,大多数人都是做这类职业,工作也不是很难找,毕竟目前市场上还是供不应求。

在这里插入图片描述

3.研发工程师

研发工程师跟上面的客户端开发工程师有点类似,但是不同的是,研发工程师做的都是后端的东西,用户看不着的东西,比如用C、C++或Java去做搜索引擎系统的程序员,这类程序员也会用到算法,属于公司的核心人才。

研发工程师的需求量也很大,架构师的很大一部分都是研发工程师转换升级而来。

4.数据研发工程师

跟字面意思差不多,就是跟数据打交道,这种程序员基本是整个公司薪资最高的,不过它不是每个程序员都能做的,它不光需要你是一个程序员,而且需要你有统计学背景,二者缺一不可。

5.测试工程师

这个就很有意思了,之前有小伙伴问我说“测试工程师是不是不用写代码?”测试工程师跟很多人想的不一样,测试工程师也需要写代码,它的工作内容就是通过自己写的代码来检验前端、后端等程序员写的代码有没有BUG,所以它并不是很多人眼里那样拿着手机或电脑玩玩游戏、测试下游戏bug这种样子。

不过我个人不太建议大家去做这个,风险比较大,一般小公司花钱去一个测试工程师做代码测试,一般都要求前后端的程序员自己会写代码测试BUG,不过看公司规模和产品要求,有的公司对产品很看重,会有专门的测试工程师,但我建议大家作为1个辅助技能就好了。

在这里插入图片描述

6.安全工程师

安全工程师是1类很博学的程序员,他们往往需要精通多门语言,主要工作是处理安全隐患来保证系统的安全运行。

网络安全工程师要学的东西比较多,基础的黑客知识是必须掌握的,比如漏洞测试工具和远程工具RATS;技术基础也要扎实,AWVS、Nmap、Web安全基础、Malego建议都了解或掌握;Web安全漏洞分析和防御也很重要。攻击、Kail渗透、安全开发、Android安全、系统内核攻防,都是网络安全需要学习的技术。

这是1个很酷的职业,比较适合有极客精神的人。

7.UED工程师

UED工程师与UI平面设计师是不同的,UED工程师又叫用户体验设计,UED是进行产品策划的主力之一,他们用自己的知识、经验、设计能力拿出设计方案。UED不只是互联网专家,还是行业专家。能够用自己的互联网知识来设计出行业专家想实现的操作,而付诸于商业营销。

例如一个产品做出来,大家不知道用户是不是喜欢这个产品,这个时候,就需要UED来针对用户的需求,对产品进行改造。把产品设计为用户喜欢的样子,从而更好的迎合市场。

在这里插入图片描述

UED工程师还是比较适合女孩子去做的,女生比较心细,而且薪资也很不错,行业内也有一些牛逼的UED工程师。


六、快毕业了,是去工作还是考研?

最后

我还通过一些渠道整理了一些大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。

新鲜出炉的蚂蚁金服面经,熬夜整理出来的答案,已有千人收藏

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1713459874454)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-sM9sncXC-1713459874455)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值