C++葵花宝典

数据结构与算法:
链表及其操作:链表操作
B树与B+树:B+树
*B树代码:B树代码
字典树(trie树):字典树
*红黑树:红黑树
几种树的区别:树的区别
几种树的应用:树的应用
二叉树前中后遍历:前中后遍历
二叉树层次遍历:层次遍历
二叉树深度:树的深度
几种排序算法与复杂度:排序算法复杂度
快速排序:快排
归并排序:归并
希尔排序:希尔
堆排序代码:堆排序
STL sort函数实现:sort实现
atoi函数实现:atoi
memcpy函数实现:memcpy
strcpy函数实现:strcpy
海量数据去重:海量数据去重
单例模式懒汉与饿汉:单例模式
shared_ptr代码实现:shared_ptr实现
生产者消费者代码实现:生产者消费者
LRU Cache代码实现:LRU实现

C++基础:
C++11新特性:C++11特性
STL介绍:STL
如何防止iterator失效:iterator失效
unordered_map使用:unordered_map使用
map list set效率对比:map list set效率对比
priority_queue使用:优先队列
模板类的实现原理:模板类实现原理
C++虚继承:虚继承
虚继承
多重继承的size:继承size
虚继承的size:虚继承size
C++多态:多态
多态
虚函数表:虚函数表
虚函数表
C++纯虚函数作用:纯虚函数
哪些函数不能是虚函数:哪些不能是虚函数
构造函数不能是虚函数:构造不能为虚函数
子类指针不能指向父类对象的原因:子类指针不能指向父类对象
运算符重载:运算符重载
重载与重写:重载与重写
对象的复制与赋值:对象的复制与赋值
复制与赋值的区别:复制与赋值
static关键字的作用:static
static
静态全局与静态局部变量:静态全局与静态局部变量
extern C作用:extern C
友元函数:友元函数
C++内存管理:C++内存管理
new和malloc区别:new和malloc
堆和自由存储区:堆和自由存储区
数组和指针的区别:数组和指针的区别
alloc函数详解:alloc函数
const使用:const
define和const区别:define和const区别
指针和引用的区别:指针和引用
C++四种类型转换:四种类型转换
智能指针:智能指针
智能指针详解:智能指针
野指针:野指针
初始化列表和构造函数初始化的区别:初始化列表和构造函数
成员变量初始化顺序:成员变量初始化顺序
成员变量初始化方式:成员变量初始化方式
C++默认成员函数:C++默认成员函数
C++ malloc函数简介:malloc函数
sizeof函数:sizeof函数
char*与char[]区别:char*与char[]
private protected public:private protected public
struct与class区别:struct与class
volatile关键字:volatile
new的三种用法:new的三种用法
inline:inline
shared_ptr线程安全吗:shared_ptr线程不安全
explicit关键字:explicit
内存泄漏原因:内存泄漏原因
内存泄漏检测(valgrind):valgrind基本使用
*内存泄漏检测:内存泄漏

操作系统:
Linux I/O模型:Linux I/O模型
select poll epoll:select poll epoll
select poll epoll
epoll底层用红黑树的原因:epoll底层用红黑树的原因
水平触发与边缘触发:水平触发与边缘触发
线程的状态与转换:线程的状态与转换
进程与线程的区别:进程与线程的区别
协程与线程区别:协程与线程
多线程函数:多线程函数
多线程的同步:多线程的同步
多线程与多进程,并发与并行:多线程与多进程,并发与并行
线程池异步IO:线程池异步IO
线程安全:线程安全
判断线程安全:判断线程安全
可重入函数:可重入函数
同步异步与阻塞非阻塞:同步异步与阻塞非阻塞
线程与线程池:线程与线程池
pthread库函数:pthread库
用户态与内核态:用户态与内核态
进程查看系统调用:strace
进程间通信:进程间通信
fork vfork clone:fork vfork clone
消息队列:消息队列
死锁:死锁
编译和链接:编译和链接
gcc编译器:gcc编译器
静态链接与动态链接:静态链接与动态链接
静态链接与动态链接
静态绑定与动态绑定:静态绑定与动态绑定
gdb条件断点:gdb
gdb core:gdb core
段错误:段错误
undefined reference to原因:undefined reference to
进程调度算法:进程调度算法
连续分配存储管理:连续分配存储管理
buffer和cache的区别:buffer和cache的区别
虚拟内存:虚拟内存
共享内存实现:共享内存
内存池:内存池
C++内存对齐:内存对齐
内存对齐原因:内存对齐原因
大端与小端存储:大端与小端存储
页式存储与页面置换:页式存储与页面置换
大规模分布式系统的问题:大规模分布式系统
系统调用和过程调用:系统调用
shell脚本:shell
shell
Linux -fPIC:Linux -fPIC
grep sed awk :grep sed awk
为什么访问磁盘数据慢? 为什么访问磁盘数据慢
浮点数存储:浮点数存储
Nginx简介:Nginx简介
Nginx详解:Nginx详解
Nginx负载均衡策略:Nginx负载均衡策略
Nginx容灾:Nginx容灾
CPU优化:CPU优化

网络:
计算机网络分层:网络分层
三次握手与四次挥手:三次握手与四次挥手
TCP保证传输可靠性:TCP保证传输可靠性
TCP编程实例:TCP编程实例
time_wait过多的问题:time_wait过多
time_wait阶段接收到包:time_wait阶段接收到包
TCP的no delay:no delay
IP协议:IP协议
ARP协议:ARP协议
DNS域名解析:DNS域名解析
RTP协议:RTP协议
CDN网络:CDN网络
浏览器输入网址后的过程:浏览器输入网址后的过程
一次ping过程:ping
ping
HTTP详解:HTTP
HTTP与HTTPS:HTTP与HTTPS
HTTPS加密过程:HTTPS加密过程
HTTP1.0与1.1:HTTP1.0与1.1
HTTP1.1与2.0:HTTP1.1与2.0
session与cookie:session与cookie
get与post区别:get与post区别
端到端与点到点:端到端与点到点

数据库:
数据库ACID特性:ACID
数据库隔离级别:隔离级别
默认隔离级别的原因:默认隔离级别
隔离级别实现原理:隔离级别实现原理
幻读如何解决:幻读如何解决
MVCC:MVCC
索引类型:索引类型
聚集与非聚集索引:聚集与非聚集索引
in使用索引:in使用索引
Mysql索引失效场景:索引失效场景
myisam和innodb区别:myisam和innodb
组合索引的最左匹配:组合索引的最左匹配
组合索引使用应注意什么:组合索引使用应注意什么
组合索引的底层存储:组合索引的底层存储
mysql执行计划:mysql执行计划
mysql锁类型:mysql锁类型
乐观锁与悲观锁:乐观锁与悲观锁
数据库死锁:数据库死锁
drop delete truncate区别:drop delete truncate
undo和redo日志:undo和redo日志
mysql数据库优化:mysql数据库优化
主从复制:主从复制
半同步复制:半同步复制
mysql引擎:mysql引擎
分库分表:分库分表
垂直分库的跨库join:垂直分库的跨库join
sql语句优化:sql语句优化
Mysql和Redis对比:Mysql和Redis对比
Redis常见问题:REDIS
REDIS
REDIS
Redis基本数据类型:Redis基本数据类型
Zset数据结构:跳表
Redis基本使用:Redis基本使用
Redis主从架构:Redis主从架构

项目问题:
内存的优化:tcmallocjemalloc(主要是锁的优化)
线上部分机器cpu经常遇到大量线程争抢自旋锁导致cpu被打满,严重影响系统性能,(1)调整tcmalloc thread local cache大小 (2)tcmalloc->jemalloc tp99降低20ms
CPU负载高的排查:cpu负载过高
一些性能优化技巧:C++性能优化
C++性能分析工具:perf
服务端进程如何部署?
微服务架构:微服务
微服务架构(写的太好了)
流量突增有什么策略?削峰
限流与熔断
不同域名(360buy.com, jd.com)指向同一用户,如何判断同一用户?
下游服务宕机如何应对?
为什么用Mysql?MongoDB/Redis为什么不行?https://www.cnblogs.com/web-fusheng/p/6884759.html
机器扩容如何做负载均衡?
服务用N台机器变一台瓶颈在哪?性能评估?https://www.cnblogs.com/fanguangdexiaoyuer/p/12410900.html
Mysql请求量增大如何应对?(数据库高并发解决方案)查询优化
部署优化
消息队列
缓存
其他
多条插入和单条插入的性能优势?https://www.jianshu.com/p/3de4e32afb9b
高并发抢红包系统设计与数据设计?
系统设计:红包系统设计
数据库设计:红包数据库设计
TCP工作线程和 IO线程如何分离?
长连接的多个请求,同样的IP和端口,如何分包?https://www.cnblogs.com/wangshaowei/p/9358335.html
通用网关如何做负载均衡(网关层)?
同时来1000条请求,数据库只能处理100条,怎么办?
下单转化行为如何统计?
brpc相比rpc的优势?https://github.com/apache/incubator-brpc/blob/master/docs/cn/overview.md
https://blog.csdn.net/okiwilldoit/article/details/82755526
rpc底层实现:rpc底层实现
protobuf对比json的优势?pb与json
一个网页打开失败,可能的原因?
你有什么想问我的吗? https://leetcode-cn.com/circle/discuss/RMgmVC/

代码阅读:
main:启动一个server
守护进程:https://www.cnblogs.com/hesper/p/10738965.html
Linux获取本机ip:https://blog.csdn.net/hardccyy/article/details/17961671
gflag命令行参数解析:https://www.cnblogs.com/myyan/p/4798679.html
ini配置文件读取
进程资源限制:https://blog.csdn.net/rikeyone/article/details/88798384
Server的init:读取server配置,注册jsf
ipv6词表:ipv6地址到地域 再到京东地域码的相互映射,存放与网盘, 开启线程定时刷新
加载索引:流水服务从mysql到网盘,以kct文件格式输出,使用方式 内存数据加载
monitor监控:耗时监控,超时报警,底层开启一个多路复用的异步tcp service
一个HttpService的异步(用于监控):https://blog.csdn.net/yanerhao/article/details/82424065
异步回调:https://blog.csdn.net/zhuky/article/details/5364685
shared_ptr用法:https://www.cnblogs.com/jiayayao/p/6128877.html
io_service方法:https://blog.csdn.net/byxdaz/article/details/71088812
实现tcp的异步server:https://www.cnblogs.com/jiayayao/p/6262771.html
RPC简介:https://www.jianshu.com/p/7d6853140e13
RPC详解:https://www.cnblogs.com/adamans/articles/13650424.html
实现一个brpc的server:https://blog.csdn.net/breaksoftware/article/details/81564405

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值