简单分享一下我的校招C++学习路线
个人背景:
末流211本,通信专业;211硕士,电子信息(人工智能)硕士
1 基础阶段
1.1C++语言学习
对于语言学习,我主要看了黑马的C++教学视频 和 Primer C++ 第五版 这本书
1.2 操作系统
操作系统是必学课程,这我直接学习的王道考研的操作系统课程
1.3 计算机网络
计算机网络也是必学课程,我观看的湖科大教书匠的视频
1.4 计算机组成原理
这个俺没学,面试也很少有问的,如果有学过微机原理或者科班出生的同学我觉得完全没必要╮(0.o)╭
2 提升阶段
2.1 网络编程
我是看了两本书 TCP/IP网络编程(尹圣雨) 和 Linux高性能服务器编程(游双)
前期我先看的尹圣雨的这本, 这本书个人觉得讲的贴切,很适合零基础的小伙伴;然后再学习的游双的Linux高性能服务器编程,这本书要更全面更透彻一些。
2.2 刷题:力扣剑指Offer / 代码随想录
找工作算法是绕不开的,本人非科班出生,本科学过一些数据结构,但也是白给,基本都还给老师了。
我刚开始刷题是按照力扣官方提供的剑指Offer专项计划走的,这个专项计划他是把题按照算法类型分过类,然后每日刷一类题这样的一个形式,然后按照每次要刷的题是哪类算法然后进一步去学习相关内容,因此上面基础阶段我没有进行数据结构与算法的系统学习。总而言之刷题的前期最好按类刷题和学习该算法。同时我更推荐卡尔的代码随想录(┭┮﹏┭┮为什么我一开始的时候不知道),他这个里面已经对力扣中部分经典题目进行的分类,大家可以按部就班的刷就完事儿了。
2.3 STL源码剖析
侯捷老师的STL源码剖析这本书,主要是讲STL容器的设计和实现,个人感觉太多太厚了,反正俺是悟不透了,后面程序员贺同学八股中也包含了容器部分的知识,不想看书的同学可以仔细看看八股应该也阔以。这部分最重要的知识我觉得应该是容器部分,面试时常会让手撕vector容器,问容器的底层原理。
3 全面阶段
3.1 刷题:力扣hot100
狠狠的刷,这部分的题真的很经典且面试常问,最好能做到看到这些题就能立马想起来对应的解题思路并开撕。
3.2 MySQL
我直接学习的黑马的B站教学视频
3.3 Redis
这一部分我一开始学习的是尚硅谷的Redis教学视频,这个视频的时长只有10个小时,相当于是做了一个简单的了解,然后我是学习了极客时间蒋德钧老师的Redis核心技术与实战专栏Redis核心技术与实战和Redis源码剖析与实战(后者看个人兴趣来学吧,这个不是必要的)
3.4 项目
网上的C++项目说多不多,说少也不少,我知道的主要就是WebServer,Tiny-rpc,muduo网络库、Redis客户端、Qedis、MIT操作系统系列、MCU数据库系列、workspace。
WebServer的话烂大街确实没得说,想用的话也不是不行(我就用的这玩意儿,面试官上来就问我这是你们的大作业吗?つ﹏⊂),但最好是在现有基础上加上点自己的东西,如改写异步结构,增加功能(上传,下载文件)等;听说Tiny-rpc今年好像也有烂大街的趋势,但应该要比Webserver好一些。MIT操作系统和MCU数据库个人觉得难度算是比较大的,做起来需要的时间也比较久,认可度也确实不错,对一些自动驾驶公司来说,做过MIT操作系统可以是加分项,而一些数据库开发的公司更喜欢做过MCU数据库或者Qedis(一个手撕Redis数据库的项目)的同学。至于其他的项目我也不太了解,大家自行去查看吧。
还有一些其他的付费课程,如B站程序员老秦、零声教育的相关项目课程等,这些我也不太了解,就不嗦了。
3.5 其他
做项目时会用到的一些工具,如CMake,GDB调试工具,vim编辑器以及设计模式,如果有兴趣学习的同学可以参考爱编程的大丙
4 苟住阶段
4.1 八股
八股的我主要背 C++语言基础、操作系统、计算机网络、MySQL、Redis这几个部分
看的是阿秀的学习笔记、程序员贺同学、小林coding和JavaGuide
阿秀的学习笔记我认为是最全面的,我的C++语言基础、操作系统、计算机网络基本上都是按照阿秀的学习笔记走的;
程序员贺同学的我只看了C++语言的部分,作了一定补充;
小林coding的内容十分的细致,我主要看了图解网络中的HTTP篇和TCP篇、图解系统中的网络系统,以及图解MySQL和图解Redis中的全部内容。
JavaGuide我只看了其中Redis和MySQL部分,相比起来我觉得小林Coding的图解MySQL和图解Redis要更好,后来就很少看了这个了
4.2 刷题:力扣和牛客SQL
力扣刷题需要坚持,可以选择复习之前刷过的题或者去刷力扣面试经典150题,一定要保持手感
SQL题的练习我做的是牛客网的题库-在线编程-SQL篇,题量不大,主要是温习一下学过的SQL语言,有时候面试也会让手写SQL
4.3 面试
面试的话最好不要等到正式批开始后才投递,尽早开始积累一些面试经验是一个不错的选择。如一些智力题、场景题、海量数据处理大家可以按照阿秀的学习笔记来学习
我的学习路线分享就如上这样了,如果大家有什么疑问或者需要上述中的资料可以私信我或者Q1714306654,记得备注来意。