C++路线(全网20篇高赞文章总结)

👂 ▶ 好想你 (163.com)

为节省时间,可直接跳转到    -->  🌼干货

目录

🌼前言

🌼来源

🐖现状

🌼干货

入门阶段

入门项目

学习顺序

🐉大二打算

🤴计划修正(可选方案)

初始

后续修订

🦆计划2.0


🌼前言

来源的20篇博客,视频中,不少是23年的,我们要与时俱进,把握企业当前最需要的技术

2023/8/6,大一一年,即将结束,目前打算是再用 一个学期 + 寒假,打C++基础(Linux,计网,计组,数据库,数据结构与算法,常用框架,一些单体项目....),大二下期间确定好细分方向,着手准备简历投递。在此,通过掘金,CSDN,B站,力扣,InfoQ,Google,bing等,总结全网C++路线中的精华,结合当下学习情况,为接下来大二的一年和寒假·暑假,做好规划。

🌼来源

(1)熬夜肝了这一份C++开发学习路线 - 掘金 (juejin.cn)

(2)C/C++后端开发详细路线图来了! - 掘金 (juejin.cn)

(3)http://t.csdn.cn/QRLCB

(4)http://t.csdn.cn/PH7fk

(5)http://t.csdn.cn/DD6Bk

(6)鱼皮 C++ 学习路线一条龙! - 哔哩哔哩 (bilibili.com)

(7)自学C/C++的书籍推荐(自学C/C++看书路线推荐)(我自己读过的一部分有关C/C++开发相关的书籍)| 科普视频教程_哔哩哔哩_bilibili

(8)想做C语言/C++开发?这些才是你该学的东西!C语言/C++直通企业级开发的详细学习路线_哔哩哔哩_bilibili

(9)经验分享|秋招总结(侧重提前批)& C++ 学习路线 - 力扣(LeetCode)

(10)Linux C++ 后台开发系统学习路线(2023) | 编程指北 (csguide.cn)

(11)C++后台开发学习路线(已多人拿下腾讯后台开发)_后台开发_C++后台开发_InfoQ写作社区

(12)从入门到精通:C++ 学习路线指南,附详细学习计划_c++_小万哥_InfoQ写作社区

(13)非常详细的 Linux C/C++ 学习路线总结!助我拿下腾讯offer_51CTO博客_linux c++教程

(14)cs-roadmap/c++/2022_最新C++开发学习路线_科班版.md at main · tomstillcoding/cs-roadmap (github.com)

(15)这才是你最想要的 C++ 学习路线 (zhihu.com)

(16)2023年最值得收藏的C++入门学习路线(🔥) | Java程序员进阶之路 (tobebetterjavaer.com)

(17)2021年C++学习路线以及知识整理汇总 - 知乎 (zhihu.com)

🐖现状

大一即将结束

---->工具

(1)熟练使用Google,GPT,Bing和stackOverFlow检索

(2)正在养成阅读英文文档的习惯

(3)Github学生认证,Copilot等插件

---->技术栈

(1)了解前端三大件(期末大作业)

(2)了解C++(314个黑马C++视频,《Essential C++》)

(3)了解Mysql(黑马Mysql视频学到索引优化,《Mysql必知必会》和视频同步)

(4)了解Go(字节青训营课程),初步了解依赖管理,性能调优和内存管理(看了一遍)

---->算法和数据结构

(1)全网相当于  洛谷普及-100题  或  力扣100道中等题

(2)蓝桥杯C++A组省三,天梯团队三等奖

(3)500页算法书学了50%,Acw辅导课刚起步

(4)参加力扣周赛,牛客月赛的习惯

---->项目

(1)青训营  Socks5代理服务器  等单体项目(有个印象)(100~300行)

(2)(旅馆住宿 / 学生信息)管理系统  (不含数据库,前端,框架等)(500~700行)

【补充】

(1)0开发经验,知识面还未形成

(2)算法,未开始系统大量的刷题,力扣周赛只有2~3题

🌼干货

入门阶段

(1)查漏补缺,会的或者重复的部分,就跳过

(2)从目录入手,重点学习项目所需,或面试所需内容,不必整本啃完

(3)部分内容不必看书,直接看(博客 / 文档)提高效率

(4)侯捷的书可以结合视频学习

网站👇

cppreference.com

书籍👇

  1. C++

    • 《STL 源码剖析》①
    • 《Effective C++》①
    • 《深度探索C++对象模型》第3章
    • 《C++ 11 新特性》
    • 《C++ 内存管理》
  2. 操作系统

    • 《鸟哥的linux私房菜》②
    • 《Linux高性能服务器编程》
  3. 计网

    • 《计算机网络:自顶向下》③
    • 《TCP/IP详解卷1》
  4. 数据库

    • 《MySQL必知必会》①
    • 《MySQL技术内幕·InnoDB存储引擎》③
    • 《Redis设计与实现》
  5. 计组

    • 《计算机组成原理》②
  6. 设计模式

    • 《大话设计模式》
  7. Web开发

    • 《图解HTTP》

视频👇

侯捷STL泛型编程....

入门项目

a. 具体文档 / 视频教程,直接Bing,Google,百度,B站,Github,Youtube

b. 确定项目后,啃源码前,首先要先跑通,git clone到本地,将BUG一点一点解决了,能跑通了再开始学!小白可以跟B站。

c. 注意不要做重复项目(技术栈,流程几乎一样的)

d. 下列项目,大部分都可以放上简历!(少数为初学者巩固语法)

建议“项目驱动”的学习方式

小游戏

  1. 俄罗斯方块(Github,Youtube)

编程语言

  1. C++实现自己的编程语言

工具和应用

  1. 开发自己的文本编辑器
  2. 基于C++实现一个迷你STL
  3. 简单JSON库
  4. 轻量级Web服务器
  5. 商城系统
  6. 实现标准库部分容器和算法,对标准库进行扩充
  7. 利用C/C++开发基于B+树的小型关系型数据库
  8. libqalculate(多功能计算器桌面应用)
  9. spdlog(C++日志库)

网络编程

  1. 网络编程库muduo
  2. 微信RPC框架phxrpc
  3. 牛客Linux服务器教程
  4. 高性能Web服务器
  5. Linux C++ WebServer
  6. 轻量级网络框架,线程池技术,C++11
  7. TinyWebServer
  8. 搭建一个HTTP服务器(十几行代码,重点是理解背后逻辑)
  9. 搭建自己的RPC系统
  10. workflow(搜狗开源的C++服务器引擎)

分布式

  1. MIT 6.824中文教程(分布式)

学习顺序

大致建议是

(1)先学C++和数据结构与算法

(2)再学计组和操作系统

(3)最后数据库与计网...

但是我是学完C++直接Mysql了,影响不大,学Mysql时也接触了一些Centos命令行

🐉大二打算

进行中

(1)黑马Mysql视频(×,已学到索引调优,暂时用不上,先放放)

(2)《Mysql必知必会》(×,已学到索引调优,暂时用不上,先放放)

(3)《算法训练营入门篇》(继续学习)

(4)Acw蓝桥杯辅导课(继续学习)

(5)《Essential C++》(还未开始,找时间速刷)

新起点

(1)《Effective C++》(速刷完《Essential C++》后学)

(2)《鸟哥的Linux私房菜》(搭配本学期Linux学习,最好再找个视频辅助学习)

(3)有空打打比赛(每场补1道题),整点小项目(项目源码必须先跑通,不然白给)

考虑到大二上课程

软件工程导论,多媒体技术,JavaSE,毛概  -->  B站自学,及格万岁

Linux,数据结构与算法  -->  已在计划中

概率论与数理统计,英语  -->  正常上课

再次总结本学期任务

一,算法

1,蓝桥杯辅导课:刷题 + 视频。

2,《算法训练营》 :刷题 + 看书。

3,力扣,牛客比赛:有空打一下。

4,洛谷官方题单:补充学习。

二,Linux

1,《鸟哥的Linux私房菜》(再看书)

2,黑马Linux视频(先视频)

三,C++

1,《Essential C++》

2,《Effective C++》

3,小项目:Github / B站  --  源码 / 说明文档完备的项目

(借助Bing, Google, 百度, GPT, 各种reference -- > 跑通源码 and 提高效率)

四,Java

1,B站20小时JavaSE速成

五,四六级 and 口语

1,六级考试

2,四级口语(口语练习网站)

🤴计划修正(可选方案)

初始

佬,请教下C++方向的问题,211本,刚大二,这一年的学习计划,争取看完下列书目,每个书目有可能的话,会配合视频学习,还有从网上找的C++项目

(1)书籍

a.

****C++

《STL 源码剖析》①

《Effective C++》①

《深度探索C++对象模型》第3章

《C++ 11 新特性》

《C++ 内存管理》

b.

****操作系统

《鸟哥的linux私房菜》②

《Linux高性能服务器编程》

c.

****计网

《计算机网络:自顶向下》③

《TCP/IP详解卷1》

d.

****数据库

《MySQL必知必会》①

《MySQL技术内幕·InnoDB存储引擎》③

《Redis设计与实现》

e.

****计组

《计算机组成原理》②

f.

****设计模式

《大话设计模式》

g.

****Web开发

《图解HTTP》

h.

****视频👇

侯捷STL泛型编程....

(2)项目

建议“项目驱动”的学习方式

a.

****小游戏

俄罗斯方块(Github,Youtube)

b.

****编程语言

C++实现自己的编程语言

c.

****工具和应用

开发自己的文本编辑器

基于C++实现一个迷你STL

简单JSON库

轻量级Web服务器

商城系统

实现标准库部分容器和算法,对标准库进行扩充

利用C/C++开发基于B+树的小型关系型数据库

libqalculate(多功能计算器桌面应用)

spdlog(C++日志库)

d.

****网络编程

网络编程库muduo

信RPC框架phxrpc

牛客Linux服务器教程

高性能Web服务器

Linux C++ WebServer

轻量级网络框架,线程池技术,C++11

TinyWebServer

搭建一个HTTP服务器(十几行代码,重点是理解背后逻辑)

搭建自己的RPC系统

workflow(搜狗开源的C++服务器引擎)

e.

****分布式

MIT 6.824中文教程(分布式)

(4)****

请教了别人,说是没必要看那么多,先看计网黑书和tcp卷2,再看mysql必知必会和redis设计实现,在在力扣刷stl的题,刷完看STL源码剖析

后续修订

总之,打好基础的前提下,再选一个方向深入学习,不要面面俱到,培训班的视频太浅了,多看cppreference,项目源码,国外公开课,经典书

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

发现一个有料的网站哈:V2EX 

(9)

(10)

(11)

(12)

或者测开?

(13)

遇到语言不对口的,也是可以考虑转语言的,主动引导面试管,让它提问你擅长的部分

(14)

(15)

(16)

 

(17)

(18)

(19)

(20)

(21)

当然还有网络编程的基础,不要全学,学必要的基础部分,就可以开始上手项目

(22)

(23)

(24)

(25)

(26)

(27)

罗列3个公开课的项目

6.824是分布式的,其他两个(cs144和6.081)据说比较万金油

cs144:计网

6.824:分布式

6.018:测试和集成 

(28)测开还是后端某细分方向

(29)

(29)

总结:

(1)先写好简历,然后海投实习

(2)面试中查漏补缺

(3)背拓跋阿秀的C++面经

(4)面试的时候录屏录音,便于复盘

(5)但是现在没有项目....所以考虑要不要整一个项目,或者直接跟个cs144

(30)

(31)C++八股汇总(一)

40个面试题

C++夺命连环问_牛客网 (nowcoder.com)

防止链接丢失,内容粘贴到Ubuntu了👇

Ubuntu Pastebin

(32)互联网路线分析

32 ~ 38为下面大佬的宣讲👇

a. 客户端

不建议,需要被侵蚀,岗位较少,上限低(只是对后端返回信息进行渲染,只有个别大厂还在用)(但是进大厂相对容易,比如抖音剪映)

b. 测试

不建议,很多都是外包

c. 运维

Mysql等的测试

(33)春招时间

(34)

(35)

(36)架构 and 操作系统

(37)项目

(38)开源项目

(39)问了年包,估计30+的佬(大四手握多家大厂offer,ACM区域铜,211本,充足的开源项目经历),一些小问题

(40)

大概路径是没问题的,但是前辈建议多沉淀沉淀,打好基础,真正弄懂,刨根问底,而不是像培训班一样,半年花几百个小时就想上岗,后续只会很痛苦(没有5000个小时,10万,20万行代码的积累,真的不好干,后续上升空间也不大)

a. 408真的要打好基础,一遍不行就两遍,最好尽可能做到都手撕,而不是照抄

b. 不要贪快,弄懂是前提

c. 计划赶不上变化,真到实施时,也许只能在规定时间完成80%甚至50%的量,脚踏实地最重要 

(41)

牛客总包40的佬,Go转C++的,给我的建议,虽然里面说的可能有误解(不可能超过大多数92✌的)

大二上依旧是打基础,大二寒假和大二下,基础完善后....再说吧...一天5小时自学要有,否则很难

(42)背好面经,当然这大半年,就一直要积累八股了,不是专门背八股,而是学计网,数据库,OS的过程,打好基础,到时自然水到渠成,轻松搞定八股,细节+深入也不怕,还有设计和架构

(43)一直以来,不论Google还是百度,腾讯云开发者社区的文章,质量都不错,以下一篇C++经验之谈,大厂offer全流程经验

双非 + 非科班 + C++      -->     美团,字节,阿里offer👇

我是如何一步步拿到大厂offer的-腾讯云开发者社区-腾讯云 (tencent.com)

(为防止丢失,我将内容保存在Ubuntu👇)

Ubuntu Pastebin

(44)编程指北C++八股,讲的不多,内容很少,将就看看吧

C++ 面试指北介绍 | 编程指北 (csguide.cn)

(45)C++,大二暑期上海实习 + 百度一面等面经和经历

【记录成长】大学时光已过半, 分享我的大二暑期实习经历-CSDN博客

(46)面试技巧 和 简单八股

八股良莠不齐,暂时只作汇总,等海投前1~3个月再仔细对比 

面试c++开发岗位,这些都不知道的话,还面啥?(c/c++面试题及答案分析) - 知乎

(47)

在时间充裕的前提下,也可以选择同时主攻Java、C++、Go后端开发,反正后端组件这一块是共同的,这样基本上能覆盖所有公司和领域的后端开发岗位了。但个人觉得,只同时主攻Java和C++后端开发的性价比会更高,毕竟Go后端开发的业务岗,Java也能面进去。如果对云原生赛道不感兴趣,可以不用专门学习Go后端开发

作者:椒麻酸菜鱼
链接:【校招方向】C++输麻了,C++后端开发还能学吗?_牛客网
来源:牛客网

本文的观点也不是说webserver不好。尽管在现今形势下,普通的、没有自己优化的webserver已经不适合作为简历上的校招项目了。但webserver仍然是入门Linux系统调用、Linux多线程编程、网络编程的好项目,甚至可以说是必做的项目,有了webserver的基础,你才能学习更复杂的网络库和著名开源的服务器源码(例如Nginx),进而在它们的基础上往项目中融入你的个人思考

(48)

MIT6.824,CMU15-445可以考虑下,但是如果你要求职鸡架可能太不够;cpp的话,我看今年cpp很多进美团后端开发的都有做过15-445

作者:椒麻酸菜鱼
链接:【校招方向】C++输麻了,C++后端开发还能学吗?_牛客网
来源:牛客网

(49)

八股网站

Golang学习路线推荐

C++学习路线推荐

C++全栈知识体系总览导航地图 - ♥C++ 全栈知识体系 概览♥ | C++ 全栈知识体系 (stibel.icu)

笔试算法学习路线

面试算法



作者:努力开摆的小鱼
链接:秋招总结 【后端开发】方向建议_牛客网
来源:牛客网 

(50)牛客C++大佬的点评

C++11,有必要认真学一下,只是日常实习,而且不是大厂,项目也只是勉强够

(51)本9硕美

(1)C++11新特性
(2)设计模式
(3)大二日常实习,大三暑期实习,大四秋招春招
(4)作者非科班转码路径:
a. CSAPP(lab过一遍)
b. 6.S081(lab过一遍)
c. 施磊(SL)老师的C++高级语法课程 + muduo网络库(muduo写到简历)
d. C++和网络编程八股背熟
e. lc花一年刷了700题

日常实习面经_牛客网 (nowcoder.com)

(52)据某个C++大佬的说法,比较有价值的项目有

a. RPC框架,然后扩展新的功能()

b. muduo网络编程库

c. 基于跳表通过redis实现数据库

d. 6.824分布式

 

(53)较详细的秋招流程和面试考察内容,一些中肯的建议

计算机秋招指南_牛客网

note.baizx.cool

(54)以后走C++,后端 还是 QT,暂时是这两个想法,当然,想法是一直变的,会随着我接触到东西不同而改变

B站  程序员老廖👇

咱先不管别的,先把基础这块搞好

(55)985大二拿到字节实习,Java,但是可以参考下方法👇

自学java 大二上进入字节跳动!_牛客网

(56)C++混搭方向

(57)C++一些行情和建议

👇C++开发这个,干了5年,没有后端卷,没有互联网卷,双休,965,工资是低一点,但这也是我想要的生活,时薪大差不差(不加班不出差,正是我想要的!

C++就业面确实更广,更不容易事业,也没有35危机,但是薪资肯定不如Java选互联网,大厂是去不了的。

(58)数据库方向

a. 

b.

(59)WebServer 之后第二个项目考虑

 

👆群友给的顺序,和上面知乎的给的,不太一样👇

👇具体顺序以后用到再研究👆

还有人建议,6.824 可以用 mini lsm 代替

而且上面大部分项目都是 infra 的,非常的卷......

(60)牛客 -- 超全面经

2022 届找 C++ 实习总结——我的一些经验分享_牛客网 (nowcoder.com)

(61)关于 4 个月后,大三上,秋招的一点思考

今天和牛客一个学长聊了下,给了一点中肯的建议

为什么我不建议你学C++后端_牛客网 (nowcoder.com)

我打算对目前计划做出调整,原来打算是,慢慢看完muduo这本书,然后看个视频,再敲源码,,,,现在呢,不打算做muduo了,但是 muduo 这本书会快速过一遍,用来巩固网络编程,Linux的基础

然后开始做 6.824

等等,我觉得muduo还是可以做一下....但是时间上确实不大来得及,可以做完muduo,然后 6.824只做到 Lab2 就好

详细建议👇

1)后台开发最好用Go,大厂后台开发的话,Go,比Java好一点,比C++好的多
2)实习经历,最好自己可以整合一下,把公司项目变成自己的项目,了解具体怎么实现的(然后写上简历),不可能从0到1让你负责一个项目,但是你可以将自己那部分,或者同事负责的部分,多请教下,整合到自己的简历里
3)大厂测开,不要作为主要方向,任何一个开发岗都可以转测开,只要开发基础打好,补充测试基础很快(大厂对于开发转测开,接受度较高)
4)不建议继续muduo,里面的socket和Go关系不大,Go有很多封装好的库
5)不建议QT,很差,除非你在学校里,处于比较菜的水平
6)很多大厂,喜欢隔几个月,再把你捞起来
7)自动驾驶的测开和互联网的测开不一样,自动驾驶测开没法转互联网测开,锁死
8)面试拿offer,看运气,如果mentor或者面试官,刚好做过你这个项目,或者技术栈和你类似,或者刚好有hc(投递要早一点)....说到底,还是不要放弃,坚持海投--复盘--面试--海投......
9)不推荐C++做后台开发。C++基础架构方向较多,底层造轮子,很多从0到1实现,所以业务方面表现差劲,远远不如Go(很多大厂也在转Go)
10)而且,目前Go的八股文很少,而且要求也比Java低
11)如果公司当前业务正好匹配你熟悉的Go框架,会加点分,gin, gorm, hertz
12)6.824的简历越来越多了,当然,还是要自己认真做,只要能让面试官信服你是认真做的就行,能扯上半小时,然后经得住挖
13)但是目前,网络,Linux方面基础还比较差,所以,先用muduo这本书,巩固下基础,快速过一遍,项目就不做了。。。然后做6.824
14)6.824不用做完所有lab,像这个学长,就是只做完lab2,raft,就写上简历了,lab3, lab4都没做
15)似乎感觉项目,更像文科,搞清楚逻辑 / 架构,能说清楚,面试就没啥大问题,但是,代码一定要是自己写过一遍
16)这个学长当初,直接跟论文,看懂了就自己写代码,然后搞清楚逻辑,能说出来

(62)开源项目参与方法

项目readme - quick start

+

看文档

+

看源码

+

Google ≈(第一步)

good first issue

+

提小pr(入门)

(63)外企投递渠道

1)招聘网站
猎聘(初中高级,首选),领英(中高级);
51 job,BOSS直聘,智联招聘,实习僧(实习岗位/校招项目)

猎聘,51这种,不一定要自己去投,只要经常更新简历,会有HR主动
source你们的简历,然后电话联络你

2)微信公众号(大一点的公司会有)
暑期实习 / 校招项目 / 热招岗位

(64)过来人的指点

1,基本功:目前基本功还太差

1)《Unix-Linux编程实践》

2)《muduo C++网络库》 -- 通过这本书 + 八股,巩固 webserver 项目

3)hot 100 二刷

4)清华 os 视频

5)侯捷 cpp

2,可选项目 -- 根据感兴趣岗位的具体要求

1)6.824 Go 分布式(Lab0~2较为简单,Lab3~4较为复杂)

2)ucore / rcore / mit操作系统

(65)图形学方向 -- 游戏入门

games101, 202, 104可以考虑下

(66)背景:大二,某211,cpp / go 选手,ACM 区铜,大一做完 15445 和 6.824

大二暑期,准备八股和面试前,可以系统看下大家的面经,查漏补缺

图片 copy 到微信,复制文字,然后扔给 GPT 或 Google

如果能整合 30 篇 C++ / Go (后端/后台/系统编程)方向的面经,90%以上的内容可以具体说出来

面试也就没啥问题了

牛客某大佬面经,大二上开始面试,大二下拿到 5 家大中厂开发岗实习 offer

a.

b.

c.

d. Mobvista面经(已OC)(cpp 转 go)

f.

g.格灵深瞳面经(已OC)

(67)webserver 服务器框架项目的补充

女朋友要去面试 C++,我建议她这么做 (qq.com)

(68)难度曲线--6.824(具体哪个版本忘了)

(69)发现一个学习技巧:四步学习法

1)任何知识点,需要先过 3 轮,才能有个比较深刻的印象,能在面试说个马马虎虎,比如计网,大一时 B站 跟了中科大的,这是第一轮;大二上过了一遍《图解HTTP》,和《图解 TCP/IP》的50%,这是第二轮;第 3 轮,就是大二下,也就是现在,打算过一遍 小林coding 的图解系列

2)以上 3 轮搞定后,第 4 轮,就是八股的背诵和模拟面试讲一下。

3)倘若 计网(网络编程),OS,MySQL,算法,等等,都能如此过上 4 轮,如此,便能融会贯通,结合 2 ~ 3 个项目巩固,面试自然不怂

4)算法目前,也在第 3 轮。第 1 轮是《啊哈算法》 + NEW OJ 的 100 道入门题;第二轮,acwing 50 道蓝桥杯辅导课 + 《算法训练营》100 题 + 洛谷 100 题;目前第 3 轮,hot 100 一刷二刷。

第 4 轮打算用腾讯,网易,百度,小红书,美团等大厂的笔试题,用来练手.....

🦆计划2.0

大二上寒假前会确定,2024-2-1之前完成修订

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千帐灯无此声

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值