# 代码随想录go项目精讲

这次我们正式发布Go项目精讲!

关于go的学习路线以及go的学习资料可以看星球里这个帖子:https://t.zsxq.com/0fBUeHzhC

本篇项目文档,将包含两个Go项目,分别是: 仿极客兔兔分布式缓存、 kv存储 ,文档重点围绕如何吃透这个项目、深挖的点、面试常问问题和解答。

仿极客兔兔分布式缓存,项目原地址:https://geektutu.com/post/geecache.html

在其基础上,可以做一些拓展优化,如:

  1. 将单独lru算法实现改成多种算法可选(容易实现且lru, lfu都是经典算法,方便顺便考察算法能力)
  2. http通信改为rpc通信提高网络通信效率(方便引出rpc相关问题)
  3. 细化锁的粒度来提高并发性能
  4. 实现热点互备来避免hot key频繁请求网络影响性能(groupcache中提出的优化)
  5. 加入etcd进行分布式节点的监测实现节点的动态管理(能拓展出大量分布式问题,etcd作为常见组件在面试中也很能聊)
  6. 加入缓存过期机制,自动清理超时缓存

kv存储,项目源地址:https://github.com/roseduan/rosedb

项目常见问题:

  • 这个项目有什么优点?
  • 介绍一下bitcask模型
  • 了解LSM树么
  • 内存映射(mmap)是什么?
  • 做项目的过程中有没有什么自己的想法?
  • merge操作如何进行?还可以继续优化么?
  • 服务端客户端命令行如何实现的?
  • 项目中用到了跳表,为什么用,怎么实现的?
  • 跳表重点问题(从选择跳表到跳表实现中的细节,如果自己写跳表一定要搞懂):

「代码随想录项目精讲-go项目PDF」目录如下:

  • 仿极客兔兔分布式缓存
    • 前言
    • 相关的参考项目
    • 相关参考资料
    • 项目介绍
      • Group模块
      • 缓存模块
      • byteview 模块
      • 分布式一致性模块
      • 读流程:
  • 项目面试相关问题
    • 缓存相关
      • 去设计一个分布式缓存系统要从哪些方面考虑?
      • 缓存雪崩,击穿,穿透分别是什么,如何应对?
      • 你的项目中如何应对缓存雪崩和缓存击穿问题?
      • 了解的缓存淘汰策略有哪些?
    • 一致性哈希相关问题
      • 什么是一致性哈希?为什么在项目中要使用它?
      • 如何保证一致性哈希算法的有效性?
      • 一致性哈希算法中的虚拟节点是什么?它们的作用是什么?
      • 虚拟节点怎么实现的?查找目标 key 的过程是怎样的?
    • etcd 相关问题 (如果用到了 etcd 一定要准备相关问题)
      • 为什么要使用 etcd,怎么用的?
      • Raft 算法
      • etcd 是如何保证强一致性的呢
      • etcd分布式锁实现的基础机制是怎样的
      • 能说一说用 etcd 时它处理请求的流程是怎样的吗
  • kv存储
    • 前言
    • 所需要的基础知识
    • 相关参考资料
    • 项目的简要介绍
    • 项目模块和结构组织分析
      • mindb
      • storage
      • index
      • datastruct
      • cmd
      • bench
    • 项目面试相关问题
      • 这个项目有什么优点?
      • 介绍一下bitcask模型
      • 了解LSM树么
      • 内存映射(mmap)是什么?
      • 做项目的过程中有没有什么自己的想法?
      • merge操作如何进行?还可以继续优化么?
      • 服务端客户端命令行如何实现的?
      • 项目中用到了跳表,为什么用,怎么实现的?
      • 跳表重点问题(从选择跳表到跳表实现中的细节,如果自己写跳表一定要搞懂):
        • 刚刚说到了redis,为什么rediszset用跳表实现而不是红黑树?
        • 跳表索引的动态更新是怎样做的?
        • 跳表的高度控制策略是怎样的?
        • 既然跳表的平衡是随机算法控制的,那如何保证O(logn)的复杂度?

来看看PDF的部分截图:

# 下载方式

本PDF文档仅为星球内部专享,大家可以加入知识星球 (opens new window)里获取PDF

这里给出10元代金券,领代金券加入。

如果确实想白嫖文档,知识星球支持三天内全额退款,可以进去领完PDF再退款(大实话了),退款方式在知识星球APP右上角。(全程无套路)

已经有近2w录友加入了知识星球方向比努力更重要,一群人可以走的更远!

@2021-2024 代码随想录 版权所有 粤ICP备19156078号