如果只是学C++基础语法,你就是倒背如流,也找不到工作!
C++的从业方向有很多,这里推荐你linux C++服务端开发,最容易进鹅厂的岗位之一,两年时间绝对够了!
下面分三个阶段介绍这个岗位的知识,学到第二阶段,能进创业公司,学完第三阶段,工作随便找。
这些内容学完以后,基本上具有了工作两年的水平,别说校招,就是社招找工作都是非常简单的。
记得帮我点赞哦。
为了方便大家,我把以下推荐的所有书籍、工程文件、开源工程地址,都已经整理好了,需要的同学可以去下载。
linux C++技术路图及推荐学习资料下载第一阶段:C++入门
很多同学问我,学C++要先学C语言吗?当然不需要!
C++和C语言本来就是两种不同的编程语言,但C++确实是对C语言的扩充和延伸,并且对C语言提供后向兼容的能力。
所以,如果你本身就要学C++,反而从C语言开始,把C语言学完以后,还需要重新学习和适应C++的区别和特性,浪费时间。
当然,如果你原来就会C语言,那你学C++会更快。毕竟,他们之间的区别并不像跟其它语言一样那么大。
第一阶段,大家只需要了解C++的语言基础、一些基础的linux命令和常用的几个数据结构即可。
我们只需要能够在linux上面简单跑起来代码,或者直接在IDE中跑出来,也是可以的。
在这个阶段,我们需要的是快速入门,最后我们可以做一个电子词曲人小项目,以使用C++的基础知识。(电子词典的源码将和推荐的书籍、技术路图一同提供)
强烈大家刚开始要跟着视频学,C++本身就难,如果自己看书的话,会非常吃力。在看视频的同时,把书做为辅助,有奇效。
视频强推侯捷老师的C++面向对象程序设计,我当前入门C++就是跟着侯老师学的,讲的非常仔细,现在候老师在B站上开源他的讲课视频,大家可以去看:
候捷-C++面向对象高级开发(上)_哔哩哔哩_bilibili候捷-C++面向对象高级开发(下)_哔哩哔哩_bilibili但候老师的课,一如即往的每节都非常长,短的也要三十分钟……着实很难坚持。
对于定不住的同学,可以看小甲鱼的《C++快速入门》,每个视频十分钟左右,共49集,看完以后,再看候老师的课会轻松很多。
【C++语法】《C++快速入门》_哔哩哔哩_bilibili配置书籍首推《C++ Primer》
本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。
(后面会提供下载地址)
《Effective C++:改善程序与设计的55个具体做法》(中文版)
一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑,教你怎样才能写出优雅的C++代码。这里也是很多关于C++方面面试问题的出处。
(后面会提供下载地址)
第二阶段:C++进阶
这个阶段主要了解STL的使用,学会应用一些常用的设计,并且能够开发一个贪吃蛇项目,以学习类和设计模式的使用。
有关STL标准库的使用是比较难的,同样推荐大家以视频入手。
再次感谢侯捷老师,他录制了46集的系列视频讲解了《C++ STL标准库和 C++ 泛型编程》
【高清完整版】侯捷-C++ STL标准库和 C++ 泛型编程_哔哩哔哩_bilibili配置书籍推荐《C++ 标准程序库》
这本书给我感觉就是既适合初期入门,又适合当字典用,因为里面的内容比较多,好多第一次记不住。
所以也可以大致看一遍,以后用时再具体记,这样根据实际去学习我个人觉得效果会更好。
(后面会提供下载地址)
《STL源码剖析》
学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品位都会获得快速的成长。
(后面会提供下载地址)
第三阶段:征服Linux
到了这部分,就真正开始涉及linux开发了
首先,我们需要熟悉Linux的常用基本指令:
书籍首推《鸟哥的linux私房菜》:
(后面会提供下载地址)
内容讲的很好,比较简单易懂,当然,如果你还是觉得困难的话,可以跟着视频一块学,在B站有一些up主录制了《鸟哥的linux私房菜》的教学视频,可以一起参考:
鸟哥的私房菜linux_哔哩哔哩_bilibili然后,我们需要学习各种基于linux的编程API,分别学会系统编程、网络编程、数据库编程。这些内容学完,已经能够自行实现软件开发了,找个工作问题不大。
1、系统编程
众所周知,Windows系统编程里有各种各样的Windows API,同理Linux系统API的使用就更加重要。
2、网络编程
后台开发是离不开网络编程的,甚至简单来说,后台开发就是用厉害点的电脑去处理大规模的网络请求。所以作为一名合格的后端开发人员,对Linux网络编程的熟悉是必不可少的。
3、数据库编程
如果只是会MySQL基础可能是远远不够的,像是Redis,MongoDB等非关系型数据库也是当前的热门。分布式数据库,分布式存储是当前每个大公司都会非常重视的核心,所以数据库基础非常的重要。
(后面会提供下载地址)
一般而言,Linux/Unix的书籍会一齐覆盖系统、网络、数据库这三个方面的知识。所以,这里的书籍做一次统一推荐。
首推Linux编程经典书籍:《UNIX环境高级编程》,本书是被誉为UNIX编程“圣经”,这本书大而全,但也比较难啃,可以挑着看
(后面会提供下载地址)
如果觉得上面那本书看不懂,那推荐《Linux高性能服务器编程》,这本书对菜鸡比较友好,内容很庞大,而且基础讲解的比较详细。
(后面会提供下载地址)
如果只是会MySQL基础可能是远远不够的,像是Redis,MongoDB等非关系型数据库也是当前的热门。
分布式数据库,分布式存储是当前每个大公司都会非常重视的核心,所以数据库基础非常的重要。
MySQL入门建议可以看《MySQL必知必会》。原理比较少,基本都是语法和使用细节,适合先过一遍。
(后面会提供下载地址)
Redis入门可以看《Redis设计与实现》这本书。非常详细的讲了Redis的底层数据结构,包括其集群部分也做了很好的解释。除此之外可以再去理解一下分布式的Raft算法,Gossip协议等等。
(后面会提供下载地址)
很多同学在学习的同时,想要做些实战项目,我也把Github的优秀开源项目进行了整理,这里也分享给大家。
(下载地址见下文)
关于linux C++开发,除了这些还有很多内容,但只要能把这些学会,找份工作是非常简单的,其它的在工作中用到的时候慢慢学习就行啦 。
整个linux C++的学习路线和学习资料都推荐给大家了,正如我文中所说,技术的学习并不是线性的,有时候,我们会发现一本书中在学着A同时讲解着B的知识,而你会发现我居然没把B跟A列在一个等级。
这是因为我分割技术时,是以是否以找工作必备为前提进行划分的,对于找工作必备的知识点我尽量靠前,对于不那么必需的技能,一般往后放,以减少大家初入门时的学习压力。
希望能帮到你,大家帮我点个赞吧。
另外,我把我这些年的所知所得,整理成了一本书,开源到github上了。相信会对大家很有帮助,大家可以去看.
目前还在持续更新,欢迎大家star。
地址:https://github.com/harvic/FightingCoder
好了,这篇就到这了,希望大家毕业都能找到好工作。
我是 @启舰 ,原创不易,帮我点个赞吧。
本人所有文章皆为原创,著作权归@启舰 所有,未经授权,转载必究 |