所有电子书籍都是从网络收集的,参考自己的阅读习惯和技术论坛的推荐,主要是近10年来的经典书籍。重点在3个方向:计算机系统基本原理(操作系统、编译原理、算法)、计算机网络和分布式架构。还有少量的数据库介绍。
收录的书都是比较早期的经典书籍,更多聚焦在基础知识上面。对于最新的云原生、微服务和低代码等技术涉及较少。
下载链接:必读书单
所有电子书籍都是从网络收集的,参考自己的阅读习惯和技术论坛的推荐,主要是近10年来的经典书籍。重点在3个方向:计算机系统基本原理(操作系统、编译原理、算法)、计算机网络和分布式架构。还有少量的数据库介绍。
收录的书都是比较早期的经典书籍,更多聚焦在基础知识上面。对于最新的云原生、微服务和低代码等技术涉及较少。
下载链接:必读书单
看到这些题目忍不住转过来,觉得能把这些都完整解答,功力不是一般深厚了。有具体的coding、大量算法还有一些常用的基础知识和原理等。
转自微信公众号:程序猿石头,PC版链接:羡慕,又一清华学弟斩获 6 个大厂 SSP Offer | 面经分享。
一致哈希 是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K/n个关键字重新映射,其中 K是关键字的数量n是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。一致哈希的算法最早在如下论文中被提出:
一致哈希在分布式计存储架构中无处不在。是被证明的可以解决经典哈希视图发生变化时,数据搬迁尽可能少的算法。最早是在分布式缓存中提出,参考如下文档,这里提供原文的下载链接:《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》。
转自:deeplearningbook-chinese 英文原版地址:deeplearningbook。GitHub上面的发布版本PDF文件存储在AWS S3上面,国内无法下载,因此拷贝了最新版本的放在此处:下载链接。
B树的定义,对于一个M阶的B树,有如下性质:
1、每个节点存储t个数值和t+1个子节点的索引。
2、根节点至少有[2, M]个子节点。即对于根节点,t的最大取值为M-1,如,5阶的B树,根节点最多有5个子节点。
3、非根非叶子节点,最多有M个子节点,M-1个数值。
2、非根非叶子节点,最少有M/2(向上取整)个子节点,M/2-1个数值。
4、叶子节点无索引,最多存储M-1个数值,最少存储M/2-1(向上取整)个数值。
5、所有叶子节点都处于同一深度。
如下图,是一个M=5的B-树。
前一阵子遇到一个奇怪的问题,分析了很久,最后查阅了一些资料,找到了问题的原因,是TCP的backlog机制的原因。首先描述一下重现问题的现象和过程: 构建一个TCP的服务端,监听端口4321,只监听请求,不accept,客户端不断发起连接,观察TCP连接建立的情况。服务端程序代码如下:
转载自:loop in codes
Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢?
<分布式系统的事务处理>:
Google Chubby的作者Mike Burrows说过这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品。
理解了这两个分布式协议之后(Paxos/2PC),学习其他分布式协议会变得相当容易。
学习Paxos算法有两部分:a) 算法的原理/证明;b) 算法的理解/运作。