第5天业务题

5-1 你们项目中签到为什么要使用bitmap

是这样的,使用bitmap它是以二进制0,1来表示数据的,我们用0表示未签到,用1表示已签到,这样我们就可以把某个人在某一个月的签到记录放到一条记录里面,大大节省了存储空间。


5-2 你们项目中积分功能是如何实现的

是这样的,积分功能共涉及到2个微服务:学习微服务,签到微服务。

在我们项目中,课程学习,每天的签到,课程回答,课程笔记和课程评价都可以产生积分,为了实现解耦合,我们加入了mq,生产端发送积分消息,接收消息的微服务创建监听器监听mq,接取消息,保存到数据库里。


5-3 Redis三大新面试点: 跳表、pipeline、bitmap

是这样的,跳表是一种数据结构,它允许快速搜索、插入和删除操作。跳表通过使用多层链表来实现,每一层链表都是前一层链表的子集,最上层链表包含所有元素。这种结构使得跳表类似于平衡树,但更容易实现和维护。

跳表的搜索操作类似于二分查找,它从最上层链表开始,逐层向下查找,直到找到目标元素或者确定目标元素不存在。插入和删除操作也类似,需要在每层链表中进行相应的操作,以保持跳表的平衡性和有序性。

是这样的,pipeline也叫管道,通常用于描述数据在不同处理阶段中的流动和转换。例如,在持续集成和持续交付(CI/CD)中,开发人员可以创建一个包含多个阶段的管道,用于自动化构建、测试和部署软件。

是这样的,Bitmap也叫位图,是一种数据结构,底层是基于String实现的,用于表示一个二进制的位序列。每个位代表某种状态,通常用于表示集合的成员关系或者标记某种状态。在开发过程中,位图常用于解决大规模数据处理和算法问题。

位图通常用于以下几个方面:

  1. 表示集合:每个元素对应位图中的一个位,位图的长度通常与集合中元素的数量相对应。如果某个元素存在于集合中,则对应位被设置为1;否则设置为0。

  2. 空间压缩:位图可以有效地压缩数据,特别是在表示稀疏数据时,它只需要占用很少的内存空间。

  3. 快速查询:由于位图中的每一位都可以直接访问,因此可以在常量时间内对位图进行查询操作。

  4. 位操作:位图支持位操作,如与、或、非等,这些操作可以在常量时间内完成,因此非常高效。

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值