摘要: 问题:给定一个二叉搜索树(BST),找到树中第 K 小的节点。 出题人:阿里巴巴出题专家:文景/阿里云 CDN 资深技术专家。 考察点: 1. 基础数据结构的理解和编码能力 2. 递归使用 参考答案: 说明:保证输入的 K 满足 1<=K<=(节点数目) 树相关的题目,第一眼就想到递归求解,左右子树 阅读全文
posted @ 2019-07-04 16:32 割肉机 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 概述 UDP不属于连接协议,具有资源消耗少,处理速度快的优点,所以通常音频,视频和普通数据在传送时,使用UDP较多,因为即使丢失少量的包,也不会对接受结果产生较大的影响。 传输层无法保证数据的可靠传输,只能通过应用层来实现了。实现的方式可以参照tcp可靠性传输的方式,只是实现不在传输层,实现转移到了 阅读全文
posted @ 2019-07-04 16:23 割肉机 阅读(8498) 评论(0) 推荐(0) 编辑
摘要: 背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。 从好上开始,到现在,一年多也算坚持下来了。 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。 中间双方可能就要不断的确认网络是否恢复,但是有时候会: 她:“你可以听到 阅读全文
posted @ 2019-07-04 16:13 割肉机 阅读(332) 评论(0) 推荐(0) 编辑
摘要: Redis 是一个开源( BSD 许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持的数据类型很丰富,如字符串、链表、集合、以及散列等,并且还支持多种排序功能。 什么叫持久化? 用一句话可以将持久化概括为:将数据(如内存中的对象)保存到可永久保存的存储设备中。 持久化的 阅读全文
posted @ 2019-07-04 15:58 割肉机 阅读(306) 评论(0) 推荐(0) 编辑
摘要: Redis提供的持久化机制 Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。 近日,Redis的作者在博客中写到,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于 阅读全文
posted @ 2019-07-04 15:25 割肉机 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 转载(http://redisbook.com/preview/dict/incremental_rehashing.html) 上一节说过, 扩展或收缩哈希表需要将 ht[0] 里面的所有键值对 rehash 到 ht[1] 里面, 但是, 这个 rehash 动作并不是一次性、集中式地完成的, 阅读全文
posted @ 2019-07-04 15:15 割肉机 阅读(937) 评论(0) 推荐(0) 编辑
摘要: rehash 随着操作的不断执行, 哈希表保存的键值对会逐渐地增多或者减少, 为了让哈希表的负载因子(load factor)维持在一个合理的范围之内, 当哈希表保存的键值对数量太多或者太少时, 程序需要对哈希表的大小进行相应的扩展或者收缩。 扩展和收缩哈希表的工作可以通过执行 rehash (重新 阅读全文
posted @ 2019-07-04 15:07 割肉机 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 1.HashMap的内部实现机制 HashMap是对数据结构中哈希表(Hash Table)的实现,Hash表又叫散列表。Hash表是根据关键码Key来访问其对应的值Value的数据结构,它通过一个映射函数把关键码映射到表中一个位置来访问该位置的值,从而加快查找的速度。这个映射函数叫做Hash函数, 阅读全文
posted @ 2019-07-04 15:04 割肉机 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 转载(美团针对Redis Rehash机制的探索和实践) 背景 Squirrel(松鼠)是美团技术团队基于Redis Cluster打造的缓存系统。经过不断的迭代研发,目前已形成一整套自动化运维体系,涵盖一键运维集群、细粒度的监控、支持自动扩缩容以及热点Key监控等完整的解决方案。同时服务端通过Do 阅读全文
posted @ 2019-07-04 14:40 割肉机 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 前言 gopush-cluster是一套golang开发的实时消息推送集群,主要分享一下开发这套系统的想法和思路。 架构 主要分为三个模块来开发,comet/web/message。 comet 主要负责消息排队、消息推送以及和客户端的连接维护;整套系统依据是消息ID顺序原则获取消息(客户端本地获取 阅读全文
posted @ 2019-07-04 14:37 割肉机 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 转(https://www.cnblogs.com/renpingsheng/p/9862485.html) Redis Cluster是Redis官方提供的Redis集群功能 1.为什么要实现Redis Cluster 1.主从复制不能实现高可用 2.随着公司发展,用户数量增多,并发越来越多,业务 阅读全文
posted @ 2019-07-04 14:25 割肉机 阅读(74281) 评论(9) 推荐(27) 编辑
摘要: C语言标准库: http://www.cplusplus.com/reference/cmath/ 在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间数;如果小了,就再拿右区间的中间数来试。比如求sqrt(16)的结果,你先试(0+16)/2=8,8*8=64,64比16大,然后就 阅读全文
posted @ 2019-07-04 11:21 割肉机 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 问题:已知 sqrt (2)约等于 1.414,要求不用数学库,求 sqrt (2)精确到小数点后 10 位。 出题人:阿里巴巴出题专家:文景/阿里云 CDN 资深技术专家。 考察点:基础算法的灵活应用能力(二分法学过数据结构的同学都知道,但不一定往这个方向考虑;如果学过数值计算的同学,应该还要能想 阅读全文
posted @ 2019-07-04 10:55 割肉机 阅读(1884) 评论(0) 推荐(0) 编辑
摘要: 问题:如何实现一个高效的单向链表逆序输出? 出题人:阿里巴巴出题专家:昀龙/阿里云弹性人工智能负责人 参考答案:下面是其中一种写法,也可以有不同的写法,比如递归等。 今日一题选自GitHub项目 interview_internal_reference。 2019年最新总结,阿里,腾讯,百度,美团, 阅读全文
posted @ 2019-07-04 10:54 割肉机 阅读(1707) 评论(0) 推荐(0) 编辑