[面试干货]
C++
智能指针的实现原理
多态的实现原理[2]
C++11新特性[3]
memory-copy是什么[4]
unique_ptr实现原理
介绍下boost库
计算机网络
nagle算法[5]
time_wait过多怎么解决[6]
close_wait过多怎么解决[7]
拥塞算法[8]
HTTPS执行过程[9]
TCP 状-态机[10]
Dijkstra算法[11]
tcp no delay[12]
HTTP2.0[13]
golang
golang once实现
waitgroup实现
nocopy[14]
mutex设计思想[15]
mutex实现与演进[16]
mutex详细源码注释[17]
为什么锁不能复制[18]
结构体方法使用使用value和pointer[19]
silce实现[20]
atomic实现
golang调度
golang sync包
goroutine大致原理
golang垃圾回收
golang内存分配
计算机基本概念
为什么计算机用2的补码[21]
浮点数[22]
操作系统
多核cpu和内存数据如何更新[23]
自旋锁[24]
epoll[25]
cpu 伪共享[26]
线程同步[27]
进程同步[28]
CAS原理[29]
内存屏障[30]
伙伴系统[31]
epoll[32]
epoll 边沿触发和水平触发[33]
cpu load average[34]
进程不同状态
为什么L1 cache比L2 cache快
I/O多路复用,这个复用指的是什么[35]
算法
[螺旋数组] https://leetcode-cn.com/problems/spiral-matrix/
treap树
mutex 唤醒队列
红黑树
LRU[36]
innodb lru[37]
LRU-K
bloom filter[38]
cuckoo filter[39]
KMP算法
LSM tree
排序算法[40]
AVL树[41]
快速排序[42]
时间复杂度LOGN[43]
堆排序[44]
大数排序 TOPN[45]
HashedWheelTimer[46]
geohash[47]
m*n棋盘,多少种走法[48]
倒排索引
mark-sweep垃圾回收算法[49]
两个栈实现一个队列[50]
单调栈[51]
trie树[52]
单链表合并[53]
删除链表倒数第K个节点
线段树
合并二叉搜索树[54]
倒排索引 如何merge返回结果
找出无序数组的中位数[55]
系统设计
分布式事务[56]
限流算法[57]
一致性hash[58]
zookeeper[59]
zookeeper选举
CAP[60]
如何判断死锁存在
朋友圈设计[61]
redis
rehash[62]
kedis codis[63]
跳跃表[64]
ziplist[65]
zset[66]
如何保证数据不丢失 AOF RDB[67]
参考资料
[1]
演讲: https://www.bilibili.com/video/BV1Us411i7Ym?from=search&seid=119698512329459514
[2]
多态的实现原理: https://www.zhihu.com/question/58886592
[3]
C++11新特性: https://www.cnblogs.com/lidabo/p/7241381.html
[4]
memory-copy是什么: https://www.cnblogs.com/scut-linmaojiang/p/5283838.html
[5]
nagle算法: https://www.jianshu.com/p/f3840c0ca15e
[6]
time_wait过多怎么解决: https://coolshell.cn/articles/11564.html
[7]
close_wait过多怎么解决: https://blog.huoding.com/2016/01/19/488
[8]
拥塞算法: https://blog.csdn.net/liaoqianwen123/article/details/25429143
[9]
HTTPS执行过程: https://github.com/zhangyachen/zhangyachen.github.io/issues/31
[10]
TCP 状-态机: https://coolshell.cn/articles/11564.html
[11]
Dijkstra算法: https://www.jianshu.com/p/c9b27617502e
[12]
tcp no delay: https://blog.csdn.net/u014532901/article/details/78573261
[13]
HTTP2.0: https://www.zhihu.com/question/34074946
[14]
nocopy: https://medium.com/@bronzesword/what-does-nocopy-after-first-use-mean-in-golang-and-how-12396c31de47
[15]
mutex设计思想: https://zhuanlan.zhihu.com/p/75263302
[16]
mutex实现与演进: https://www.jianshu.com/p/ce1553cc5b4f
[17]
mutex详细源码注释: https://colobu.com/2018/12/18/dive-into-sync-mutex/
[18]
为什么锁不能复制: https://eli.thegreenplace.net/2018/beware-of-copying-mutexes-in-go/
[19]
结构体方法使用使用value和pointer: https://golang.org/doc/faq#methods_on_values_or_pointers
[20]
silce实现: https://halfrost.com/go_slice/
[21]
为什么计算机用2的补码: https://www.ruanyifeng.com/blog/2009/08/twos_complement.html
[22]
浮点数: https://github.com/zhangyachen/zhangyachen.github.io/issues/131
[23]
多核cpu和内存数据如何更新: https://juejin.im/post/5de795296fb9a016323d6466
[24]
自旋锁: https://zhuanlan.zhihu.com/p/40729293
[25]
epoll: https://zhuanlan.zhihu.com/p/115220699
[26]
cpu 伪共享: https://colobu.com/2019/01/24/cacheline-affects-performance-in-go/
[27]
线程同步: https://cloud.tencent.com/developer/article/1129585
[28]
进程同步: https://cloud.tencent.com/developer/article/1129585
[29]
CAS原理: https://zhuanlan.zhihu.com/p/34556594
[30]
内存屏障: https://zh.wikipedia.org/wiki/内存屏障
[31]
伙伴系统: https://coolshell.cn/articles/10427.html
[32]
epoll: https://zhuanlan.zhihu.com/p/93609693
[33]
epoll 边沿触发和水平触发: https://zhuanlan.zhihu.com/p/93609693
[34]
cpu load average: http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html
[35]
I/O多路复用,这个复用指的是什么: https://zhuanlan.zhihu.com/p/115220699
[36]
LRU: https://juejin.im/post/5db79d13518825698010ee42
[37]
innodb lru: https://blog.csdn.net/u013164931/article/details/82423613
[38]
bloom filter: https://juejin.im/post/5dca5d37e51d45692b1fe2d9
[39]
cuckoo filter: https://coolshell.cn/articles/17225.html
[40]
排序算法: https://www.cnblogs.com/sunriseblogs/p/10009890.html
[41]
AVL树: https://blog.csdn.net/qq_25806863/article/details/74755131
[42]
快速排序: https://www.jianshu.com/p/a68f72278f8f
[43]
时间复杂度LOGN: https://juejin.im/entry/593f56528d6d810058a355f4
[44]
堆排序: https://www.cnblogs.com/chengxiao/p/6129630.html
[45]
大数排序 TOPN: https://blog.csdn.net/chikoucha6215/article/details/100855222
[46]
HashedWheelTimer: https://my.oschina.net/u/2457218/blog/3104605
[47]
geohash: https://blog.csdn.net/universe_ant/article/details/74785989
[48]
m*n棋盘,多少种走法: https://blog.nowcoder.net/n/b920bc564fdc41b1b7a7bfed2995d130
[49]
mark-sweep垃圾回收算法: https://blog.csdn.net/asd397325267/article/details/52668537
[50]
两个栈实现一个队列: https://www.cnblogs.com/wanghui9072229/archive/2011/11/22/2259391.html
[51]
单调栈: http://www.zhuoerhuobi.cn/single?id=45
[52]
trie树: https://blog.csdn.net/forever_dreams/article/details/81009580
[53]
单链表合并: https://www.cnblogs.com/guweiwei/p/6855626.html
[54]
合并二叉搜索树: https://blog.csdn.net/qq_33240946/article/details/82421882
[55]
找出无序数组的中位数: https://blog.csdn.net/u010325193/article/details/87594895
[56]
分布式事务: https://coolshell.cn/articles/10910.html
[57]
限流算法: https://blog.biezhi.me/2018/10/rate-limit-algorithm.html
[58]
一致性hash: https://github.com/zhangyachen/zhangyachen.github.io/issues/74
[59]
zookeeper: https://www.jianshu.com/p/c7e8a370117d
[60]
CAP: https://blog.csdn.net/qq_28165595/article/details/81211733
[61]
朋友圈设计: https://www.jianshu.com/p/3fb3652ff450
[62]
rehash: http://redisbook.com/preview/dict/incremental_rehashing.html
[63]
kedis codis: https://www.cnblogs.com/wuwuyong/p/11774679.html
[64]
跳跃表: https://juejin.im/post/57fa935b0e3dd90057c50fbc
[65]
ziplist: https://www.cnblogs.com/yuanfang0903/p/12165394.html
[66]
zset: https://www.cnblogs.com/yuanfang0903/p/12165394.html
[67]
如何保证数据不丢失 AOF RDB: https://www.cnblogs.com/chenliangcl/p/7240350.html