simulation02
深维:一面:
1.用过哪些分布式锁 redis key用什么类型 用string有什么坏处 ?没抢到的都在干等着,浪费cpu?如何规避。 etcd如何分布式锁redis 锁 可能存在的问题:
业务超 ...
ETCD 面试必备
etcd分布式锁的实现流程
建立连接客户端连接 etcd,以 /etcd/lock 为前缀创建全局唯一的 key, 假设第一个客户端对应的 key=“/etcd ...
Kafka 面试必备
消费者消费流程消费流程:
从zk获取要消费的partition 的leader的位置 以及 offset位置
拉数据,这里拉数据是直接从broker的pagecash拉取,零拷贝(应用程序可以直接把 ...
Golang语言面试题 - Grpc
grpc和http区别gRPC和HTTP的主要区别在于它们的传输协议、序列化和反序列化方法、性能特性以及使用场景。具体如下:
传输协议不同。gRPC使用基于二进制的HTTP/2作为传输协议 ...
Go语言 Slice 结构的底层实现
append 性能损耗未指定长度或者长度不足时,双倍扩容(cap < 1024); 1.25倍扩容(cap > 1024)。把元内存空间的数据拷贝过来,然后在新的内存空间继续append数 ...
Go语言 Map 结构的底层实现
Golang 中的 map 详解一、什么是 map?1、map 的定义 在计算机科学里,被称为相关数组、map、符号表或者字典,是由一组 <key, value> 对组成的抽象数据结构, ...
Go设计模式12-享元模式
按照课程中的例子来理解,就是象棋棋子作为享元,可以被所有的对局共享,以达到减少内存的目的
Go设计模式11-组合模式
比较简单的例子是 人员架构中 部门和人员的关系,二者可以形成简单的树形接口,部门中规定了一些功能;而人员又有自己的基本属性功能
Go设计模式10-门面模式
简单来理解就是 有登录和注册两个基础功能,对外统一封装成 登录&注册,上层调用无需知道具体调用的逻辑,只通过一个接口获取登录状态即可