你离腾讯T8还有多远?最全最详细的C/C++后端开发技术栈
Linux开发架构之路 2024-05-11

c/c++后端开发程序员往往都是被大厂所青睐,因为需要掌握的技术范畴大,有一定的技术难度,从技术层面上形成一定的护城河。

腾讯做为国内首屈一指的c/c++后台程序员集中地,首先从他们的招聘岗位来看:



熟悉Linux下的c++、STL

  • 熟悉网络、进程/线程间的通信编程

  • 熟悉http,cgi编程

  • 精通TCP/IP协议,熟悉unix/linux操作系统原理、常用工具

  • 全面的软件知识结构(操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全)

下面再来看看腾讯T5-9职级的工程师分别需要掌握哪些内容



总结下来核心技术点为八个点+软技能:

  1. 编程语言

  2. 数据结构与算法

  3. 数据库

  4. 网络编程

  5. 操作系统

  6. 网络编程

  7. 分布式架构

  8. 云原生

如此多的内容,我们该如何学习呢?这里推荐零声教育的C/C++后端开发系统课程,完美对标腾讯T8的技术栈。

完整课程大纲如下

1、精进基石专栏

1.1 数据结构与算法


1.2 设计模式


1.3 C++新特性


1.4 linux工程管理


2、高性能网络设计专栏

2.1 网络编程 异步网络库zvnet


2.2 网络原理


2.3 自研框架:协程框架NtyCo的实现(https://github.com/wangbojing/NtyCo


2.4 自研框架:基于dpdk的网户态协议栈的实现(https://github.com/wangbojing/NtyTcp


2.5 高性能异步io机制


3、基础组件设计专栏

3.1 池式组件


3.2 高性能组件


3.3 开源组件


4、中间件开发专栏

4.1 redis


4.2 mysql


4.3 kafka


4.4 微服务之间通信基石gRPC


4.5 nginx


5、开源框架专栏

5.1 游戏服务器框架skynet


5.2 分布式API网关


5.3 SPDK助力mysql数据落盘,让性能腾飞


5.4 高性能计算CUDA


5.5 并行计算与异步网络引擎workflow


5.6 物联网通信协议mqtt的实现框架mosquitto


5.7 ZeroMQ


6、云原生专栏

6.1 Docker


6.2 kubernetes


7、性能分析专栏

7.1 性能与测试工具

7.2 观测技术bpf与ebpf

7.3 内核源码机制


8、分布式架构专栏

8.1 分布式数据库


8.2 分布式文件系统


8.3 分布式协同


8.4 分布式监控prometheus


9、上线项目实战

9.1 kdvstore实现


9.2 图床共享云存储(零声图床mediahub


9.3 微服务即时通讯项目(零声教育即时通讯项目-首页


添加图片注释,不超过 140 字(可选)


9.4 零声教学AI助手(零声教学AI助手(公测)




添加图片注释,不超过 140 字(可选)


9.5 魔兽世界后端TrinityCore(C++ 游戏后端开发课程-首页


以上就是c/c++后台开发/服务器开发全套系统学习课程内容,需要系统学习请扫码添加贝贝老师领取专属大额优惠券。

适宜的工程师人群(共分为8大群体)

  • 1.从事业务开发多年,对底层原理理解不够深入的在职工程师

  • 2.从事嵌入式方向开发,想转入互联网开发的在职工程师

  • 3. 从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师

  • 4.从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师

  • 5.工作中技术没有挑战,工作中接触不到新技术的在职工程师

  • 6.自己研究学习速度较慢,不能系统构建知识体系的开发人员

  • 7.了解很多技术名词,但是深入细问又不理解的工程师

  • 8.计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c++基础)

配套书籍资料

  • 1. MySQL: 《高性能MySQL 第3版》

  • 2. Nginx: 《深入理解Nginx: 模块开发与架构分析(第2版)》(陶辉)

  • 3. Redis: Redis设计与实现 (黄健宏)

  • 4. Linux内核: 《深入理解Linux内核架构》 (郭旭 译)

  • 5. 数据结构与算法:《算法导论》(第3版)

  • 6.性能分析:《性能之巅洞悉系统、企业与云计算》

  • 7. MongoDB: 《MongoDB权威指南》

  • 8. Ceph: 《Ceph分布式存储学习指南》 (Ceph中国社区)

  • 9. Docker: 《Docker容器 与容器云(第2版)》

  • 10. TCP/IP: 《Tcp/Ip详解卷一卷二卷三》

  • 11. Linux系统编程: 《Unix环境高级编程》

  • 12. 计算机: 《深入理解计算机系统》

  • 13. DPDK: 《深入浅出DPDK》

  • 14. k8s: 《Kubernates权威指南》 龚正等编著

  • 15. bpf: 《BPF之巅洞悉Linux系统和应用性能》

学习成果检验






  • 腾讯offer比例15%

  • 知名企业offer比例73%

  • 最高offer腾讯T3.1(现T9)年薪65w

  • 最高年薪涨幅30W

  • 最快跳槽学习时间1个半月

如果是想在c/c++开发方向得到有效的快速提升(不是所谓的速成),这份学习体系是大家绕不过的具有参考意义的提升路线。从学习路线中可以对c/c++开发方向的技术栈有一个清晰的认识。



声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • C语言
  • 编程
  • 软件开发
  • 程序
  • 10年大神,传授嵌入式开发心得

    十年经验的大神谈如何学STM32嵌入式开发

    10小时前
  • C 语言中数据类型的解释

    在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间。

    06-14
  • 编程七大数据结构的奥秘

    在编程的世界里,数据结构是构建信息框架的骨架。就像现实生活中的建筑需要精心设计的结构一样,我们的数据也需要合适的结构来保证程序的高效和稳定。

    06-14
  • C 程序中可用的4个存储类

    存储类定义C语言程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。

    06-14
  • 程序内存分区中的堆与栈

    堆(Heap)与栈(Stack)是开发人员必须面对的两个概念,在理解这两个概念时,需要放到具体的场景下,因为不

    06-14
  • 驱动系统的定义:解析动力传输的核心概念

    驱动程序本质上是软件代码,主要作用是计算机系统与硬件设备之间完成数据传送的功能,只有借助驱动程序,两者才能通信并完成特定的功能。如果一个硬件设备没有驱动程序,只有操作系统是不能发挥特有功能的,也就是...

    06-13
  • 驱动系统的定义及其在自动化领域的应用

    驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能...

    06-13
  • 操作系统的安全性和功能如何提高系统性能?

    计算的操作系统对于计算机可以说是十分重要的,从使用者角度来说,操作系统可以对计算机系统的各项资源板块开展调度工作,其中包括软硬件设备、数据信息等,运用计算机操作系统可以减少人工资源分配的工作强度,使...

    06-13
  • 计算机体系结构的优化方法有哪些?

    计算机操作系统诞生初期,其体系结构就属于简单体系结构,由于当时各式各样影响因素的作用,如硬件性能、平台、软件水平等方面的限制,使得当时的计算机操作系统结构呈现出一种混乱且结构模糊的状态,其操作系统的...

    06-13
  • 线程概述如何影响程序性能?

    线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题?对于...

    06-13
  • MCU原理及区别:实用技巧与建议

    1.对密集的乘法运算的支持GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘 法。DSP处理器还增加了累加器寄存器来处理多个乘积的和...

    06-13
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告