微信搜「 后端技术学堂 」程序员学习课堂,回复「1024」获取 50 本计算机编程学习电子书,回复「路线」获取最全面技术学习路线思维导图
和题主一样,我也在BAT当后台研发码农,主力语言就是C/C++用了很多年了(目前团队在转Go方向),对于C/C++后台开发这块的经验,有一些可以与大家分享。
虽然是C/C++后台研发开发,但按我的经验,后台开发中更多的是C++,至少接触到的后台开发都是如此,既然是C/C++后台开发,那要点的技能树其实从名字就能看出来,概况起来主要就是两个方面:
1. C/C++语言
2. 后台开发技术
C/C++ 编程语言的学习,在 C++ 后台研发中只占了很小一的部分比例,编程语言只是一个工具,开发人员会使用工具是最低的要求,以我从事后台开发的经验来看,当前符合大部分公司后台岗位要求的技能树,大致是下面这个样子,我画了一张图,你看看:
图中的技能点看起来挺多(确实挺多的),不要慌,我一个个来讲下需要点哪些技能树。
C++学习
开始之前先来看下,C++需要学习的内容包含:
C++编程语言这块的技能树,是必须要点满的,当然最高效的学习方式是阅读经典书籍。经典书籍我推荐一波,总共 7 本书,基础 3 本,进阶 3 本,现代C++ 1本,带封面,方便你找。
初在学习C++的时候,不是所有的坑都需要亲自踩一遍,阅读经典,前人的经验能让我们少走弯路。
C++基础 3 本
C++进阶 3 本
现代C++ 1本
什么是现代C++?C++这门语言也一直在发展当中,C++1X 甚至 C++20 引入了很多带来重大改变的新特性,让C++更加现代化。如何快速上手现代 C++ 特性,如果我推荐开源电子书:
这本书已在Github开源,离线版下载
至此,C++语言这颗技能树差不多点满了,下面我们来说说「后台开发」技术。
C++后台研发
图中的技能树比较多,下面我来一个个说明:
计算机基础
计算机科学技术 CS(Computer Science),大学计算机专业课,计算机基础是软件开发的基本功,当然也是C++开发的基本功,下面是一份中中科大的计算机技术本科主要课程结构安排。
计算机基础这块的学习包括计算机网络
Linux数据库
后台开发离不开数据存储,而数据存储就涉及到数据库学习,主要是 2 大类数据库:
设计模式
设计模式是经历了很长一段时间的发展,代表着软件开发的一种最佳实践。提供了软件开发过程中面临的一般问题的最佳解决方案。
学习以下常见设计模式,并尝试用C++来实现一遍。
中间件
中间件就是把分布式系统中一些通用功能,抽象出来提供服务的一类软件统称。由于中间件是介于操作系统和应用软件之间,所以称为中间件。
分布式高并发、高性能、高可用(统称后台开发三高)搜索引擎测试技术监控运营虚拟化安全技术大数据
主要包含以下的技术点需要学习:数据存储、离线分析、流式计算。
版本控制
以上,差不多是整个C/C++后台研发体系需要点的技能树,先写这么些吧,有人看再来详细补充。
往期精彩文章
这个大学在Github开源了计算机课程,看完在家上个 985
面试问了解Linux内存管理吗?10张图给你安排的明明白白!
史上最全!offer收割机的C++学习总结,带详细书单
面试经验:C++软件研发100道面试题(附参考书)
读者福利
新年新气象,感谢各位读者大大对 @程序员柠檬橙 一年以来的关注和支持!
微信红包封面送给大家,数量有限,比手速拼运气,手慢无哦!