C++程序员技能树
2021-09-19 10:28:31 6 举报
AI智能生成
C++程序技能树,经常会更新。笔者是一名高级C++工程师。
作者其他创作
大纲/内容
变量和基础类型
const/define/mutable/vilatile/const_cast
实现原理
new和malloc区别
有析构函数情况
无析构函数情况
delete时如何知道释放多少?
new和new[]/delete和delete[]
static
explicit
关键字
指针和引用的区别?
字符串、向量和数组
表达式
语句
函数
构造函数和析构函数能否抛出异常?
类
IO库
C++标准库
继承
虚函数
面向对象
public/protect/private三种继承*三种成员=9种场景
模板/重载
编译器
运行期
多态
封装
三大特性
基础
C++11 智能指针使用以及实现原理总结
智能指针
C++ Lambda表达式使用总结
Lambda表达式
移动构造、移动赋值
std::move
universal references
std::forward
右值引用、移动语义、万能转换(完美转发)、通用引用
《Effective Modern C++》
std::function/std::bind
std::thread
std::regex
C++11及以上
《Effective C++》
C++语言基础
网络编程
并发
编程进阶
无用的默认构造函数
任何class如果没有定义默认构造函数,就会被合成一个来
默认构造函数会初始化每个成员变量
两个误解
默认构造函数
默认拷贝构造函数
程序转化
初始化列表效率高
构造顺序
构造函数
成员数据的布局
成员数据的访问
单一继承不含虚函数
单一继承含虚函数
多重继承含虚函数
单个虚继承
多重虚继承
考虑继承
静态绑定和动态绑定
数据
静态成员函数
非静态成员函数
内联函数
new
delete
new []
delete[]
内存操作
全局变量和全局静态变量
局部静态变量
局部变量
临时变量
数据类型
执行期
分布图
堆和栈的区别
内存区域
C++对象模型
C++ 使用Boost.asio库实现HTTP服务端,讲解、并附带VS2015工程可直接编译运行
Http服务端
Boost asio入门学习笔记
入门
asio
《Boost程序库完全开发指南》
Boost
一级配置器
二级配置器
内存池
uninitialized_copy
uninitialized_fill
uninitialized_fill_n
内存基本处理工具
空间配置器
迭代器和traits
vector
list
deque
stack
queue
heap
priority_queue
序列容器
set
map
multiset
multimap
线性探测
二次探测
开链
hashtable
hash_set
hash_map
hash_multiset
hash_multimap
关联容器
排序
拷贝
算法
函数对象
配接器
STL
程序库
Linux环境下C++单元测试Gtest 入门
Gtest
单元测试
Visual Studio
Windows下
Linux下C++性能测试工具valgrind的使用
valgrind
Linux下C++ 性能测试工具GPROF()入门教程
GPROF
Linux下
性能测试
windbg
内存越界
内存泄露
gflags
Windows下调试
gdb
Linux下调试
调试
C++编程语言
数组(Array)
栈(Stack)
链表(Linked List)
数组
表示方法
前缀树
Binary heap
完全二叉树
二叉搜索树(Binary)
单旋转
双旋转
AVLTree
平衡二叉树
平衡二叉搜索树
红黑树
二叉树
广度优先遍历
深度优先遍历
遍历算法
B-Tree
树(Tree)
拓扑排序
图(Graph)
散列表(Hash)
堆(Hrap)
数据结构
时间复杂度
空间复杂度
评定
递归法
穷举法
贪心
分治
动态规划
分支界限
回溯法
通用算法
冒泡排序
快速排序
交换排序
简单选择排序
堆排序
选择排序
简单插入排序
希尔排序
插入排序
二路归并
多路归并
归并排序
比较算法
计数排序
桶排序
基数排序
非比较算法
排序算法
数据结构与算法
SQL 基础语句集锦
SQL
B-Tree索引
哈希索引
空间索引
全文索引
索引技术
前缀索引
多列索引
聚簇索引
辅助索引
覆盖索引
索引策略
https://www.cnblogs.com/crazylqy/p/7535687.html
索引失效
索引
读锁(共享锁)
写锁(更新锁)
排它锁
数据库角度
表锁
行锁
库锁
粒度
乐观锁
悲观锁
程序员角度
锁
原子性
一致性
脏读
不可重复读
幻读
常见问题
当前读
快照读
读
隔离性
持久性
ACID
Read Uncommited
Read Commited
Repeatable Read
Serializable
隔离级别
隐藏字段
高低水位
读视图
undo log
实现
可见性
MVCC
事务
主备
共享存储
块复制
主从热备
高可用
完全备份
增量备份
部分备份
备份对象
mysqldump
cp tar
lvm2 快照
xtrabackup
备份方式
备份
redo log
bin log
日志
备份与恢复
Server层
InnoDB
MyISAM
MemoryDB
引擎层
总体架构
MySQL
对象
简单动态字符串(SDS)
int
字符串
双向链表
压缩列表
列表
rehash
hash表
字典
整数集合
集合
跳跃表
有序集合
数据结构和对象
结构
定时删除
定期删除
惰性删除
删除策略
通知
数据库
RDB
AOF
为什么要持久化
持久化
事件
客户端
单机数据库
部分重同步
主从
监控原理
Sentinel
一致性哈希
槽
故障转移
集群
多机数据库
发布订阅
加锁方式
分布式锁
独立功能
缓存击穿
缓存雪崩
缓存穿透
不一致问题
redis
子主题
《宏观经济学》
《微观经济学》
《穷爸爸富爸爸》
《小狗钱钱》
《激荡十年,水大鱼大》
书籍
医疗险
意外险
重疾险
寿险
养老险
保险
经济学
心理学
《自控力》
《高效能人士的七个习惯》
自我管理
卓有成效的管理者
《卓有成效的管理者》
团队管理
管理学
《浪潮之巅》
《人月神话》
行业知识
小提琴
中提琴
大提琴
低音提琴
弦乐器
短笛
长笛
单簧管
双簧管
巴松管
木管
小号
圆号
低音号
长号
铜管
管乐器
木琴
鼓
铁三角
打击乐器
钢琴
电子琴
键盘乐器
乐器
协奏曲(Concerto)
夜曲(Nocturnes))
歌剧(Opera)
谐谑曲(Scherzos)
小夜曲(Serenade)
奏鸣曲(Sonata)
作品形式
古典音乐(Classical)
流派
音乐
病因
症状
药物消炎
针灸
推拿
卧床休息
保守治疗
胶原酶腰椎间盘溶解术
臭氧消融术
AD射频热凝靶点消融术
椎间孔镜术
微创手术
开放手术
治疗
后期保养
腰间盘突出
渐进式
断崖式
尼古丁贴
尼古丁糖
酒石酸伐尼克兰片
药物
《这本书可以让你戒烟》
戒烟军团
app
戒烟
着凉并不会导致感冒
风热风寒是中医的概念,大概对应西医的病毒性感染和细菌性感染
一些知识
1、病程5-7天,不发热
1、没有炎症不需要复用抗菌药物。抗生素无法治疗病毒性感冒。2、基本不需要用药,用药也是缓解症状而不是根治,如阿司匹林和乙酰氨基酚可治疗头痛或发热3、多喝水多休息4、如继发细菌感染,需要用药,比如青霉素、头孢、大环内酯类、费喹诺酮5、两周没好或病情严重需要去医院
病毒如鼻病毒、冠状病毒
普通感冒
1、病程5-10天,易发热39+,高烧不退2、易引起并发症如中耳炎、肺炎等
1、抗病毒药物如金刚烷胺、奥司他韦、
流感病毒(RNA病毒)
流感
种类
感冒
https://www.zhihu.com/collection/170716166
半月板
医学
刀
厨具
酒
生抽
老抽
味极鲜
蒸鱼豉油
酱油
盐
鸡精&味精
米醋
陈醋
白醋
醋
料酒
啤酒
白酒
豆瓣酱
甜面酱
番茄酱
芝麻酱
耗油
酱
干辣椒
花椒&麻椒
八角
黑胡椒
白胡椒
胡椒
香叶
桂皮
小茴香
孜然
五香粉
香料
菜籽油
花生油
玉米油
葵花籽油
猪油
橄榄油
芝麻油
牛油
分类
压榨法
浸出法
工艺
油
糖
https://zhuanlan.zhihu.com/p/75517760
调料
美食
兴趣爱好
分层
分割
分布式
缓存
异步
冗余
安全
自动化
架构模式
性能
可用性
负载均衡算法
可伸缩
可扩展
安全性
架构要素
kafka
中间件
架构
RJ45
IEEE802.3
中继器
集线器
设备
物理层
以太网协议
交换机
网桥
数据链路层
ABCDE五类地址
ABC三类私有地址
广播地址、组播地址、受限广播地址
子网划分
Internet地址结构
IP
ICMP
ARP
路由器
三层交换机
网络层
流量控制
拥塞控制
快重传快恢复
三次握手和四次挥手
状态转换
粘包和拆包问题
TCP
UDP
传输层
串行连接
并行连接
keep-alive
持久连接
管道化连接
连接管理
代理
《HTTP权威指南》
状态码
常见头部
报文格式
报文
HTTP
《HTTP2基础教程》
《HTTP/2基础教程》协议、特性、详解
HTTP/2
与HTTP对比
连接建立
AES
DES
对称加密
RSA
非对称加密
信息摘要
数字签名
证书
加密方法
秘钥交换
HTTPS
Websocket
DNS
DHCP
应用层
计算机网络
中断
多核单处理器
对称多处理器(SMP)
概述
与线程的关系与区别
进程状态
内存表
I/O表
文件表
程序
栈
进程标识信息
进程状态信息
进程控制信息
进程控制块(PCB)
进程映像
进程表
操作系统的控制结构
进程描述
创建
时钟中断
I/O中断
内存失效
陷阱
系统调用
中断机制
模式切换
状态切换
切换
执行模式
进程控制
管道
FIFO
消息队列
信号量
共享内存
套接字
信号
进程通信
进程
用户级线程
内核级线程
混合式线程
互斥锁
读写锁
递归锁
条件变量
std::future
soket
线程通信
线程切换与进程切换的代价
线程
长程调度
中程调度
短程调度
调度类型
先来先服务(FIFO,非抢占)
轮转(抢占)
最短进程优先(SPN,非抢占)
反馈(抢占)
调度算法
进程调度
互斥
不可抢占
占有且等待
循环等待
发生条件
一次获取所有锁
避免嵌套锁,如果拥有一个锁,就不改再获取锁
以固定顺序获取锁
占有锁时避免调用用户代码,因为用户代码可能会申请锁
死锁避免
死锁
虚拟内存
伙伴系统
分级页表
倒排页表
TLB
分页
分段
段页式
最佳(OPT)
最近最少使用(LRU)
先进先出(FIFO)
时钟(CLOCK)
置换算法
首次适配
最佳适配
最坏适配
空闲分区分配算法
内存
IO缓冲
最短时间优先SSTF
SCAN
C-SCAN
磁盘调度
RAID0
RAID1
RAID5
RAID6
RAID
目录树
Ext2
Ext3、Ext4
XFS
日志型文件系统
文件系统
磁盘
I/O
操作系统
shell脚本编写入门
Shell脚本
Linux基本常用命令
常用命令
端口
time_wait
字节序
常识
bind
connect
write
read
close
shutdown
listen
accept
服务端
TCP套接字
sendto
recvfrom
UDP套接字
SIGTERM信号
SIGCHLD信号
SIGKILL
SIGPIPE
SIGIO
POSIX信号处理
fork
多进程
阻塞式I/O模型
非阻塞I/O模型
select
poll
LT
ET
epoll
I/O复用模型
信号驱动模型
异步IO模型
I/O模型
体系结构
用户态和内核态
用户空间和内核空间
内核
Linux
简单工厂(Simple Factory)
工厂方法(Factory Method)
抽象工厂(Abstract Factory)
工厂模式
策略模式
适配器模式
单例模式
原型模式(ProtoType)
观察者模式(Observer)
代理模式(Proxy)
模板方法模式(Template Method)
建造者模式(Builder)
外观模式
组合模式
享元模式
桥接模式
装饰模式
备忘录模式
中介者模式
责任链模式
状态模式
设计模式
开闭原则
里氏替换原则
依赖倒置原则
单一职责原则
接口隔离原则
迪米特法则
合成复用原则
设计原则
软件设计
Java
PHP
Python
Go
《HTML5与CSS3基础教程》
《JavaScript高级程序设计》
前端
其他技能
C++程序员技能树
0 条评论
回复 删除
下一页