互联网面试常见问题整理


高并发系统之限流特技 动态链接库中函数的地址确定---PLT和GOT Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈 Redis和Memcached的区别 epoll内核源码详解+自己总结的流程 后台开发面试问题整理 Linux内核:poll机制 linux任务调度机制 Linux内核:poll机制 解读Raft(一 算法基础) - 杭州.Mark - 博客园 Linux文件系统详解 - AlanTu - 博客园 Linux c 开发 - 内存管理器ptmalloc - CSDN博客 Linux环境变量及其设置 - CSDN博客 比较全面的gdb调试命令 - 知识天地 - 博客园...

一文带你入门滑动窗口


最早接触滑动窗口是滑动窗口协议,滑动窗口协议(Sliding Window Protocol),属于 TCP 协议的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。 发送方和接收方分别有一个窗口大小 w1 和 w2。窗口大小可能会根据网络流量的变化而有所不同,但是在更简单的实现中它们是固定的。窗口大小必须大于零才能进行任何操作。 我们算法中的滑动窗口也是类似,只不过包括的情况更加广泛。实际上上面的滑动窗口在某一个时刻就是固定窗口大小的滑动窗口,随着网络流量等因素改变窗口大小也会随着改变。接下来我们讲下算法中的滑动窗口。 滑动窗口是一种解决问题的思路和方法,通常用来解决一些连续问...

数据库事务那些事


Transaction 也就是所谓的事务了,通俗理解就是一件事情。从小,父母就教育我们,做事情要有始有终,不能半途而废。 事务也是这样,不能做一般就不做了,要么做完,要么就不做。也就是说,事务必须是一个不可分割的整体,就像我们在化学课里学到的原子,原子是构成物质的最小单位。于是,人们就归纳出事务的第一个特性:原子性(Atomicity)。我靠,一点都不神秘嘛。 特别是在数据库领域,事务是一个非常重要的概念,除了原子性以外,它还有一个极其重要的特性,那就是:一致性(Consistency)。也就是说,执行完数据库操作后,数据不会被破坏。打个比方,如果从 A 账户转账到 B 账户,不可能因为...

B tree VS B+ tree


The image below helps show the differences between B+ trees and B trees. Advantages of B+ trees: Because B+ trees don't have data associated with interior nodes, more keys can fit on a page of memory. Therefore, it will require fewer cache misses in order to access data that is on a leaf node. T...