结合 2025 年最新市场数据和行业动态,C++ 找工作的现状呈现结构性分化:传统领域需求收缩,但高价值赛道依然强劲,且对技能要求显著升级。

一.岗位总量收缩,但高价值领域需求激增

猎聘数据显示,2025 年上半年全行业 C++ 岗位同比减少约 8%,但游戏引擎开发、嵌入式系统、金融高频交易、自动驾驶等领域岗位逆势增长 15%-30%。例如:

  • 游戏行业:《黑神话:悟空》团队的物理引擎优化岗月薪达 35-60K,要求精通 C++20 协程和 Nanite 渲染技术;

  • 金融科技:量化交易系统开发岗年薪普遍 80 万 - 200 万,头部私募如幻方、九坤的技术投入占比超 50%;

  • 自动驾驶:华为、地平线等企业的智驾系统开发岗需求年增 25%,需掌握多传感器融合和 ROS 实时系统。

二.薪资两极分化加剧

  • 初级开发者:应届生起薪约 12.8K(北京),主要集中在传统外包和维护类岗位,竞争激烈;

  • 中高级人才:3-5 年经验者月薪 25-40K,资深工程师(10 年以上)年薪可达 60 万 - 200 万,主导大型架构设计(如分布式游戏服务器);

  • 新兴领域溢价:掌握 AI 推理部署(TensorRT)、边缘计算优化的 C++ 开发者,薪资较普通岗位高 30%-50%。

三.核心赛道分析

1.游戏开发:性能驱动的核心领域

C++ 在游戏行业的地位不可替代,尤其在引擎开发和服务器架构中占据主导。例如,畅游 2026 届秋招的游戏开发工程师岗位明确要求 C++ 技能,负责服务器功能开发与性能调优,应届生年薪可达 16 万 - 25 万。具体机会包括:

  • 引擎开发:Unreal Engine、Unity 底层模块(如渲染、物理引擎)均由 C++ 实现,需掌握图形学基础和内存管理技巧。

  • 游戏服务器:支持千万级并发的 MMORPG 服务器架构,需熟悉分布式系统设计(如 Redis 集群、Kafka 消息队列)和协议优化(如 Protobuf 编解码)。

  • 工具链开发:自动化测试框架、资源打包工具等,需结合 Python 脚本提升效率。

2.嵌入式系统:物联网与工业控制的基石

随着智能家居、自动驾驶的普及,嵌入式 C++ 岗位需求持续增长。猎聘数据显示,安防音视频产品开发岗位(如 IPC/NVR)年薪可达 15-25 万,要求熟悉 Linux 应用层开发、音视频协议(RTSP/ONVIF)和多线程编程。具体方向包括:

  • 工业控制:PLC 系统、机器人控制器开发,需掌握 Modbus/OPC UA 协议和实时操作系统(如 VxWorks)。

  • 汽车电子:车载信息娱乐系统、ADAS 传感器融合,需熟悉 AUTOSAR 架构和 ISO 26262 功能安全标准。

  • 边缘计算:在 ARM/RISC-V 架构上优化代码体积,通过交叉编译工具链(如 aarch64-linux-gnu-gcc)实现轻量化部署。

3.金融科技:高薪资的技术高地

金融行业对低延迟、高并发系统的需求催生了大量 C++ 岗位。例如,量化开发岗位薪资可达 40-70k・20 薪,要求精通多线程编程、内存池设计和微秒级延迟优化。核心机会包括:

  • 高频交易系统:实现订单路由、做市策略,需掌握 FIX 协议和 FPGA 加速技术。

  • 风控系统:实时数据处理与反欺诈模型部署,需结合 TensorRT 进行模型推理优化。

  • 区块链底层:智能合约引擎开发、共识算法实现,需熟悉加密算法和 P2P 网络。

4.实时通信:音视频与网络优化的前沿

在 WebRTC、5G 等技术推动下,实时通信领域对 C++ 开发者需求激增。腾讯云音视频实时通信工程师岗位要求熟悉流媒体传输协议(如 SIP/RTP)和 WebRTC 框架,薪资水平领先行业。具体方向包括:

  • 音视频编解码:H.264/H.265 编码优化、JitterBuffer 设计,需掌握 FFmpeg 库和 GStreamer 框架。

  • 网络传输优化:弱网环境下的拥塞控制(如 BBR 算法)、NAT 穿透技术,需深入理解 TCP/IP 协议栈。

  • 边缘节点部署:在边缘服务器上实现低延迟媒体处理,需结合 Docker 容器化技术。

5.人工智能:底层优化的关键战场

尽管 Python 主导 AI 研究,但 C++ 在高性能计算和模型部署中不可或缺。例如,TensorFlow 的计算图核心由 C++ 实现,ONNX Runtime 推理引擎也依赖 C++ 优化。具体机会包括:

  • 深度学习框架开发:参与 PyTorch/TensorFlow 的算子内核优化,需掌握 CUDA/CuDNN 和自动微分技术。

  • 模型推理加速:使用 TensorRT 进行 INT8 量化、模型剪枝,在边缘设备(如 Jetson 平台)实现实时推理。

  • AI 工具链开发:数据标注平台、模型压缩工具,需结合 Python-C++ 混合编程(如 PyBind11)。

6.自动驾驶:系统级开发的新蓝海

自动驾驶领域对 C++ 开发者需求旺盛,算法工程和系统调优岗位薪资可达 30-50k・14 薪,要求熟悉 CyberRT/ROS 框架和传感器融合技术。核心方向包括:

  • 感知与决策系统:激光雷达点云处理(PCL 库)、路径规划算法实现,需结合 OpenCV 和 Eigen 数学库。

  • 系统性能优化:在 QNX/Linux 系统上进行内存泄漏检测(Valgrind 工具)和 CPU 缓存优化,确保实时性要求。

  • OTA 升级架构:设计安全可靠的软件更新系统,需掌握差分升级算法和加密传输协议。

7.编译器开发:技术壁垒高的专业领域

编译器开发岗位虽门槛较高,但薪资和稳定性突出。汇川技术的编译器工程师岗位要求熟悉 LLVM/GCC 工具链,年薪可达 20-40 万。具体方向包括:

  • 领域专用语言(DSL):为特定场景(如金融建模、工业控制)设计编译器,需掌握 ANTLR 词法分析器。

  • 编译优化:通过 LLVM IR 实现循环展开、向量化等优化,提升代码执行效率。

  • 交叉编译工具链:为嵌入式设备(如 RISC-V 架构)构建定制化编译器,需熟悉 GNU 工具链。

C++ 开发者的核心优势在于对性能和底层的掌控力,这在上述领域中尤为关键。2025年对C++开发者的要求进一步拔高,单纯掌握语法的开发者很难找到合适的工作,精通现代 C++与垂直领域知识的复合型人才才是企业青睐的对象。

四.C++学习路线

来自零声教育的linux c/c++开发课程大纲,通过原理技术+源码讲解+实战项目,全面解析linux c/c++底层开发技术,14个上线项目,2W+行手写代码。

1、精进基石专栏

(一)数据结构与算法

随处可见的红黑树

  • 红黑树的应用场景进程调度cfs,内存管理

  • 红黑树的数学证明与推导

  • 手撕红黑树的左旋与右旋

  • 红黑树添加的实现与添加三种情况的证明

  • 红黑树删除的实现与删除四种情况的证明

  • 红黑树的线程安全的做法

  • 分析红黑树工程实用的特点

磁盘存储链式的B树与B+树

  • 磁盘结构分析与数据存储原理

  • 多叉树的运用以及B树的定义证明

  • B树插入的两种分裂

  • B树删除的前后借位与节点合并

  • 手撕B树的插入,删除,遍历,查找

  • B+树的定义与实现

  • B+树叶子节点的前后指针

  • B+树的应用场景与实用特点

  • B+树的线程安全做法

海量数据去重的abhloriter bitap

  • hash的原理与hash函数的实现

  • hash的应用场景

  • 分布式hash的实现原理

  • 海量数据去重布隆过滤器

  • 布隆过滤的数学推导与证明

(二)设计模式

创建型设计模式

  • 单例模式

  • 策略模式

  • 观察者模式

  • 工厂方法模式与抽象工厂模式

  • 原型模式

结构型设计模式

  • 适配器模式

  • 代理模式

  • 责任链模式

  • 状态模式

  • 桥接模式

  • 组合模式

(三)c++新特性

stI容器,智能指针,正则表达式

  • unordered_ _map

  • stl容器

  • hash的用法与原理

  • shared_ ptr,unique_ ptr

  • basic_ regex,sub_ match

  • 函数对象模板function, bind

新特性的线程,协程,原子操作,lamda表达式

  • atomic的用法与原理

  • thread_ local 与condition_ var iable

  • 异常处理exception_ _ptr

  • 错误处理error _ category

  • coroutine的用法与原理

(四)Linux工程管理

Makefi le/ cmake/conf igure

  • Makefile的规则与make的工作原理

  • 单文件编译与多文件编译

  • Makefile的参数传递

  • 多目录文件夹递归编译与嵌套执行make

  • Makefile的通配符,伪目标,文件搜索

  • Makefile的操作函数与特殊语法

  • configure生成makefile的原则

  • cmake的写法

分布式版本控制git

  • git的工作流程

  • 创建操作与基本操作

  • 分支管理,查看提交历史

  • git服务器搭建

Linux系统运行时参数命令

  • 进程间通信设施状态ipcs

  • Linux系统运行时长upt ime

  • CPU平均负载和磁盘活动iostat

  • 监控,收集和汇报系统活动sar

  • 监控多处理器使用情况mpstat

  • 监控进程的内存使用情况pmap

  • 系统管理员调优和基准测量工具nmon

  • 密切关注Linux系统glances

  • 查看系统调用strace

  • ftp服务器基本信息ftptop

  • 电量消耗和电源管理powertop

  • 监控mysq| 的线程和性能mytop

  • 系统运行参数分析htop/top/atop

  • Linux网络统计监控工具netstat

  • 显示和修改网络接口控制器ethtool

  • 网络数据包分析利刃tcpdump

  • 远程登陆服务的标准协议teInet

  • 获取实时网络统计信息iptraf

  • 显示主机上网络接口带宽使用情况iftop

gdb调试

  • vscode远程连接Linux

  • vscode gdb开发环境设置

  • gdb调试概述

  • gdb调试准备

  • gdb调试命令详解

  • gdb多线程调试

  • gdb附加进程调试

  • gdb core fles调试

2、高性能网络设计专栏

(一)网络编程异步网络库zvnet

网络io与io多路复用select/poll/epoll

  • socket与文件描述符的关联

  • 多路复用select/poll

  • 代码实现LT/ET的区别

事件驱动reactor的原理与实现

  • reactor针对业务实现的优点

  • poll封装send_ cb/recv_ _cb/ accept_ _cb

  • reactor多核实现

  • 跨平台(select/epoll/kqueue)的封装reactor

  • redis,memcached, nginx网 络组件

http服务器的实现

  • reactor sendbuffer与recvbuffer封装http协议

  • http协议格式

  • 有限状 态机fsm解析http

  • 其他协议websocket, tcp文件传输

(二)网络原理

服务器百万并发实现(实操)

  • 同步处理与异步处理的数据差异

  • 网络io线程池异步处理

  • ulimit的fd的百万级别支持

  • sysctI. conf的rmem与wmem的调优

  • conntrack的原理分析

Posix API与网络协议栈

  • connect,listen, accept与三次握 手

  • listen参数backlog

  • syn泛洪的解决方案

  • close与四次挥手

  • 11个状态迁移

  • 大量close_ wait与time wait的原因与解决方案

  • tcp keepalive与 应用层心跳包

  • 拥塞控制与滑动窗口

UDP的可靠传输协议QUIC

  • udp的优缺点

  • udp高并发的设计方案

  • qq早期为什么选择udp作为通信协议

  • udp可靠传输原理

  • quic协议的设计原理

  • quic的开源方案quiche

  • kcp的设计方案与算法原理

(三)自研框架:协程框架NtyCo的实现

协程设计原理与汇编实现

  • 协程存在的3个原因

  • 同步与异步性能,服务端异步处理,客户端异步请求

  • 协程原语 switch,resume,yield,

  • 协程切换的三种实现方式,setjmp/longjmp,ucontext,汇编实现

  • 汇编实现 寄存器讲解

  • 协程初始启动 eip寄存器设至

  • 协程栈空间定义,独立模与共享栈的做法

  • 协程结构体定义

协程调度器实现与性能测试

  • 调度器的定义分析

  • 超时集合,就绪队列,io等待集合的实现

  • 协程调度的执行流程

  • 协程接口实现,异步流程实现

  • hook钩子的实现

  • 协程实现mysql请求

  • 协程多核方案分析

  • 协程性能测试

(四)自研框架:基于dpdk的用户态协议栈的实现

用户态协议栈设计实现

  • 用户态协议栈的存在场景与实现原理

  • netmap开源框架

  • eth协议,ip协议, udp协议实现

  • arp协议实现

  • icmp协议实现

tcp的原理实现

  • tcp 11个状态实现

  • 滑动窗口与慢启动

  • 重传定时器,坚持定时器

  • time_wait定时器,keepalive定时器

应用层posix api的具体实现

  • socket/bind/listen的实现

  • accept实现

  • recv/send的实现

  • 滑动窗口/慢启动讲解

  • 重传定时器,坚持定时器,time_ wait定时器,keepalive定时器

手把手设计实现epoll

  • epoll数据结构封装与线程安全实现

  • 协议栈fd就绪回调实现

  • epoll接口实现

  • LT/ET的实现

(五)高性能异步io机制

与epo1l媲美的io_ uring

  • io_ _uring系统调用io_ _uring_ setup, io_ _ur ing_ register, io_ _ur ing_ enter

  • liburng的io_ uring的关系

  • io_ uring与epoll性能对比

  • io_ _uring的共享内存机制

io_ uring的使用场景

  • io_ ur ing的accept, connect, recv, send实现机制

  • io_ uring网络读写

  • io_ uring磁盘读写

  • proactor的实现

windows异步机制iocp

  • iocp完成端口的工作机制

  • iocp的精髓重叠io

  • iocp处理维护连接以及连接上的收发数据

  • iocp多线程处理方案

3、基础组件设计专栏

(一)池式组件

手写线程池与性能分析(项目)

  • 线程池的异步处理使用场景

  • 线程池的组成任务队列执行队列

  • 任务回调与条件等待

  • 线程池的动态防缩

  • 扩展: nginx线程池实现对比分析

内存池的实现与场景分析(项目)

  • 内存池的应用场景与性能分析

  • 内存小块分配与管理

  • 内存大块分配与管理

  • 手写内存池,结构体封装与API实现

  • 避免内存泄漏的两种万能方法

  • 定位内存泄漏的3种工具

  • 扩展:nginx内存池实现

mysq|连接池的实现(项目)

  • 连接池性能的影响的2个因素,top连接和mysq|认证

  • 连接请求归还策略

  • 连接超时未归还策略

  • 链接断开重连策略

  • 连接数量最优策略

(二)高性能组件

原子操作CAS与锁实现(项目)

  • 互斥锁的使用场景与原理

  • 自旋锁的性能分析

  • 原子操作的汇编实现

无锁消息队列实现(项目)

  • 有锁无锁队列性能

  • 内存屏障Barrier

  • 数组无锁队列设计实现

  • 链表无锁队列设计实现

网络缓冲区设计

  • RingBuffer设计

  • 定长消息包

  • ChainBuffer 设计

  • 双缓冲区设计

定时器方案红黑树,时间轮,最小堆(项目)

  • 定时器的使用场景

  • 定时器的红黑树存储

  • 时间轮的实现

  • 最小堆的实现

  • 分布式定时器的实现

手写死锁检测组件(项目)

  • 死锁的现象以及原理

  • pthread_ _mutex_ lock/pthread_ _mutex_ _unlock dIsym的实现

  • 有向图的构建

  • 有向图dfs判断环的存在

  • 三个原语操作 lock before, lock_ after, unlock_ after

  • 死锁检测线程的实现

手写内存泄漏检测组件(项目)

  • 内存泄漏现象

  • 第三方内存泄漏与代码内存泄漏

  • malloc与free的dIsym实现

  • 内存检测策略

  • 应用场景测试

手把手实现分布式锁(项目)

  • 多线程资源竞争互斥锁

  • 自旋锁

  • 加锁的异常情况

  • 非公平锁的实现

  • 公平锁的实现

(三)开源组件

异步日志方案spdlog (项目)

  • 日志库性能瓶颈分析

  • 异步日志库设计与实现

  • 批量写入与双缓存冲机制

  • 奔溃后的日志找回

应用层协议设计ProtoBuf(项目)

  • IM, 云平台,nginx, http, redis协议设计

  • 如何保证消息完整性

  • 手撕protobuf IM通信 协议

  • protobuf序列化与反序列化

  • protobuf编码原理

4、中间件开发专栏

(一)Redis

Redis相关命令详解及其原理

  • string,set, zset, Iist,hash

  • 分布式锁的实现

  • Lua脚本解决ACID原子性

  • Redis事务的ACID性质分析

Redis协议与异步方式

  • Redis协议解析

  • 特殊协议操作订阅发布

  • 手撕异步redis协议

存储原理与数据模型

  • string的三种编码方 式int, raw, embstr

  • 双向链表的list实现

  • 字典的实现,hash函数

  • 解决键冲突与rehash

  • 跳表的实现 与数据论证

  • 整数集合实现

  • 压缩列表原理证明

主从同步与对象模型

  • 对象的类型与编码

  • 广字符串对象

  • 列表对象

  • 哈希对象

  • 集合对象

  • 有序集合

  • 类型检测与命令多态

  • 内存回收

  • 对象共享

  • 对象空转时长

  • redis的3种集群方式主从复制,sentinel, cluster

  • 4种持久化方案

(二)MySQL

SQL语句,索引,视图,存储过程,触发器

  • MySQL体系结构,SQL执行流程.

  • SQL CURD与高 级查询

  • 视图,触发器,存储过程

  • MySQL权限管理

MySQL索引原理以及SQL优化

  • 索引,约束以及之间的区别

  • B+树,聚集索引和辅助索引

  • 最左匹配原则以及覆盖索引

  • 索引失效以及索引优化原则

  • EXPLAIN执行计划以及优化选择过程分析

MySQL事务原理分析

  • 事务的ACID特性

  • MySQL并发问题脏读,不可重复读,幻读

  • 事务隔离级别

  • 锁的类型,锁算法实现以及锁操作对象

  • S锁X锁|S锁IX锁

  • 记录锁,间隙锁,next-key lock

  • 插入意向锁,自增锁

  • MVCC原理剖析

MySQL缓存策略

  • 读写分离,连接池的场景以及其局限a

  • 缓存策略问题分析

  • 缓存策略强一致性解决方案

  • 缓存策略最终一致性解决方案

  • 2种mysql緩存同步方案从数据库与触发器+udf

  • 缓存同步开源方案go-mysql-transfer

  • 缓存同步开源方案canal原理分析

  • 3种缓存故障,缓存击穿,缓存穿透,缓存雪崩

(三)Kafka

Kafka使 用场景与设计原理

  • 发布订阅模式

  • 点对点消息传递

  • Kafka Brokers原理

  • Topi cs和Partition

Kafka存 储机制

  • Partition存储分布

  • Partition文件存储机制

  • Segment文件存储结构

  • offset查找message

  • 高效文件存储设计

(四)微服务之间通信基石gRPC

gRPC的 内部组件关联

  • CI ientS ide与ServerSide, Channel, Ser ivce, Stub的概念

  • 异步gRPC的实现

  • 回调方式的异步调用

  • Server 与CI ient对RPC的实现

基于http2的gRPC通信协议

  • 基于http协 议构造

  • ABNF语法

  • 请求协议Request-Headers

  • gRPC上下文传递

(五)Nginx

Nginx反 向代理与系统参数配置conf原理

  • Nginx静态文件的配置

  • Nginx动态接口代理配置

  • Nginx对Mqtt协议转发

  • Nginx对Rtmp推拉流

  • Openresty对Redis缓存数据代理

  • shmem的三种实现方式

  • 原子操作

  • nginx channel

  • 信号

  • 信号量

Nginx过滤 器模块实现

  • Nginx Filter模块运行原理

  • 过滤链表的顺序

  • 模块开发数据结构 ngx_str_t,ngx_ list_ t,ngx_ buf_ t,ngx_ chain_ t

  • error日志的用法

  • ngx_ comond_ t的讲解

  • ngx_http_module_t的执行流程

  • 文件锁,互斥锁

  • slab共享内存

  • 如何解决 "惊群”问题

  • 如何实现负载均衡

Nginx Handler模块实现

  • Nginx Handler模块运行原理:

  • ngx_ module_ t/ngx_ http_ module_ t的讲解

  • ngx_ http_ top_ body_ filter/ngx_ http_ _top_ header_ filter的 原理

  • ngx_ rbtree_ t的使用方法

  • ngx_ rbtree自定义添加方法

  • Nginx的核心数据结构ngx_ cycle_ t,ngx_ event. _moule_ t

  • http请求的11个处理阶段

  • http包体处理

  • http响应发送

  • Nginx Upstream机制的设计与实现

  • 模块性能测试

5、开源框架专栏

(一)游戏服务器开发skynet

Skynet设计原理

  • 多核并发编程-多线程,多进程,csp模型,actor模型

  • actor模型实现-lua服务和c服务

  • 消息队列实现

  • actor消息调度

skynet网络层封装以及lua/c接口编程

  • skynet reactor 网络模型封装

  • socket/ socketchanne|封装

  • 手撕高性能c服务

  • lua编程以及lua/c接口编程

skynet重要组件以及手撕游戏项目

  • 基础接口 skynet. send, skynet. cal I, skynet. response

  • 广播组件multicastd

  • 数据共享组件 sharedatad datasheet

  • 手撕万人同时在线游戏

(二)分布式API网关

高性能web网关Openresty

  • Nginx与lua模块

  • Openresty访问Redis,MySQL

  • Restful API接口开发

  • Openresty性能分析

Kong 动态负载均衡与服务发现

  • nginx,openresty, Kong之间的“苟且”

  • 动态 负载均衡的原理

  • 服务发现实现的原理

  • Serverless

  • 监控,故障检测与恢复

  • 二代理层缓存与响应服务

  • 系统日志

(三)高性能计算CUDA

gpu并行计算cuda的开发流程

  • cpu+gpu的异构计算

  • 计算机体系结构中的gpu

  • cuda的环境搭建nvcc 与srun的使用

  • cuda的向量加法与矩阵乘法

  • MPI与CUDA

音视频编解码中的并行计算

  • cuda的h264编解码

  • cuda的mpeg编解码

  • ffmpeg的cuda支持

(四)并行计算与异步网络引擎workflow

workflow的应用场景

  • workflow的编程范式与设计理念

  • mysq/redis/kafka/dns的请求实现

  • parallel处理与任务组装

workf low的组件实现

  • 线程池实现

  • DAG图任务

  • msgqueue的实现

  • 纯c的jsonparser实现

(五)物联网通信协议mqtt的实现框架mosquitto

mqtt的高效使用场景

  • mqtt的 发布订阅模式

  • 解决低带宽网络环境的数据传输

  • 3种Qos等级

  • 0Auth与JWT的安全认证

mctt的broker

  • mqtt的遗嘱机制

  • 发布订阅的过滤器.

  • mosqujitto的docker部暑

  • matt的日志实时监控

(六)ZeroMQ

消息队列与ZeroMQ的应用

  • REQ/REP模型原理分析

  • PUB/SUB模型原理分析

  • PUSH/PULL模型原理分析

  • Router/Dealer模型原理分析

ZeroMQ源码分析 :消息模型的实现

  • 消息模型.

  • 消息传递模式

  • 消息分帧

  • 中间层代理

  • 消息丢失处理

ZeroMQ源码分析:网络机制与性能分析

  • 零拷贝技术

  • 消息高水位标记

  • 无锁队列

  • 可靠性设计

6、云原生专栏

(一)Docker

Docker风光下的内核功能

  • 进程namespace

  • UTS namespace

  • IPC namespace

  • 网络namespace

  • 文件系统namesapce

  • cgroup的资源控制

Docker容器管理与镜像操作

  • Docker镜像下载与镜像运行

  • Docker存储管理

  • Docker数据卷

  • Docker与容器安全

Docker网络管理(项目)

  • 5种Docker网络驱动

  • pipework跨主机通信

  • 0vS划分vlan与隧道模式

  • GRE实现跨主机Docker间通信

Docker云与容器编排 (项目)

  • Dockerfile的语法流程

  • 编排神器Fig/Compose

  • FIynn体系 架构

  • Docker改变了什么?

(二)Kubernetes

k8s环境搭建

  • k8s集群安全设置

  • k8s集群网络设置

  • k8s核心服务配置

  • kubectI命令工具.

  • yam|文件语法

Pod与Service的用法

  • Pod的管理配置

  • Pod升级与回滚

  • DNS服务之于k8s

  • http 7层策略与TLS安全设置

k8s集群管理的那些事儿

  • Node的管理

  • namespace隔离机制

  • k8s集群日志管理

  • k8s集群监控

k8s二次开发与k8s API

  • RESTful接口

  • API聚合机制

  • API组

  • Go访问k8s API

7、性能分析专栏

(一)性能与测试工具

测试框架gtest以及内存泄漏检测

  • goog letest与goog lemock文件

  • 函数检测以及类测试

  • test fixture测试夹具

  • 类型参数化

  • 事件测试

  • 内存泄漏

  • 设置期望,期待参数,调用次数,满足期望

性能工具与性能分析

  • MySQL性能测试工具mysqlslap

  • Redis性能测试工具redis-benchmark

  • http性能测试工具wrk

  • Tcp性能测试工具TCPBenchmarks

  • 磁盘,内存,网络性能分析

火焰图的生成原理与构建方式

  • 火焰图工具讲解

  • 火焰图使用场景与原理

  • nginx动态火焰图

  • MySQL火焰图

  • Redis火焰图

(二)观测技术bpf与ebpf

bpftrace的实现原理

  • 跟踪,嗅探,采样,可观测的理解

  • 动态hook : kprobe/uprobe

  • 静态hook : tracepoint和USDT

  • cpu的观测taskset的使用

bpf对tcp请求的监控(项目)

  • bpf对网络流量的统计

  • 网络观测tcp _connect, tcp_accept,tcp _close

  • tcp_v4_ _connect与tp_v6 connect的探测点

  • struct sock的五元获取

bpf实现对goroutine的探测(项目)

  • go webserver的实现

  • uprobe应用层挂载点

  • bpf的ringbuffer原理

bpf探测java的垃圾回收(项目)

  • 运行时进程maps /proc/pid/maps

  • libjvm.so信息

  • bpf的usdt的使用

  • java gc的耗时

(三)内核源码机制

进程调度机制哪些事儿

  • qemu调试内存

  • 进程调度cfs与 其他的四个调度类

  • task_ struct结构体

  • RCU机制与内存优化屏障

内核内存管理运行机制

  • 虚拟内存地址布局

  • SMP/NUMA模型

  • 页表与页表缓存原理

  • 伙伴系统实现

  • 块分配(SIab/SIub/Slob) 原理实现

  • brk/kmalloc/vmalloc系统调用流程

文件系统组件

  • 虚拟文件系统vfs

  • Proc文件系统

  • super_ _block与 inode结构体

  • 文件描述符与挂载流程

8、分布式架构

(一)分布式数据库

不一样的kv存储RocksDB的使用场景

  • 前缀搜索

  • 低优先级写入

  • 生存时间的支持

  • Transact i ons

  • 快照存储

  • 日志结构的数据库引擎

TiDB存储引擎的原理

  • TiKV的Key-Value存储引擎

  • 基于RBAC的权限管理

  • 数据加密

TiDB集群方案与Replication原理

  • 集群三个组件 TiDB Server, PD Server, TiKV Server

  • Raft协议讲解

  • OLTP与0LAP

(二)分布式文件系统

内核级支持的分布式存储Ceph

  • ceph的集群部署

  • monitor与OSD

  • ceph 5个核心组件

  • ceph集群监控

  • ceph性能调调优与benchmark

分布式ceph存储集群部署

  • 同步机制

  • 线性扩容

  • 如何实现高可用

  • 负载均衡

(三)分布式协同

注册服务中心Etcd

  • etcd配置服务、服务发现、集群监控、leader选举、 分布式锁

  • etcd体系结构详解(gRPC, WAL,Snapshot、 BoItDB、 Raft)

  • etcd存储原理深入剖析(B树、B+树)

  • etcd读写机制以及事务的acid特性分析

  • raft共识算法详解(leader选举+日志复制)

协同事件用户态文件系统fuse

  • fuse的使用场景

  • 文件系统读写事件

  • fuse的实现原 理

  • /dev/fuse的 作用

快播核心技术揭秘P2P框架的实现

  • 网关NAT表分析

  • NAT类型,完全锥型NAT,对称NAT,端口限制锥形NAT,IP限制锥型NAT

  • 代码逻辑实现NAT类型检测

  • 网络穿透的原理

  • 网络穿透的3种情况

(三)分布式监控Prometheus

Prometheus监控系统

  • 数据模型: Metric、Time Series、Sample和label

  • 指标类型 : Counter、Gauge、Histogram、Summary

  • 采集规则和警告规则

  • PromQL查询语言

Prometheus对MySQL/Redis的监控

  • Mysql Redis Exporter安装配置

  • go实现自定义应用程序指标

  • PromQL计算Mysq|、 Redis性能指标

  • Prometheus数据远程存储

Prometheus数据采集

  • 6种采集点配置方式

  • 动态重写目标采集点

  • Grafana可视化监控仪表盘

Prometheus构建企微与邮件的状态告警

  • 邮件和企微的接入

  • Alertmanager配置 与容器化运行

  • 警告信息的分组

9、十四个实战项目

一、分布式kvstore(基础架构开发方向)

1 kv存储的架构设计

  • 存储节点定义

  • tcp server/client

  • hash数据存储

  • list数据存储

  • skiptable数据存储

  • rbtree数据存储

2 网络同步与事务序列化

  • 序列化与反序列化格式

  • 建立事务与释放事务

  • 线程安全的处理

3 KV存储的性能测试

  • 网络测试tps

  • 吞吐量测试

  • go, lua, java多语言支持

  • hash/I ist/skiptable/rbtree测试

二、zrpc的实现(基础架构开发方向)

1 rpc使用场景与架构设计

  • 分布式核心调度业务

  • 网络与业务分离

  • 网络选型reactor, 协程,io_ uring

2 rpc的协议与序列化

  • json定义函数

  • 数据序列化

  • rpc处理流程

  • rpc的内存池的特性

3 rpc代码自动生成器的实现

  • 调用接口模式统一化

  • float与double调用的差异

  • 第三方语言的支持

  • 性能测试与业务上线

三、 DPDK的数据包测试仪(网络开发)

1 测试仪架构设计与使用场景

  • 使用场景与测试方案

  • 多核与多总程亲嫁性

  • 制试仅使用的命令行参数

2 协议流组织

  • arp款楞组织

  • uda数杨包

  • tcp的syn,rst,fin,ack色

  • icmp协议组织

3 异常情况与测试标准

  • 异常命令行参数的处理

  • 异常网络数搭包的处理

  • cpu与内存不足的异常处理

四、 openresty的zv_waf的实现(网关防火墙开发)

1 NAF 英档架构与 IP/URL 御

  • OpenResty 与WAF架构设计

  • IP黑台名单实统

  • URL 蒜础过滤

  • 日志记录与监控

2 MAF请求头与蒜格参款防御

  • User-Agont 智能识别

  • Referor 可信来源验证

  • Goakio惹础过滤

  • HTTP 方法限制

3 MAF OO攻击防护与烤求频率控制

  • CO址击原理与防御策略

  • 人机验证联动机制

  • IP幼态封禁与放行

  • CO防护

4 MAF 深度参数过滤与SQL注入XSS防御

  • Qunry参款注滤

  • PO5T款格过滤

  • 5QL注入注滤

  • X55 攻击防御

五、qemu的virtio/vhost虚拟化实现(虚拟化开发)

1 virtio与whost的工作康理

  • vhost与qonu通信协议

  • vhast通信协议解析got features

  • vhost/virtio通信与recvmsg的作用

2 virtio设备维型实现

  • virtio的setnsn与vring的读王

  • gpa,gva,hva.hpa之间的关系

  • ifreq的tap/tunti定

3 vhost的性能优化与多队刊两卡

  • vring的物理内存与虚称内存映射

  • 多队列网卡实现

  • vhost用户空间后端开发

  • vhost/virtio的总结

六、SPDK助力MySQL数据落盘,让性能腾飞 (存储方向)

1 SPDK文件系统设计与实现

  • NVMe与PCle的原理

  • NVMe Controller 与bdev之间的rpc

  • blobstore与blob的关系

2 文件系统的posix api实现

  • 4层结构设计vfs

  • spdk的异步改造posix同步api

  • open/wr ite/read/c lose的实现

3 文件系统的性能测试与承接mysq|业务

  • LD_ PRELOAD更 好mysql系统调用实现

  • iodepth讲解

  • 随机读,随机写,顺序读,顺序写

七、魔兽世界后端TrinityCore(游戏方向)

1 TrinityCore开发调试环境安装

  • linux开发调试环境安装

  • windows开发调试环境安装

  • SRP-6登录协议介绍

  • 基于openresty实现web注册服务

2 TrinityCore 中高性能基础组件应用

  • to高性能定时器方案设计

  • to线程模型以及锁、无锁队列应用

  • 数据库连接池设计

  • 日志库的设计

3 TrinityCore 高性能网络模块设计

  • boost. asio跨平台网络库

  • boost. asio核心命名空间以及异步io接口

  • boost. asio在to中的封装

  • 网络库应用实践

4 TrinityCore 游戏技能模块设计

  • 技能模块设计

  • 技术配置以及数据库表设计

  • 技能模块组成部分

  • 技能生成、处理以及生命周期管理

  • 暴风雪、背利等技能实现详解

5 游戏AI模块设计

  • Al模块实现层次

  • Al模块三种细分方向以及选择

  • 固定Al设计实现以及幼狼AI案例讲解

  • 脚本Al设计实现以及BossAl案例讲解

6 游戏副本模块设计

  • 副本模块:管理、匹配、积分结算逻辑实现

  • 副本模块实现的抽象,层次

  • 战歌峡谷副本实现

  • 阿拉希盆地副本实现

八、网络数据包过滤firewall(网络安全方向)

1 firewall内核空间netfilter架构设计

  • 内核空间设计与实现分析

  • 设计数据包传递参数值

  • 封装端口及IP规则类型

  • 设计检测规则/IP/协议函数

2 firewall内核空间架构实现

  • 检测规则/IP/协议函数实现

  • 检查权限及规则函数实现

  • 数据包出入站过滤器实现

  • 读写规则/检查规则匹配实现

  • 删除规则/模块加载和知裁

3 firewall用户空间架构设计

  • 用户空间设计与实现分析

  • 设计数据包传递参与宏

  • 封装端口及|P规则类型

4 firewall 应用程序调试与上线

  • Hook入口函数设计与实现

  • IP/掩码/端口函教实现

  • 协议类型/解析/删除规则

  • 用户层访问及bug处理

  • 用户程序测试及调试技巧

九、BPF网络数据包探测器(网关开发方向)

1 监控探测仪的场景与架构设计

  • bpf.c实现tcp数据包探测

  • bpf.c解析tcp与http

  • 内核与应用层的通信数据格式

2 tc数据流记录存储

  • kv存储构建发送与按收的key-value

  • http请求实现集中式存储

  • 数据流记录表关系

3 测试上线与前端显示

  • 内核与应用程序的通信测试

  • kv的存储测试

  • 数据流记录表的qps测试

  • 前端显示与上线

十、ROS+gazebo+TurtleBot3项目实践(自动驾驶与机器人方向)

1 ROS 基础认知与框架格定

  • 在 Ubuntu 系统上安装 ROS 的详细步骤

  • 搭建 ROS 开发环境,配置工作空间

  • ROS 的基本命令行工具

2 TurtleBot3 初步揉控

  • TurtleBot3 的硬件连接与网络设置

  • 启动 TurtleBot3及相关节点的方法

  • 使用键盘控制 TurtleBot3运动的指令

  • 在RViz 中显示iurtlsBot3 模型及运动状态

3 话船近仿深入

  • 话题通信的底层原理与数据流向

  • 自定义控制消息类型及多字段合义

  • 实现从 PC 端到 TurtloBot3 的话题通信与运动相令传输

  • 运用 rostopic 工具进行指令消息监测与分析

4 服务与参数管理

  • 服务通信的架构设计与应用场景

  • 编写用于控制 TurtleBot3 运动的服务端和客户端代码

  • 参数服务器在设置 TurtloBot3 运动参数中的作用

  • 利用 rosservics工具调用服务实现运动控制

5 导航范础与运动指令

  • 导航功能包中与运动控制的组件

  • 配置导航功能包以接受外部运动指令

  • 基于导航功能包发送精确的运动指令(加直线、转弯)

  • 实现 TurtloBot3 按预设路径运动的指令编写

6 新就运动控制与实践

  • 基于传感器反馈调整运动指令的策咯

  • 实现 TurtleBot3 在复杂环境下(如避障、循迹》的运动指令逻辑

  • 多 TurtleBot3 协同运动的指令规划与通信实现

  • 设计并实现一个基于指令控制的 TurtleBot3 应用场景

十一、图床共享云储存(云原生基础设施开发方向)

1 fastdfs架构分析和配置

  • fastdfs架构分析

  • 快递配查fastdfs

  • 上传文件逻辑分析

  • 下载文件逻辑分析;

2 文件传输和接口设计

  • 数据库设计

  • 图床接口设计

  • reactor网络模型构建

  • 注册/登录/我的文件功能实现

3 分布式fastdfs存储集群部署和HTTP上传

  • storage存储原理分析.

  • 上传下载原理

  • 实现文件上传功能

  • 相同文件内容只保存一份

4 图片分享和短链服务实现

  • 图片分享功能实现

  • 图片分享数据库设计

  • 长链转短链机制

  • Redis缓存优化

5 分布式FastDFS存储集群部署

  • FastDFS集群部署

  • FastDFS同步原理

  • binlog机制

  • 水平扩容

  • 图床功能查漏补缺

6 产品上云公网发布/测试用例

  • 使用云服务器的各种坑分析

  • postman模拟请求

  • wrk测试接口吞吐量

  • jmeter压力测试

十二、 分布式推送系统项目实战(互联网产品项目)

1 项目框架分析和部署

  • 分布式推送系统架构

  • 话题聊天室落地

  • 后端服务部署

  • Web部署

2 注册/登录接口设计与实现

  • HTTP RESTful API原理

  • MySQL用户表设计

  • 注册密码加密

  • redis缓存token

  • 客户端缓存token

3 固定话题聊天实现

  • websocket连接用户校验

  • 话题/用户映射表结构设计

  • 聊天发布到服务器

  • redis缓存房间在线人员

  • 服务器广播新消息

4 聊天记录拉取设计与实现

  • MySQL消息表设计

  • 聊天消息存储

  • 分页拉取聊天消息

  • 登录自动拉取最新消息

  • 黑名单实现

5 自定又话题聊天实现

  • MySQL话题表设计

  • 管理员创建聊天话题

  • HTTP拉取所有话题

  • 用户自动加入新话题

  • 用户退出话题

6单机->分布式架构改进

  • kafka队列削峰

  • erpc远程调用

  • etcd注册和发现服务

  • job模块

  • nginx负载均衡

7 产品上云发布和性能测试

  • 使用云服务器要点

  • 测试接口性能

  • 数据库索引优化

  • 面试要点总结

十三、 k8s二开内网穿透Tunnel(运维部署开发)

1 系统设计以及frp开源项目

  • 项目背景与需求分析

  • 系统设计与数据库设计

  • frp TCPMUX代理与httpconnect复用器

  • frp ssh、http、https 内网穿透

  • frp AuthServerConfig token鉴权

2 应用管理与应用配置

  • ssh、http、https等类型的应用维护

  • 应用程序端口分配以及配置生成

  • 导出应用配至为yaml格式的配置文件

3 go客户端实现Kubernetes集群应用部署与更新

  • go客户端连接Kubernetes api server

  • go客户端创建配置资源ConfigMap

  • go客户端创建部署资源Deployment

  • go客户端创建服务资源Service

4 vite/vue/elementUI实现前端页面

  • Vue组件化开发与ElementUI

  • Typescript的interface的应用

  • axios实例与拦截器

  • get与post请求好装

  • 配置文件与api调用

5 自动化域名解析与Kubernetes集群部署tunnel服务

  • 自动化域名解析与域名备注

  • 服务的部署与客户端配置的返回

  • Tunnel服务的容器化部署与更新

  • Tunnel客户端配置部署Tunnel客户端程序

  • certbot 生成通配符证书用于Tunnel应用

十四、零声教学AI助手一代(AI部署落地项目)

1 Al助手架构设计与需求分析

  • chatgpt的构想与需求分析

  • 基于开源项目初步构建项目

  • gin框架实现代理服务

2 接口功能设计

  • grpc与protobuf的使用流程

  • token计数器与tokenizer的服务封装

  • 敏感词识别服务

3 向量数据库与连接池设计

  • redis实现上下文管理

  • 问题记录保存

  • web端协议解析

  • OneBot协议

4 服务部署上线

  • docker stack 服务部署

  • wrk接口吞吐量测试

  • 线上节点监控

十五、 Linux嵌入式多路监控系统项目实战(基于RV1126)

1 Linux嵌入式多路监控系统项目架构分析和部署

  • 嵌入式多路监控架构分析

  • rv1126部署监控程序

  • 部署C++后端服务器

  • 部署web远程查看实时齿面

2 快速掌握Linux驱动开发

  • Linux嵌入式系统架构

  • Linux字符驱动设备

  • Linux块设备驱动

  • 虚拟内存和物理内存映射

  • i2c驱动实战

3 Linux并发和设备树

  • 中断/自旋锁/互斥量

  • 阻塞/非阻感

  • 异步通知和异步I/O

  • 设备树的特点和组成

  • 设备树语法和节点解析

4 alsa驱动源码分析和应用实践

  • alsa框架分析

  • alsa audio接口

  • alsa 控制接口

  • alsa采果pcm实战

  • aac音频编码

5 v4l2驱动源码分析和应用实践

  • v4l2架构分析

  • v4l2_device

  • video_device

  • v4l2采集yuv实战

  • yuv h264硬件编码

6 RTMP实时推流

  • ffmepg7.1载剪和交叉编译

  • 采集/编码/推流时间戳转换

  • 推流队列设计

  • 推流音视频同步机制

  • 处理服务器实时任务

全部都是已上线项目(开箱即可)

linux c/c++开发试听教程https://xxetb.xet.tech/s/2L80ej

以上就是零声教育的linux c/c++全栈开发课程的全部内容,需要系统学习课程请添加贝贝老师咨询详情:baby602878196(备注123)

适宜工程师人群

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

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

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

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

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

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

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

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

学完目标岗位如下:

  • C++后端开发工程师

  • 安全开发工程师

  • 高性能服务器开发

  • C++专家/架构师

  • 化交易工程师

  • CDN研发工程师

  • 自动驾驶开发

  • 游戏服务器开发

  • 云原生底层基础架构

  • dpck网络开发

  • Linux内核虚拟化开发

  • 推荐算法工程师

  • 存储研发工程师

  • 流媒体开发工程师

部分学员offer案例查看:https://www.yuque.com/lingshengxuey

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐