master分支太乱了,暂时不想整理,所以重新开一个分支来放笔记
-
内存的分配和释放(malloc/free,new/delete operator,new/delete expression)
-
volatile关键字
-
线程安全和内存分配,异常处理
-
继承,虚拟继承,抽象类;不同继承下构造函数的调用顺序,析构函数的调用顺序
-
什么是异常安全?解决什么问题?如何解决?
-
如何处理构造函数和析构函数里可能引发的异常?
-
异常的实现方式
-
默认,复制,拷贝构造函数的原理与使用
-
完美转发的实现方式
-
引用和指针的区别(汇编等角度)
-
extern关键字对于编译流程的影响
-
static关键字对于编译流程,对象构造析构顺序的影响
-
为什么说allocator是无用的设计(参考陈硕的博客)
-
TCP的so_reuseport和so_reuseaddr
-
TCP的流量控制(传输速率在不同网络状态下的变化)
-
什么是路由汇聚?
-
Redis网络连接处理模式
-
Mysql索引的使用和实现原理
-
事务提交的注意事项和实现细节
-
SQL注入原理
-
读写分离的原理
-
innoDB如何管理重做日志
-
NoSQL思想
- Restful风格api的设计
- 红黑树,B树的大致工作原理和特性
-
ELF文件格式之段分布
-
VFS的四层抽象是什么?为什么要这样抽象?每层抽象解决什么问题?
-
内存映射的原理及应用
-
页高速缓存和缓冲区高速缓存的区别
-
UDP socket在收包发包时的具体细节(为什么可以用一个socket向很多个服务器发包再使用select收包)
-
tcp的关键实现函数
-
udp的关键实现函数
- 线程的实现方式(从stuct_task的角度去分析group,thread,process)程通信子系统
- 几种常见IPC方法的使用和原理
-
如何编译内核
-
如何理解struct percpu_struct结构