后端都要学习什么? 新手学外汇理财先学什么好呢知乎
后端技术都要学啥?
在我大学刚毕业的时候,对这个问题也一直很迷茫。
这个问题有点大,我的回答想从计算机基础说起,向你展示后端技术全貌。
/* 2023.02.15 UPDATE*/
/* 半个月时间,这个回答成为排名第一答案,收藏1000+ 点赞400+ , @程序员柠檬 感谢各位,HAPPY NEW YEAR 2023 */
图源 hippopx CC0/*********20231226更新**********/
没想到看这个回答的同学越来越多,私信都来让我推荐书单,我在文末更新了,希望对你有帮助!
以下正文:
先说下我自身的情况,我本科既不是985也不是211,知乎上称这种毫无存在感的大学为普通高校,学的还是非计算机专业,比起知乎上众多其他网友人均 985,不是 C9 毕业都不好意思说上过大学。
我毕业之后通过自学后端技术进入腾讯做「后端开发」工作。
如果你是985、211院校,恭喜你,起点比我高。如果和我一样,不要放弃,看看我,还有机会。
像我这样非科班、无名校光环,经历过自学计算机成功转行软件开发(有想听转行之路经历的话,点赞的人多就写写)的人有,但不是很多。
一开始也不愿意分享自己的这段经历,毕竟也没什么光环,但是我深切的体会过,当初想学又不知从何学起的迷茫,还好最后摸索出了一条正确学习的路线,知道这条路不好走,最终,还是决定,把我这一路摸爬滚打过来的,后端学习经验分享给需要的同学。
为了尽可能的说的条例清晰,这个回答我从月初开始整理内容、绘制思维导图。
这份 1 万 5 千字 的后端技术学习路线,写了有半个月时间,希望可以让想学习后端技术的你,不再迷茫,找到正确的学习方向。
不求什么回报,
只希望你先 点个赞、感谢与收藏~
一是当做对我的鼓励,
二是作为你进步的开始,
三是防止下次想看却找不到
以下正文后端技术学习的内容还是很多的,不可能一蹴而就,我们说后端学习不要局限在语言层面,不必纠结是 PHPJAVAC++Go 只要你把后端技术体系结构掌握住,语言只是一个后端开发的工具。
学习内容如果是初学者,可能就想直接问我:从哪里开始学习?
那我就不卖关子,如果你不知道从哪开始学,对于学习路线各个节点,我就按个人的学习经验并结合认识的大厂高 P 给的建议,给你把以上技术路线学习优先级做个排序,你照着学就行,排序规则:
星级越高,排名越靠前,重要程度越高,优先安排时间学习。计算机基础 5星
Linux 5 星
数据库 5 星
设计模式 5 星
工具 5 星
中间件 4 星
分布式 4 星
高并发、高可用、高性能 4 星
搜索引擎 4 星
测试 3 星
监控与统计 3 星
虚拟化 3 星
安全 3 星
大数据 3 星
我下面要写的内容,是针对以上各个知识点展开,教你怎么去学、学什么。学习方向和路线很重要,比起具体的技术细节,可复制的经验、清晰的学习路线,是大部分人更加需要的东西。
朝着正确的方向努力,否则只会离目标越来越远,不是吗?
只顾着写各种技术,不告诉大家这个知识点在后端技术图谱的什么位置,有点盲人摸象不知全貌的感觉,很多在我看来大家都懂的内容,其实只是我以为,信息差是客观存在的,抹平信息差是分享的价值所在。
所以我花了半个月时间,整理了一张后端技术学习路线思维导图,来和你聊聊:
要成为一个符合 BAT、TMD 大厂要求的后端技术工程师,到底需要学哪些技术?后端技术学习路线是怎样的?学习路线话不多说,直接上刚画完的后端技术学习路线思维导图框架:
图中的每一个节点都可以点开,我都做了细分,在后面章节逐个展开介绍。
计算机基础不管是后端开发还是前端开发,说到底我们所有的软件开发都是在计算上编写程序,虽然对于大部分人来说,真正开始写代码的时候很少会让你去解决计算机底层的问题,不接触不代表不重要,计算机基础是最重要的。
后端开发工作中经常用到 Java、C++、Python、Golang 这些语言称为高级编程语言,称为高级是它们接近我们日常交流的自然语言,离计算机底层远,但所有的高级语言最终都会转化成汇编->计算机指令->控制流操控计算机硬件,所以学习计算机构成和工作原理、操作系统这些基础知识,能够加深我们队高级语言的理解。
那我们一直说的计算机基础到时是什么?计算机科学技术 CS(Computer Science)作为一门专业课程,就和其他工科课程一样有自己的理论体系,如果你是计算机专业的同学不用我来教该学什么,计算机专业大学四年学校教的那些就是基础,别小看你在学校学的那些看起来没啥用的课程。我这有一份中中科大的计算机技术本科主要课程结构安排。
一流大学的计算机专业要学什么可以对照着看下,从学科数学理论基础、计算机体系结构、软件工程方法等等维度展开。
那如果你不是计算机相关专业的想转行,也不要被吓到了,毕竟这是人家四年时间的学习内容,本科的培养目标不仅仅是培养出一个软件工程师,本科学习还是面向硕士博士的基础培养,注意是计算机科学专业,名字里有个词叫「科学」,我这篇文章要说的 BAT 公司后台软件开发,可以认为是「工学」方向,
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。