快乐的程序员
04
20
mysql B+树的索引一般有多少层 mysql B+树的索引一般有多少层
写在前面这个问题在实际工作中可能作用不大,但是面试过程中可能会被问到,这就涉及到对B+树以及InnoDB页的了解。本文将分析这个问题。 答案首先回答这个问题:一般是1-3层。 InnoDB页在 MySQL 中我们的 InnoDB 页的大小默
2024-04-20
18
kafka零拷贝原理 kafka零拷贝原理
写在前面这个问题经常在面试中出现,本文将详细介绍它的底层原理 零拷贝是什么意思零拷贝并不是不需要拷贝,而是减少不必要的拷贝次数。通常是说在 IO 读写过程中。 实际上,零拷贝是有广义和狭义之分,目前我们通常听到的零拷贝,包括上面这个定义减少
2024-04-18
15
go singleflight源码解读 go singleflight源码解读
写在前面go singleflight提供了一个重复的函数调用抑制机制,这个库的主要作用就是将一组相同的请求合并成一个请求,实际上只会去请求一次,然后对所有的请求返回相同的结果。其本质是对函数调用的结果进行复用。 为什么需要singlefl
2024-04-15
15
rpc协议最重要的2个内容:编码和协议 rpc协议最重要的2个内容:编码和协议
写在前面之前用7天实现了一个grpc框架7d-rpc, 了解了rpc框架底层原理,其中最重要的部分就是编码和协议,其他都是附加功能。如果将rpc框架比作一个人,那编码和协议就是大脑和心脏,其他功能就是手和足,比如:服务发现、负载均衡、客户端
2024-04-15
12
11
10
10
09
go channel源码解析 go channel源码解析
写在前面在面试过程中经常会被问到有没有阅读过go源码,前面写了一篇文章go slice扩容是怎么计算大小的 专门针对这个问题的,学了这篇文章你就可以跟面试官说阅读过go源码,并且将他引导到go slice扩容的地方。 go slice的扩容
2024-04-09
09
go slice扩容是怎么计算大小的 go slice扩容是怎么计算大小的
写在前面面试过程中经常会被问到有没有看过go的源码,如果没有看过那面试效果就大打折扣了,这个问题如何解决呢? 首先问有没有看过go的源码,一般就是想问有没有看过go的slice,map,channel的底层实现(当然还有其他的一些,比如si
2024-04-09
07
05
3 / 22