
├── c++ 后端面试题课程介绍
├── 1. cc++语言相关,常见题型
│ ├── 1.1static关键字的作用
│ …
│ ├── 1.2引用与指针作用以及区别
│ …
│ ├── 1.4malloc free和new delete的区别
│ …
│ └── 1.10c++ 什么是深拷贝,什么是浅拷贝
├── 2. cc++标准库,常见题型【一、二】
│ ├── 2.1vector 底层实现原理
│ …
│ ├── 2.5list 底层实现原理
│ ├── 3.1deque 底层实现原理
│ …
│ ├── 3.5unordered_map 的底层实现原理
│ …
│ └── 3.8 STL 容器线程安全性
├── 3. c++面对对象,常见题型【一、二】
│ ├── 4.1 面对对象的三大特征
│ …
│ ├── 4.3 怎么解决菱形继承
│ …
│ ├── 5.4 智能指针种类以及使用场景
│ …
│ └── 5.7 左值引用与右值引用的区别?右值引用的意义?
├── 4.设计模式,常见题型【一、二】
│ ├── 6.1面对对象中有哪些设计原则
│ …
│ ├── 6.6单例模式多线程?
│ ├── 6.7什么是工厂模式?什么是抽象工厂?应用场景是什么?
│ …
│ ├── 7.4什么是责任链模式?应用场景是什么?
│ …
│ └── 7.7 什么是观察者模式?应用场景是什么?
├── 5. 构与算法,常见题型【一、二、三、四】
│ ├── 08_01-用两个栈实现队列
│ …
│ ├── 08_08-反转链表
│ …
│ ├── 09_06-重建二叉树
│ …
│ ├── 10_06-二叉树的最近公共祖先
│ …
│ └── 11_07-最长递增子序列
├── 6. 操作系统,进程线程,常见题型【一、二】
│ ├── 12_01-进程和线程的区别?
│ …
│ ├── 12_05-进程间通信有哪几种方式
│ …
│ ├── 12_08-CAS是怎样的一种同步机制
│ …
│ ├── 13_02-内存管理有哪几种方式
│ …
│ └── 13_07-磁盘调度算法有哪些
├── 7.数据库MySQL,常见题型【一、二、三】
│ ├── 14.1数据库的三大范式
│ …
│ ├── 14_05-SQL语句在MySQL是如何执行的
│ …
│ ├── 15_03-什么是最左匹配规则,原理是什么
│ …
│ ├── 16_01-数据库事务的四个特性以及含义
│ …
│ └── 16_06-MVCC 底层原理
├── 8. Redis,常见题型【一、二】
│ ├── 17.1什么是 redis?redis 的应用场景有哪些?
│ …
│ ├── 17.6redis 怎么实现分布式锁?有哪些缺陷?
│ ├── 18_01-redis怎么做高可用
│ …
│ └── 18_05-分析redis中的事务
├── 9.网络编程,常见题型【一、二】
│ ├── 19_01-简述 Reactor 网络编程模型
│ …
│ ├── 19_05-为什么用户态需要设置读写缓冲区
│ ├── 20_01-水平触发和边缘触发的区别
│ …
│ ├── 20_06-UDP和TCP的区别
│ …
│ └── 20_10-什么是MTU、MSS以及为什么要有MSS
├── 10. 论,常见题型
│ ├── 21_01-什么是 CAP 理论
│ ├── 21_02-什么是 Base 理论
│ ├── 21_03-什么是2PC
│ └── 21_04-什么是Raft协议,解决了什么问题
├── 11.kafka,常见题型
│ ├── 22_01-kafka是什么?解决了什么问题?
│ …
│ ├── 22_04-简述kafka的ack三种机制
│ …
│ ├── 22_07-kafka的高可用机制是什么
│ …
│ └── 22_10-kafka为什么性能这么高
├── 12.gRPC,常见题型
│ ├── 23_01-gRPC 服务端启动流程
│ …
│ ├── 23_04-gRPC多路复用指的是什么
│ …
│ ├── 23_07-如何实现 gRPC 全链路追踪
│ …
│ └── 23_10-如何为每个stream进行限流
├── 13.etcd,常见题型
│ ├── 24_01-etcd 中一个任期是什么意思
│ …
│ ├── 24_04-etcd某个节点宕机后会怎么做
│ …
│ └── 24_07-etcd如何保证数据一致性
├── 14.dockerk8s,常见题型
│ ├── 25_01-什么是 docker 镜像
│ ├── 25_02-什么是 docker 容器
│ …
│ ├── 25_07-如何在生产中监控 docker
│ …
│ └── 25_09-容器退出后数据会丢失么
├── 15.数据库集群,常见题型
│ ├── 26_01-MySQL主从复制原理
│ ├── 26_02-MySQL分库分表
│ ├── 26_03-简述redis高可用的方案
│ └── 26_04-简述redis-cluster集群的原理
└── 16.设计方案,常见题型
├── 27_01-2G内存在20亿个整数中找出现次数最多的数
…
├── 27_03-40亿个非负整数中找到未出现的数
…
├── 27_06-Redis和MySQL缓存一致性
└── 27_07-现场手撕定时器