今年C++找工作真的很难吗?
2025年C++就业市场分析:高价值领域需求激增,技能门槛显著提升 2025年C++岗位呈现结构性分化:传统领域收缩,但游戏引擎、金融高频交易、自动驾驶、AI底层优化等赛道需求逆势增长15%-30%。薪资两极分化明显,初级岗位竞争激烈(应届起薪12.8K),而掌握C++20协程、TensorRT推理优化、ROS实时系统的资深开发者年薪可达60万-200万。 核心高薪方向: 游戏开发:UE5引擎优化
结合 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)
适宜工程师人群
-
从事业务开发多年,对底层原理理解不够深入的在职工程师
-
从事嵌入式方向开发,想转入互联网开发的在职工程师
-
从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师
-
从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师
-
工作中技术没有挑战,工作中接触不到新技术的在职工程师
-
自己研究学习速度较慢,不能系统构建知识体系的开发人员
-
了解很多技术名词,但是深入细问又不理解的工程师
-
计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c++基础)
学完目标岗位如下:
-
C++后端开发工程师
-
安全开发工程师
-
高性能服务器开发
-
C++专家/架构师
-
化交易工程师
-
CDN研发工程师
-
自动驾驶开发
-
游戏服务器开发
-
云原生底层基础架构
-
dpck网络开发
-
Linux内核虚拟化开发
-
推荐算法工程师
-
存储研发工程师
-
流媒体开发工程师
部分学员offer案例查看:https://www.yuque.com/lingshengxuey
更多推荐
所有评论(0)