为节省时间,可直接跳转到 --> 干货
目录
前言
来源
现状
干货
入门阶段
入门项目
学习顺序
大二打算
来源的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
书籍
C++
- 《STL 源码剖析》①
- 《Effective C++》①
- 《深度探索C++对象模型》第3章
- 《C++ 11 新特性》
- 《C++ 内存管理》
操作系统
- 《鸟哥的linux私房菜》②
- 《Linux高性能服务器编程》
计网
- 《计算机网络:自顶向下》③
- 《TCP/IP详解卷1》
数据库
- 《MySQL必知必会》①
- 《MySQL技术内幕·InnoDB存储引擎》③
- 《Redis设计与实现》
计组
- 《计算机组成原理》②
设计模式
- 《大话设计模式》
Web开发
- 《图解HTTP》
视频
侯捷STL泛型编程....
a. 具体文档 / 视频教程,直接Bing,Google,百度,B站,Github,Youtube
b. 确定项目后,啃源码前,首先要先跑通,git clone到本地,将BUG一点一点解决了,能跑通了再开始学!小白可以跟B站。
c. 注意不要做重复项目(技术栈,流程几乎一样的)
d. 下列项目,大部分都可以放上简历!(少数为初学者巩固语法)
建议“项目驱动”的学习方式
小游戏
- 俄罗斯方块(Github,Youtube)
编程语言
- C++实现自己的编程语言
工具和应用
- 开发自己的文本编辑器
- 基于C++实现一个迷你STL
- 简单JSON库
- 轻量级Web服务器
- 商城系统
- 实现标准库部分容器和算法,对标准库进行扩充
- 利用C/C++开发基于B+树的小型关系型数据库
- libqalculate(多功能计算器桌面应用)
- spdlog(C++日志库)
网络编程
- 网络编程库muduo
- 微信RPC框架phxrpc
- 牛客Linux服务器教程
- 高性能Web服务器
- Linux C++ WebServer
- 轻量级网络框架,线程池技术,C++11
- TinyWebServer
- 搭建一个HTTP服务器(十几行代码,重点是理解背后逻辑)
- 搭建自己的RPC系统
- workflow(搜狗开源的C++服务器引擎)
分布式
- MIT 6.824中文教程(分布式)
大致建议是
(1)先学C++和数据结构与算法
(2)再学计组和操作系统
(3)最后数据库与计网...
但是我是学完C++直接Mysql了,影响不大,学Mysql时也接触了一些Centos命令行
进行中
(1)黑马Mysql视频
(2)《Mysql必知必会》
(3)《算法训练营入门篇》
(4)Acw蓝桥杯辅导课
新起点
(1)《Effective C++》
(2)《鸟哥的Linux私房菜》
(3)有空打打比赛(每场补1道题),整点小项目(项目源码必须先跑通,不然白给)
考虑到大二上课程
软件工程导论,多媒体技术,JavaSE,毛概 --> B站自学,及格万岁
Linux,数据结构与算法 --> 已在计划中
概率论与数理统计,英语 --> 正常上课