C++ 知识点清单_Blog导航
三次握手(建立连接)、四次挥手(断开连接)、滑动窗口(流量控制)、拥塞控制(慢启动 / 拥塞避免 / 快重传 / 快恢复)、超时重传、粘包 / 拆包问题(解决方案:固定长度 / 分隔符 / 长度字段)。IPv4/IPv6、IP 地址分类(A/B/C 类)、子网划分(子网掩码)、路由协议(RIP/OSPF/BGP)、ARP(地址解析协议)、ICMP(互联网控制报文协议,ping/tracert)。先
一、C++ 语言核心(基础 + 进阶)
C++ 后端的立身之本,需兼顾语法熟练度与底层原理,尤其要掌握现代 C++ 特性以适配高并发场景。
1. 基础语法与核心特性
基础语法:
- 变量 / 基础类型(int/float/char 等)
- 自定义类型(typedef/using)
- 运算符、流程控制(if/else/for/while/switch)
- 函数(重载 / 默认参数 / 可变参数 /inline)
- 数组 / 指针 / 引用(核心区分指针与引用的底层差异)
- 结构体 / 联合体 / 枚举
const/constexpr/const_caststatic/extern/inline- 命名空间(namespace)
变量名的本质
https://blog.csdn.net/Howrun777/article/details/157581102?spm=1011.2415.3001.5331
函数名与函数指针的底层原理
https://blog.csdn.net/Howrun777/article/details/157581072?sharetype=blogdetail&sharerId=157581072&sharerefer=PC&sharesource=Howrun777&spm=1011.2480.3001.8118C/C++结构体超详细讲解
https://blog.csdn.net/Howrun777/article/details/156461113C++声明_定义_实例化_前向声明
https://blog.csdn.net/Howrun777/article/details/155712221
C++ 运算符重载
https://blog.csdn.net/Howrun777/article/details/157307505
面向对象(OOP):
- 类与对象
- 封装 / 继承 / 多态
- 构造 / 析构函数(默认 / 拷贝 / 移动 / 委托构造)
- 虚函数 / 纯虚函数 / 抽象类 / 接口
- 友元(友元函数 / 友元类)
this指针- 重载 / 重写 / 隐藏的区别
- 继承方式(public/protected/private)
C++ 继承 多态 组合 从运用到底层原理
https://blog.csdn.net/Howrun777/article/details/155987844
异常处理:
try/catch/throw- 异常规范(noexcept)
- 自定义异常类
- 异常安全(RAII 结合异常)
高级语法:
- 模板(函数模板、类模板、模板特化 / 偏特化、模板参数(类型 / 非类型)、SFINAE)
- RTTI(运行时类型识别)
C++泛型--模版--全解析
https://blog.csdn.net/Howrun777/article/details/156030050
2. 现代 C++(C++11 及以后,后端开发核心)
内存管理:
- 智能指针(
unique_ptr/shared_ptr/weak_ptr)- RAII 原则(资源获取即初始化)
- 右值引用(
&&)/ 移动语义 / 完美转发(std::forward)std::move
便捷特性:
auto/decltype/decltype(auto)- 范围 for 循环
nullptr(替代 NULL)- 强类型枚举(
enum class)- lambda 表达式(捕获列表 / 参数 / 返回值)
- 初始化列表(
{})std::initializer_list
容器与算法:
- STL 容器
(vector/list/deque/map/unordered_map/set/unordered_set/queue/stack/priority_queue)- 迭代器
(输入 / 输出 / 前向 / 双向 / 随机访问)- STL 算法
(sort/find/for_each/transform/accumulate等)- 容器底层实现
(如vector动态扩容、unordered_map哈希表冲突解决)
并发编程:
std::thread/std::jthread(C++20)std::mutex/std::recursive_mutex/std::shared_mutex(读写锁)std::condition_variable、std::atomic(原子操作)- 线程池实现
- C++20 协程(
co_await/co_yield/co_return、无栈协程原理)
现代 C++ 特性(后端高频使用):
- C++11 及以上:lambda 表达式、右值引用 / 移动语义、std::move/std::forward、emplace 系列、范围 for、nullptr、enum class、constexpr、std::thread
- C++14/17:std::make_unique、if constexpr、结构化绑定、std::optional/std::variant/std::any、std::string_view、折叠表达式
- C++20:概念(Concepts)、协程(Coroutines,后端异步场景)、模块(Modules)
C++11新特性
https://blog.csdn.net/Howrun777/article/details/156237731C++ 匿名函数 lambda
https://blog.csdn.net/Howrun777/article/details/156699850
函数包装器-CSDN博客
https://blog.csdn.net/Howrun777/article/details/157579812?sharetype=blogdetail&sharerId=157579812&sharerefer=PC&sharesource=Howrun777&spm=1011.2480.3001.8118C++_bind函数-CSDN博客
https://blog.csdn.net/Howrun777/article/details/157580602?spm=1011.2415.3001.5331
可调用对象
https://blog.csdn.net/Howrun777/article/details/157582577?spm=1011.2415.3001.5331
3. 内存管理(后端高频考点)
- 内存分区:栈区 / 堆区 / 静态存储区 / 常量区 / 代码区、内存对齐规则(
alignas/alignof)。- 常见问题:内存泄漏、野指针、悬空指针、双重释放、内存越界,排查工具(Valgrind/AddressSanitizer/LeakSanitizer)。
- 进阶:自定义内存池(解决频繁
new/delete的开销)、内存池实现(固定大小 / 可变大小内存池)、零拷贝技术。C/C++内存管理合集
https://blog.csdn.net/Howrun777/article/details/155817717
4. 编译与链接
- 编译流程:预处理(
#include/#define/ 条件编译)→ 编译(语法分析→语义分析→中间代码生成)→ 汇编(生成目标文件.o/.obj)→ 链接(静态链接 / 动态链接)。- 关键概念:头文件保护(
#pragma once/#ifndef...#define...#endif)、符号表、名字修饰(name mangling)、ABI 兼容、库的制作与使用(静态库.a/.lib、动态库.so/.dll、动态加载dlopen/dlsym)。
二、计算机组成原理(后端必备)
后端开发的底层逻辑,理解后才能吃透网络、并发、性能优化的本质。
- CPU 核心:核心 / 缓存(L1/L2/L3)、流水线、分支预测、超标量执行、CPU Cache Line(缓存失效优化关键)。
- 内存系统:RAM/ROM、虚拟内存、物理地址→虚拟地址映射、内存带宽、TLB(Translation Lookaside Buffer)。
- IO 与总线:磁盘(HDD/SSD)、网卡、PCIe 总线、数据 / 地址 / 控制总线、DMA(直接内存访问)。
- 中断与系统调用:中断机制(硬件中断 / 软中断)、中断处理流程、系统调用与内核态 / 用户态切换的开销。
- 数据表示:二进制 / 十六进制、原码 / 反码 / 补码、浮点数存储(IEEE 754)、大端 / 小端字节序(网络字节序转换)。
- 程序运行:进程地址空间、指令执行周期、ELF 文件格式(Linux 可执行文件)。
Linux_文件超详细合集: 软件->硬件
https://blog.csdn.net/Howrun777/article/details/155675156
页表(Page Table)深度解析:虚拟地址映射的核心字典
https://blog.csdn.net/Howrun777/article/details/156136493
进程虚拟地址空间(Virtual Address Space, VAS)深度解析
https://blog.csdn.net/Howrun777/article/details/156136240
三、数据结构与算法
后端服务的效率基石,需兼顾理论与工程落地,是面试与性能优化的核心。
1. 基础数据结构
- 线性结构:数组(动态数组
vector)、链表(单链表 / 双链表 / 循环链表)、栈(stack)、队列(queue/deque)、哈希表(unordered_map/unordered_set,哈希函数 / 冲突解决:链地址法 / 开放寻址法)。- 非线性结构:树(二叉树 / 二叉搜索树 / AVL 树 / 红黑树 / B + 树 / 字典树)、堆(大顶堆 / 小顶堆,
priority_queue)、图(邻接矩阵 / 邻接表、遍历:DFS/BFS)。- 特殊结构:跳表(Redis 核心)、布隆过滤器(缓存穿透防护)、位图(Bitmap)、前缀树(Trie)。
2. 核心算法
- 排序算法:快速排序、归并排序、堆排序、希尔排序、计数排序、桶排序(需掌握时间 / 空间复杂度、适用场景)。
- 查找算法:二分查找、哈希查找、二叉搜索树查找、B + 树查找(数据库索引核心)。
- 高级算法:递归 / 分治、贪心算法、动态规划(DP)、回溯算法、拓扑排序、最短路径(Dijkstra/Floyd)、最小生成树(Kruskal/Prim)、字符串匹配(KMP/BM)。
- 工程要求:能分析算法的时间 / 空间复杂度(O (n)/O (logn) 等)、独立解决 LeetCode 中等难度算法题(字符串 / 链表 / 动态规划 / 图论类)、结合业务选择合适的数据结构(如用 B + 树做数据库索引、用跳表做 Redis 有序集合)。
四、操作系统核心知识
C++ 后端直接与操作系统交互,是高并发、高可用的核心支撑,重点掌握 Linux 系统原理。
1. 进程与线程
- 核心概念:进程(PCB / 进程状态 / 进程控制)、线程(轻量级进程 / 线程栈 / 线程局部存储 TLS)、协程(用户态线程 / 无栈 / 有栈),三者的区别与联系。
- 进程间通信(IPC):管道(匿名 / 命名)、消息队列、共享内存、信号量(POSIX/System V)、信号(
signal/sigaction)、Socket 通信(网络 IPC)。Linux进程通信---4---信号量System V & POSIX
- 线程生命周期:创建(
pthread_create/std::thread)、就绪 / 运行 / 阻塞 / 终止、线程回收(pthread_join/detach)。
2. 同步与互斥
- 同步机制:互斥锁(
mutex)、自旋锁、读写锁(shared_mutex)、条件变量(condition_variable)、信号量、屏障(barrier)。- 死锁:死锁的四个必要条件(互斥 / 持有并等待 / 不可剥夺 / 循环等待)、死锁检测 / 避免 / 解除(银行家算法)、活锁与饥饿。
3. IO 模型(后端网络核心)
- 阻塞 IO:
read/write阻塞等待数据。- 非阻塞 IO:
fcntl设置 O_NONBLOCK,轮询检查数据。- IO 多路复用:
select/poll/epoll(Linux 核心,水平触发 / 边缘触发)、kqueue(FreeBSD/macOS),核心是 “一个线程监听多个 IO 事件”。- 信号驱动 IO:
sigaction注册信号,IO 就绪时触发信号。- 异步 IO(AIO):
aio_read/aio_write,内核完成 IO 后通知进程,无需轮询。
4. 内存管理
- 虚拟内存:虚拟地址→物理地址映射、分页 / 分段机制、缺页中断。
- 内存置换算法:LRU(最近最少使用)、FIFO(先进先出)、LFU(最不经常使用)。
- 内存分配:
malloc/free(C)、new/delete(C++)、mmap(文件映射)、brk/sbrk(堆扩展)。
5. 文件操作
文件系统:文件描述符(fd)、文件 IO(
open/read/write/close)、目录操作、文件权限(rwx)、inode 与 dentry、ext4/xfs 文件系统。
6. 其他核心
调度算法:先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)、优先级调度、多级反馈队列。
系统调用:Linux 系统调用(
syscall)、用户态与内核态切换的开销、常用系统调用(epoll_ctl/accept/connect/fork/exec)。
五、计算机网络
后端服务的通信基石,需掌握从底层协议到应用层的全链路,重点是 TCP/IP 协议族。
1. 网络模型
OSI 七层模型:物理层→数据链路层→网络层→传输层→会话层→表示层→应用层。
TCP/IP 四层模型(实际开发核心):网络接口层→网络层(IP)→传输层(TCP/UDP)→应用层(HTTP/HTTPS/DNS 等)。
2. 网络层
IP 协议:IPv4/IPv6、IP 地址分类(A/B/C 类)、子网划分(子网掩码)、路由协议(RIP/OSPF/BGP)、ARP(地址解析协议)、ICMP(互联网控制报文协议,ping/tracert)。
网络安全:TCP 三次握手攻击、SYN 洪水、HTTPS(SSL/TLS)、对称 / 非对称加密、数字签名、CA 证书、防火墙、NAT(网络地址转换), VPN
3. 传输层
TCP 协议:三次握手(建立连接)、四次挥手(断开连接)、滑动窗口(流量控制)、拥塞控制(慢启动 / 拥塞避免 / 快重传 / 快恢复)、超时重传、粘包 / 拆包问题(解决方案:固定长度 / 分隔符 / 长度字段)。
UDP 协议:无连接、不可靠、高效,适用场景(视频通话 / 游戏 / 实时数据)。
核心区别:TCP(可靠 / 面向连接 / 字节流) vs UDP(不可靠 / 无连接 / 数据报)。
4. 应用层
HTTP/HTTPS:HTTP1.1(长连接 / 管线化)、HTTP2(多路复用 / 头部压缩)、HTTP3(QUIC 协议,基于 UDP)、HTTPS(SSL/TLS 加密,握手流程 / 证书验证)。
其他协议:DNS(域名解析,递归 / 迭代查询)、WebSocket(全双工通信,握手升级)、RESTful API(设计规范)、Cookie/Session(会话管理)、JWT(无状态认证)、FTP/SMTP/POP3。
5. 网络编程
Socket 编程:TCP 服务端(
socket→bind→listen→accept→read/write→close)、TCP 客户端(socket→connect→read/write→close)、UDP 通信(socket→bind→recvfrom/sendto)。网络字节序:大端(网络序)/ 小端(主机序),转换函数(
htons/ntohs/htonl/ntohl)。网络问题排查:
ping/telnet/nc/wireshark/tcpdump(抓包分析)、netstat/ss(连接监控)。
网络编程进阶:
自定义协议设计(基于 TCP/UDP)、协议序列化(Protobuf/Thrift/FlatBuffers)
粘包 / 拆包解决(固定长度、分隔符、头部 + 长度)
高可用:心跳检测、重连机制、断线重连
服务端开发模式:
客户端 / 服务器(C/S)、B/S、微服务、分布式架构
服务端框架:muduo、brpc、FastCGI、ACE
本地 IPC 进阶:
UNIX 域套接字(比 TCP 快,本地进程通信)、DBus
六、C++ 后端开发核心技术
区别于 C++ 客户端 / 嵌入式的核心能力,聚焦 “网络服务 + 并发 + 分布式”,是后端业务落地的关键。
1. 网络编程框架
原生 Socket:手写 TCP/UDP 服务端(处理多连接 / 并发)。
主流框架:
- Boost.Asio:跨平台异步网络库,支持 TCP/UDP/SSL,C++ 后端常用。
- muduo:陈硕开发的 C++11 网络库,基于 Reactor 模式,高性能。
- libevent/libev:C 语言网络库,C++ 可封装使用,轻量高效。
- ACE:重量级跨平台网络框架,适合复杂企业级应用。
2. 并发编程实战
线程池:实现原理(任务队列 + 工作线程)、动态扩容 / 缩容、任务优先级、拒绝策略。
无锁编程:原子操作(
std::atomic)、CAS(比较并交换)、无锁队列 / 栈、内存序(memory_order)。协程框架:libco(微信)、boost.coroutine、C++20 标准协程,解决 “线程开销大” 的问题。
3. RPC 框架(分布式服务核心)
序列化协议:Protobuf(Google,高效跨语言)、Thrift(Facebook)、JSON(可读性强,效率低)、FlatBuffers(零拷贝)。
主流 RPC 框架:gRPC(基于 Protobuf+HTTP2,跨语言)、Thrift(跨语言,支持多协议)、brpc(百度,高性能)、Tars(腾讯,企业级)。
RPC 核心:服务注册 / 发现、负载均衡、超时重试、熔断降级、序列化 / 反序列化、流量控制。
4. 高并发服务设计
连接管理:长连接 / 短连接、连接池、心跳机制、断线重连。
请求处理:异步处理、任务拆分、批量处理、异步回调。
高可用:限流(令牌桶 / 漏桶算法)、熔断(Hystrix/Sentinel)、降级、容灾备份、多活架构。
5. 中间件集成
消息队列:Kafka(高吞吐)、RabbitMQ(可靠)、RocketMQ(阿里,金融级),核心:发布 / 订阅模式、消息持久化、幂等性、死信队列、消息回溯。
缓存中间件:Redis(内存缓存)、Memcached(纯内存),核心:缓存穿透 / 击穿 / 雪崩防护、缓存与数据库一致性。
七、数据库与存储
后端服务的数据核心,需兼顾关系型与非关系型数据库的使用与优化,重点掌握 MySQL+Redis 组合。
1. 关系型数据库(RDBMS)
主流数据库:MySQL(开源,互联网主流)、PostgreSQL(功能强大,支持 JSON)、Oracle(企业级,付费)。
核心知识:
- 索引:B + 树索引(底层原理)、哈希索引、全文索引、索引优化(避免索引失效)、联合索引、覆盖索引。
- 事务:ACID 特性(原子性 / 一致性 / 隔离性 / 持久性)、隔离级别(读未提交 / 读已提交 / 可重复读 / 串行化)、MVCC(多版本并发控制,MySQL InnoDB 核心)。
- 锁:行锁 / 表锁 / 间隙锁 / 临键锁(InnoDB)、死锁检测与解决、锁等待分析。
- SQL 优化:慢查询分析(
explain/explain analyze)、避免全表扫描、优化 JOIN / 子查询、分库分表(垂直 / 水平拆分)、读写分离、主从复制。C++ 操作:原生 API(MySQL C API)、ORM 框架(sqlpp11、ODB)、连接池实现。
2. 非关系型数据库(NoSQL)
Redis(核心):
- 数据结构:string/hash/list/set/zset/bitmap/hyperloglog/geo/stream。
- 持久化:RDB(快照)、AOF(日志)、混合持久化。
- 集群:主从复制、哨兵模式、Redis Cluster(分片 + 高可用)。
- 缓存策略:缓存穿透(布隆过滤器)、缓存击穿(互斥锁 / 永不过期)、缓存雪崩(过期时间随机 / 集群)。
其他 NoSQL:MongoDB(文档型,存储非结构化数据)、Elasticsearch(搜索引擎,全文检索)、HBase(列式存储,大数据场景)、TiDB(分布式 NewSQL)。
3. 分布式存储与数据一致性
- 分布式事务:2PC(两阶段提交)、3PC(三阶段提交)、TCC(Try-Confirm-Cancel)、SAGA 模式、最终一致性(BASE 理论)。
- 数据同步:主从同步、CDC(变更数据捕获,Canal/Debezium)、数据备份与恢复(全量 / 增量)。
- 分布式存储:Ceph、HDFS、MinIO(对象存储)。
八、Linux 系统与工具链
C++ 后端 99% 运行在 Linux 上,需熟练掌握 Linux 操作与工具,是开发环境的核心。
- 核心命令:文件操作(ls/cp/mv/rm/tar/grep/find)、进程管理(ps/top/htop/kill/pkill)、网络命令(ifconfig/ip/ping/telnet/nc/curl)、权限命令(chmod/chown/chgrp)、磁盘命令(df/du/mkfs/fdisk)、系统命令(uname/uptime/free)。
- Shell 脚本:Bash 语法(变量 / 循环 / 条件 / 函数 / 正则)、脚本编写(自动化部署 / 监控 / 日志分析)、crontab(定时任务)。
- 交叉编译:针对嵌入式 / 跨平台的编译(arm-linux-gcc、aarch64-linux-gnu)、工具链配置、根文件系统制作。
- 系统调优:内核参数优化(
/etc/sysctl.conf)、文件句柄限制(ulimit)、TCP 参数优化、CPU 调度优化、磁盘 IO 调度优化。Linux 环境变量:定义、核心作用与实操指南
https://blog.csdn.net/Howrun777/article/details/155248768
九、工程化与开发工具
企业级开发的效率基石,决定能否融入团队、维护大型项目,是初级到中级的关键跨越。
1. 构建工具
- Makefile:基础语法、依赖管理、编译规则、变量 / 函数、伪目标。
- CMake(主流):
CMakeLists.txt编写、跨平台编译、静态 / 动态库生成、工程分层(src/include/lib/bin)、第三方库集成(find_package)、交叉编译配置。- Bazel:Google 开源构建工具,适合大型项目(如 TensorFlow、百度工程)。
Linux Makefile 从入门到精通
https://blog.csdn.net/Howrun777/article/details/156200687
Makefile进阶案例_高手专用
https://blog.csdn.net/Howrun777/article/details/157367461
2. 调试与测试
- 调试工具:GDB(断点 / 栈跟踪 / 内存查看 /core dump 分析)、LLDB(macOS/Linux)、perf(性能分析)、gprof(函数耗时分析)、AddressSanitizer(ASan,实时检测内存问题)。
- 测试框架:单元测试(GTest/GMock)、集成测试、压力测试(JMeter/WRK)、静态代码分析(Clang-Tidy/Cppcheck/coverity)、代码覆盖率(gcov/lcov)。
3. 版本控制与 CI/CD
- Git:分支管理(master/main/develop/feature/hotfix)、merge/rebase、冲突解决、提交规范(Conventional Commits)、GitLab/GitHub/Gitee 使用、Git LFS(大文件存储)。
- CI/CD:Jenkins、GitLab CI、GitHub Actions,自动化编译→测试→部署→发布、镜像构建(Docker)。
Git从入门到精通
https://blog.csdn.net/Howrun777/article/details/157023938?spm=1001.2014.3001.5501
4. 代码规范与文档
- 代码规范:Google C++ Style、LLVM Style、命名规范(驼峰 / 下划线)、注释规范(Doxygen 格式)、代码格式化(clang-format)。
- 文档工具:Doxygen(代码文档生成)、Swagger(接口文档)、Markdown(项目文档)、Confluence(团队文档协作)。
十、性能优化与问题排查
区分初级与资深C++ 后端的核心,解决 “高并发、高可用、高性能” 问题,是后端进阶的必备能力。
1. 性能优化方向
- CPU 优化:减少上下文切换、避免 CPU 缓存失效(Cache Line 对齐)、分支预测优化、内联函数、减少虚函数调用、避免频繁系统调用。
- 内存优化:减少内存拷贝(
std::move/ 零拷贝)、内存池、内存对齐、避免内存碎片、大内存分配优化。- IO 优化:异步 IO、批量读写、磁盘 IO 优化(顺序读写 / 预读)、减少文件打开关闭、mmap 文件映射。
- 网络优化:TCP 连接复用(keepalive)、调整 TCP 缓冲区大小、减少握手次数(HTTP2/QUIC)、数据压缩(gzip/snappy)、UDP 替代 TCP(实时场景)。
2. 问题排查工具
- 内存问题:Valgrind(memcheck 检测内存泄漏 / 越界)、AddressSanitizer(ASan)、LeakSanitizer(LSan)、pmap(进程内存映射)。
- 性能问题:perf(CPU 性能分析)、火焰图(perf+FlameGraph)、pprof(Google 性能分析)、pidstat(进程 CPU / 内存 / IO 监控)、top/htop(系统监控)。
- 系统问题:strace(跟踪系统调用)、ltrace(跟踪库函数调用)、iostat(磁盘 IO 监控)、vmstat(内存 / CPU 监控)、netstat/ss(网络连接监控)、tcpdump(网络抓包)。
十一、架构设计
从 “写代码” 到 “做系统” 的关键,负责服务的整体设计与演进,是资深开发者的核心能力。
1. 设计模式(C++ 后端常用)
- 创建型:单例模式(懒汉 / 饿汉 / 线程安全)、工厂模式(简单工厂 / 工厂方法 / 抽象工厂)、建造者模式、原型模式。
- 结构型:适配器模式、代理模式(静态 / 动态)、装饰器模式、外观模式、组合模式、Pimpl 模式(接口与实现分离)。
- 行为型:观察者模式、策略模式、模板方法模式、责任链模式、状态模式、命令模式。
- C++ 特有:RAII 模式、智能指针模式、无锁设计模式。
2. 架构模式
- 分层架构:接入层(网关 / 负载均衡)→ 业务层(核心逻辑)→ 数据层(数据库 / 缓存)→ 基础设施层(日志 / 监控 / 配置)。
- 微服务架构:服务拆分(领域驱动设计 DDD)、服务注册 / 发现(Consul/Etcd/Nacos)、服务网关(Kong/APISIX)、配置中心(Nacos/Apollo)、链路追踪(SkyWalking/Jaeger)。
- 分布式架构:CAP 理论(一致性 / 可用性 / 分区容错性)、BASE 理论(基本可用 / 软状态 / 最终一致性)、分布式锁(Redis/ZooKeeper)、分布式 ID 生成(雪花算法 / UUID)。
3. 高可用设计
- 负载均衡:硬件(F5)、软件(Nginx/LVS/HAProxy)、算法(轮询 / 加权轮询 / IP 哈希 / 最小连接数 / 一致性哈希)。
- 容灾备份:多机房部署、异地多活、数据备份(全量 / 增量 / 定时备份)、故障转移(Failover)。
- 限流熔断:令牌桶算法、漏桶算法、熔断降级(Sentinel/Hystrix)、服务降级(返回默认值 / 缓存数据)、流量削峰。
十二、云原生与运维
适配云时代的开发与部署,提升服务的弹性与可维护性,是现代后端必备能力。
- 容器化:Docker(镜像制作 / 容器运行 / 仓库 Docker Hub)、Docker Compose(多容器编排)、容器网络 / 存储。
- 容器编排:Kubernetes(K8s,Pod/Service/Deployment/ConfigMap/Secret/StatefulSet)、Helm(K8s 包管理)、Operator(自定义资源管理)。
- 监控告警:Prometheus( metrics 采集)、Grafana(可视化)、AlertManager(告警)、ELK/PLG(日志收集:Elasticsearch/Logstash/Kibana/Promtail/Loki/Grafana)。
- 服务网格:Istio(流量管理 / 安全 / 可观测性)、Linkerd(轻量级服务网格)。
- 云平台:阿里云 / 腾讯云 / 华为云(云服务器 ECS、对象存储 OSS、云数据库 RDS、消息队列 MQ)。
十三、安全与合规
保障服务与数据的安全底线,避免安全漏洞与合规风险,是企业级开发的必备要求。
- 常见漏洞防护:SQL 注入(参数化查询)、XSS(跨站脚本,输入过滤 / 输出编码)、CSRF(跨站请求伪造,Token 验证)、文件上传漏洞(文件类型 / 大小校验)、命令注入(过滤特殊字符)、越权访问(权限校验)。
- 加密算法:对称加密(AES)、非对称加密(RSA/ECC)、哈希算法(SHA256/MD5,防篡改)、数字签名 / 证书(HTTPS)、加盐哈希(密码存储)。
- 权限控制:RBAC(基于角色的访问控制)、OAuth2.0/OpenID Connect(第三方登录)、数据脱敏(敏感数据加密 / 掩码)、接口鉴权(API 密钥 / JWT)。
- 合规要求:等保 2.0、GDPR(欧盟数据保护)、数据加密存储与传输、日志审计、漏洞扫描(AWVS/Nessus)。
学习路径建议
- 基础阶段:C++ 语言核心(含现代 C++)→ 计算机组成原理 → 数据结构与算法 → Linux 基础命令。
- 核心阶段:操作系统核心知识 → 计算机网络 → C++ 后端核心技术(网络编程 / 并发 / RPC)→ 数据库与存储。
- 工程阶段:工程化工具(CMake/Git/CI/CD)→ 性能优化与问题排查 → 架构设计。
- 进阶阶段:云原生与运维 → 安全与合规 → 分布式系统设计。
更多推荐



所有评论(0)