C++后端学习路线

C++后端学习路线 公司招聘C++需求 腾讯,百度主流开发语言是C++字节主流开发语言是C++和Go C++ 岗位分类 C++ 按顺序看这几本书《C++ Primer 第5版》-> 《Effective C++》 ->《Effective stl》 -> 《STL源码剖析》-> 《深度探索C++对象模型》(选看)

学习网站 推荐 learncpp.com ,可以说是非常全面系统的介绍了C++相关知识,从编译器使用到如何运行第一行代码都介绍的非常细致。

平时看一看语法,某些函数的使用,推荐:http://www.cplusplus.com

 

如果有时间,可以自己实现一套简单的STL,既能熟悉STL,也可以作为自己的一个小项目,传到github,把链接放在在简历上是个加分项

视频推荐

这里还是推荐侯捷C++的视频

侯捷C++新标准-C++11/14系列

一共31集,看完之后可以对 C++11,有一个全新的了解,不要以为C++11 都多新的特性,现在已经C++20了,但C++11才慢慢在企业中广泛应用,面试的时候C++11也是重要考点。

侯捷C++新标准-C++11/14系列-B站

侯捷-C++ STL标准库和 C++ 泛型编程

STL 标准库是C++里的利器,也是面试中的考点,至于泛型编程,模板是泛型编程的一种重要思想,STL就是采用模板实现的一个实例,所以一起学习再适合不过

算法

数据结构算法方面,只要把公众号里的文章题目都刷了,然后自己选一选其他题目,做到400左右比较稳。

可以在做一做力扣top100。

对于面试来说,排序系列,单调栈,简单的图论(深搜,广搜,最小生成树,最短路径),高级数据结构:并查集,字典树(了解一下),之后就差不多了。然后就随便在leetcode找一些题目保持手感。

不过,代码随想录上的题目刷一遍指定是不够的,很多题目应该还没理解到位

其实关于深搜和广搜代码随想录里也讲过了,在树的递归遍历,和回溯算法中 其实都讲深度优先搜索,在树的层序遍历也讲了广度优先搜索。只不过图是在邻接表的基础上进行搜索,套路是一样的,就是构图的方式不同而已。

关于图论和数论和排序,我也会讲,只不过,更新没有那么快。

视频推荐

计算机基础

计算机基础

八股文

知识星球八股文PDF

视频推荐

主要是MOOC,B站 ,网易云公开课

操作系统

计算机网络

数据库

其他

这一部分内容,面试不常考

操作系统

《现代操作系统》,之后拿《深入理解操作系统》按照目录看,这本书把计算机组成原理也包含了

计算机网络

推荐《网络是怎样连接的》,当故事来看,了解更多细节。

零基础入门可以先看《图解 HTTP》 《图解 TCP/IP》。

然后可以看《计算机网络自顶向下》,这本看三遍,就很稳。

进阶,再看《TCP/IP详解》(选看)

数据库

关系型数据库,基础命令看《MySQL必知必会》

然后看《从根儿上理解mysql》,大量数据结构图表说明及案例分析,而且语言诙谐,浅显易懂,同时不缺乏深度。看完之后 就会理解之前很多看八股文的疑惑,然后应付面试也足够

进阶在看《MySQL技术内幕:InnoDB存储引擎》 (选看)

非关系型数据库:《Redis设计与实现》(选看)

linux (后端需要学习linux)

了解linux系统:《鸟哥私房菜》

Linux网络编程:如果是小白的话,先看《Linux高性能服务器编程》,之后再看《UNIX环境高级编程》(选看)和《Unix网络编程》(选看),这两本书都比较难啃,如果只看一本就看《Unix网络编程》,把服务器设计这块搞懂了。

设计模式

推荐《大话设计模式》 ,设计模式(其实设计模式很少考察,一般就考一考单例或者工厂)

这些书你第一次看的时候粗略看一遍就行,千万别沉迷进去,因为大多数细节很难,也不是面试考点,你粗略看一遍之后,就开始刷面经,看面经哪里不会回去在翻书,这样效率比较高。

花费时间

一般来说 4个月,每天 8个小时,其实可以把如上书都看完,并画出思维导图。 这样 以后看 面经看八股文 理解的会更深入一些。

当然这是很理想的情况,时间不够用,可以快速扫书,然后直接看八股文

项目

自己写一套STL

对于应届生的话,在学习stl的同时,可以实现一套自己的mini STL,即熟悉了stl的原理,也锻炼的编码能力,代码传到github上 可以作为自己的一个项目。

web server

如果对网络编程不太了解,建议写一个web server,虽然这个项目已经烂大街,但依然有很多可以优化的地方,代码传到github上,链接贴在简历里,面试官一定会看,只要代码写的不错,一定是加分项。

kv 存储引擎

详细看这里

如何看开源项目

看github上的项目,首先要学会用,要把这个项目用起来,跑起来,然后再去看代码,很多同学都反过来了,项目都没运行都没跑起来,然后就开始专研代码,那是绝对看不懂的。

所以看开源项目可以分这么几步:

1. 运行,跑起来,用起来,知道这个项目有什么功能,满足什么需求

2. 找到项目入口 main函数

3. 拆解项目模块,都有哪些功能,哪些模块

4. 一个模块一个模块去看代码,而不是 囫囵吞枣

5. 修改部分代码,重新跑项目,看看有哪些变动

6. 完成这个项目代码的阅读

看视频做项目

很多同学 是看视频做项目,但有担心项目重复率太高,其实这样的项目重复率一定是高的,但跟着视频学完,绝对不能 代码和视频里一样一样的,而是要有自己的理解,然后找一些可以优化的地方,不断优化,这就体现出和别人的差别了。

而且视频里的代码,还可以做一些 设计模式上的优化,这些都是差异。

然后把代码传到github上,简历把github地址贴出来,面试官看代码不错,都是加分项。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值