最接地气的转码C++学习路线2023校招版(学不下去你找我)

背景

大概在一年多之前我想学习C++方面的编程知识,打算为自己的秋招找工作做准备,所以看了很多大佬的学习路线,踩了无数坑之后我发现大部分的学习路线都存在两个较大的问题:

  • 第一个问题,推荐较多黑皮书大部头的经典书籍,知识点太细太全面、语言极为精炼,会使零基础的小伙伴无法把握学习重点、学习路线陡峭整体难度极大,容易放弃,在一些不重要的细节上迷失自我,也让我走了太多的弯路。经典书籍固然好,但是不适合准备面试找工作这一阶段。我基本买遍了所有学习路线推荐的书,但是直到秋招面试都没仔细看了多少,而且看过以后非常容易遗忘,这个坑大家一定要避开,极其浪费时间但又收效甚微。
  • 第二个问题,没有实质性区分阶段,不同小伙伴的最终求职目标和技术追求并不完全一致。我认为应该按照求职公司对应岗位所需的技术水平要求分为两个阶段比较合适。首先通过较短时间掌握编程语言和计算机基础知识,完成一个小项目,可以找到国企或者中型企业的软开工作,实现转行拿到保底的offer。第二阶段可以在此基础上拔高,学一些经典的大部头书籍、大量刷题,提高自己的实际开发能力,冲击对技术要求较高的互联网大公司或者一些自动驾驶之类的高科技独角兽公司。

所以现在我想以过来人的角度说一下为什么要选C++,主要总结一下到底应该如何学习C++,才会使得整个学习过程循序渐进水到渠成,帮助小伙伴们以最快的方式成功转码拿到offer。
图片说明

为什么选择C++

本文的学习路线适用于零基础想学C++的同学、所在专业需要用到C++的同学、非计算机科班面临找工作的理工科在校生,想找软件开发方向的工作,转码脱离天坑专业的同学。

从2022年的校招情况来看,因为java的岗位比较多,而且学习难度门槛都略低于C++,许多转码的同学都选择了java,导致2022年java的内卷程度极高,很多学了好久的同学都拿不到一个offer,反而选择C++的同学都拿到了好多不错的offer,所以我认为有的时候选择比努力更重要,当然这是在你付出努力的前提下这句话才是成立的。很多理工科都接触过C或者C++,而且很多专业也会继续用到这些知识,所以我想在此基础上多学一些也比较好。学习C++可以有很多的选择,自动驾驶、金融量化、高性能计算、嵌入式软件开发、上位机软件开发、音视频、服务器后台等。如果你下定决心要转码脱离原来的专业,找软件开发方向的工作,那么我认为C++绝对是一个很好的选择。

入门阶段(三个月,拿下二三十万年薪offer)

时间安排与求职目标:初级阶段预期学习时间为三个月,每天学习时间大约8小时,找工作的目标为国企、中型企业C++软件开发岗位。

特点:此类公司对应届生的要求不高,只需掌握编程语言和一些基础的计算机知识就可以拿到offer,对算法题基本无要求,或者只要求反转链表或者排序算法这些,无须刷leetcode。

以下的主要学习内容我都推荐一主一副学习资料,主要学习资料一般为视频,更加容易上手,副资料作为视频学习内容的补充和一些更准确和书面的描述。少即是多,认真掌握每个知识点,备战时间紧迫,切勿贪多嚼不烂。

C++基础(一个月)

我认为培训机构的教学视频如果在面向就业来说,确实要比一些学校甚至是名校的课程更好一些。我最初看的是学堂在线邓莉老师的C++课程讲得不错,但是说实话讲的有点枯燥容易犯困,我的建议是看黑马的课程比较好,上手更快。学习时间大概在一个月左右。补充资料选择一本普通的大学课本教材C++程序设计即可,我认为最开始只需要看一本比较薄的教材即可,学完之后可以掌握C++的基础语法,面向对象思想,虚函数和STL库的使用。

主:黑马程序员C++基础视频。(B站上播放最多的应该是17年的视频,目前最新的应该是32期和黑马博学谷的视频)

副:C++大学教材或《C++ primer第五版》,看完视频以后找到书中对应的知识点再看一下。

数据结构和算法(两周)

如果想进大厂,算法题很重要,从一开始学会C++的基础语法,就可以每天练一些编程题。大话数据结构这本书用简单易懂的语言把常见的数据结构和一些排序算法都讲了。算法笔记这本书非常好,把基础的数据结构和stl库的用法都举例说明用法,学习完这本书以后,基本上刷题的一些基础操作,stl库的使用方法就都会了。我当时看见这本书真是泪流满面相见恨晚啊。

主:《算法笔记》
图片说明
副:《大话数据结构》、《王道机试指南》

系统编程和网络编程(一个月)

这两块的内容主要就是在linux操作系统下编程开发了,主要就是一些多线程多进程和网络通信socket方面的编程。涉及到了一些计算机网络和操作系统方面的知识,这些也是面试过程中经常要问到的内容,但是我不建议在时间非常紧张的情况下,去从头把计网和操作系统的教材重新学一遍,应该在学习编程实战的时候,将这些八股文的内容穿插学习,然后进行记忆。

主:黑马程序员系统编程、网络编程视频、《linux高性能服务器开发》
图片说明

副:《tcpip网络编程》
图片说明

记忆:计算机网络、操作系统常见面试题。
图片说明

websever项目(两周)

基于前面学到的知识,结合《linux高性能服务器开发》这本书可以做一个web服务器的项目(虽然是人手一个的烂大街项目,但是可以把之前学到的知识非常好的结合起来,完全吃透对自己帮助很大),将所有的知识点应用起来,完成这个项目。这个项目虽然烂大街,但是还是非常值得做的,因为这个项目几乎可以用到之前所学的所有知识,而且面试中可问的点也特别多。学完这个项目之后,结合自己的专业和项目背景,很轻松就可以把这个项目包装成自己课题背景相关的项目。

总结

我给出的学习路线是最基础的也是最直接的,只是为了应对面试,我认为不管你的实际开发能力如何,先要通过面试拿到offer,然后抓住毕业前的时间来补足自己的开发能力,而不是一开始就从大部头的经典书籍开始啃,等到秋招开始的时候,大家都疯狂收割offer,而你简历都没做好,啥都不会,那是最难过的。我秋招时技术水平就是学完第一阶段,然后经历了秋招,拿到了很多国企和中型公司的offer,薪资范围基本都在20-35万之间,所以对这一阶段的学习和面试有比较深的心得体会,大家按我的学习路线来绝对没有问题,有关秋招经历的内容大家可以看我的另一篇秋招总结的文章。

为避免附加外链,而且上面提到的资料在网上都非常容易找到,大家可以自行检索获取,毕竟对于程序员来说,检索信息的能力也非常重要。当然如果有一些资源找不到或者大家想要一个完整合集的话可以私聊我获取。

秋招之后,为了提高我的开发能力和知识储备,我又深入学了很多知识,现在正在朝着第二阶段的技术要求不断努力,如果有小伙伴对于第二阶段进阶部分的学习路线内容感兴趣的话,可以在帖子下面留言回复。同时对于求职简历的制作和编程的学习和八股文的记忆都有自己独到的方法,大家如果感兴趣的话就请多多点赞收藏回复,你的鼓励是我不断更新创作的动力。六月已经到来,希望小伙伴们抓紧这大好时光认真学习,等到秋招时必定收获满满斩获自己中意的offer。

#学习路线##避坑经验#
全部评论
真的很合理,不然非科班从头啃书不仅痛苦面具,而且根本来不及
12 回复 分享
发布于 2022-06-28 21:55
我知道怎么学了,楼主快删帖!
11 回复 分享
发布于 2022-06-07 17:33
算法两周??
9 回复 分享
发布于 2022-06-04 20:14
支持up,给了我很大的信心!!!我现在就是入门阶段完成了,正在复习巩固知识点,查漏补缺,看了很多人都是大厂的面经慌得很,我一个双非转码能进一个中厂就很开心了
7 回复 分享
发布于 2022-06-07 10:41
目前研一,上述所说都做到了,路线确实合理
6 回复 分享
发布于 2022-06-13 14:42
说实话,楼主说的我现在的复习方式很像。
5 回复 分享
发布于 2022-06-06 19:47
过来还愿,确实拿到了23w的offer
4 回复 分享
发布于 2023-03-08 21:37 广东
求更第二阶段进阶部分的学习路线
4 回复 分享
发布于 2022-06-06 17:02
C++ 还用看设计模式吗
3 回复 分享
发布于 2023-02-22 22:45 山东
来还愿了,7月中旬开始学的,11月拿到20w的offer了
3 回复 分享
发布于 2023-01-08 13:50 广东
对求职简历的制作和编程的学习和八股文的记忆感兴趣。期待lz下一篇文章。
3 回复 分享
发布于 2022-08-07 21:56
大佬大佬,求更第二阶段咧😋
3 回复 分享
发布于 2022-06-06 18:59
楼主3个月搞定offer,太厉害了
3 回复 分享
发布于 2022-06-06 16:34
这个确实才是最实用的,好多人一上来就是说啃大部头书籍,真是服了,时间只有四五个月准备,无语😑
2 回复 分享
发布于 2023-01-09 21:59 四川
前辈,以目前行情来看,学这些还够找工作嘛
2 回复 分享
发布于 2022-08-29 20:42 湖北
写的很实用,希望您能出后续内容,感谢感谢
2 回复 分享
发布于 2022-07-26 16:48
请问非科班的硕士转码,但没有实习经历对找工作是不是有很大的影响呀
2 回复 分享
发布于 2022-07-20 15:36
本科通信,今年考研刚上岸,未来想从事c++开发相关工作,这三个月的学习路线对我来说是不是有点太急了,像我是不是还有一年或一年半时间来学习基础语言,然后计算机四大件,数据库,linux 相关编程等等
2 回复 分享
发布于 2022-07-17 00:58
本科文科,硕士计算机,楼主的学习顺序很正确!(我也大致按照这个路线学的,尤其是算法笔记yyds!!!)。现在基本学完,想请教下第二阶段的大致学习路线,请大佬指点一二。
2 回复 分享
发布于 2022-07-02 15:47
马克
2 回复 分享
发布于 2022-06-09 23:24

相关推荐

下北泽:都是校友,还是同届,我就说直白点,不委婉了,我相信你应该也不是个玻璃心,首先你觉得一个双非的绩点写简历上有用吗?班长职务有用吗?ccf有用吗?企业会关心你高数满分与否吗?第二,第一个项目实在太烂,一眼就能看出是外卖,还是毫无包装的外卖,使用JWT来鉴权,把热点数据放进Redis这两个点居然还能写进简历里,说难听点这两个东西都是学个几十分钟,调用个API就能完成的事情,在双非一本的条件下,这种项目你觉得能拿出手吗,第二个项目你写的东西和你的求职方向有任何的匹配吗?第三,计设那一块毫无价值,如果想突出自己会前端,直接写入专业技能不行吗,最后,专业技能里像深入理解JVM底层原理这种你觉得这句话你自己真的能匹配吗?都是校友加上同届,我措辞直接,但希望能点出你的问题,想进大厂还得继续沉淀项目和学习
点赞 评论 收藏
分享
迷茫的大四🐶:自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞 评论 收藏
分享
从输入URL到页面加载发生了什么:总体来说分为以下几个过程: 1.DNS解析 2.TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面 6.连接结束。简述了一下各个过程的输入输出作用:以下是对从输入 URL 到页面加载各过程的输入、输出或作用的一句话描述:DNS 解析: 输入:用户在浏览器地址栏输入的域名(如 www.example.com)。输出:对应的 IP 地址(如 192.168.1.1)。作用:将易于记忆的域名转换为计算机能够识别和用于网络通信的 IP 地址,以便浏览器与目标服务器建立连接。TCP 连接: 输入:浏览器获得的服务器...
明天不下雨了:参考一下我的说法: 关键要讲出输入网址后涉及的每一个网络协议的工作原理和作用: 涉及到的网络协议: HTTP/HTTPS协议->DNS协议->TCP协议->IP协议->ARP协议 面试参考回答: 第一次访问(本地没有缓存时): 一般我们在浏览器地址栏输入的是一个域名。 浏览器会先解析 URL、解析出域名、资源路径、端口等信息、然后构造 HTTP 请求报文。浏览器新开一个网络线程发起HTTP请求(应用层) 接着进行域名解析、将域名解析为 IP 地址 浏览器会先检查本地缓存(包括浏览器 DNS 缓存、操作系统缓存等)是否已解析过该域名 如果没有、则向本地 DNS 服务器请求解析; 本地服务器查不到会向更上层的 DNS 服务器(根域名服务器->顶级域名服务器->权威域名服务器询问)递归查询 最终返回该域名对应的 IP 地址。(应用层DNS协议)DNS 协议的作用: 将域名转换为 IP 地址。 由于 HTTP 是基于 TCP 传输的、所以在发送 HTTP 请求前、需要进行三次握手、在客户端发送第一次握手的时候、( 浏览器向服务器发送一个SYN(同步)报文、其中包含客户端的初始序列号。TCP头部设置SYN标志位、并指定客户端端口 同时填上目标端口和源端口的信息。源端口是浏览器随机生成的、目标端口要看是 HTTP 还是 HTTPS、如果是 HTTP 默认目标端口是 80、如果是 HTTPS 默认是 443。(传输层) 然后到网络层:涉及到(IP协议) 会将TCP报文封装成IP数据包、添加IP头部,包含源IP地址(浏览器)和目标IP地址(服务器)。IP 协议的作用: 提供无连接的、不可靠的数据包传输服务。 然后到数据链路层、会通过 ARP 协议、获取目标的路由器的 MAC 地址、然后会加上 MAC 头、填上目标 MAC 地址和源 MAC 地址。 然后到物理层之后、直接把数据包、转发给路由器、路由器再通过下一跳、最终找到目标服务器、然后目标服务器收到客户的 SYN 报文后,会响应第二次握手。 当双方都完成三次握手后、如果是 HTTP 协议、客户端就会将 HTTP 请求就会发送给目标服务器。如果是 HTTPS 协议、客户端还要和服务端进行 TLS 四次握手之后、客户端才会将 HTTP 报文发送给目标服务器。 目标服务器收到 HTTP 请求消息后、就返回 HTTP 响应消息、浏览器会对响应消息进行解析渲染、呈现给用户
点赞 评论 收藏
分享
评论
211
1271
分享

创作者周榜

更多
牛客网
牛客企业服务