首页 > 其他分享 >3月5日周老师缓存面试题资料

3月5日周老师缓存面试题资料

时间:2023-06-01 23:33:43浏览次数:43  
标签:面试题 缓存 日周 过期 redis6 redis 一致性 数据

找班主任,要周老师的路线发一下面试突击班,第一天开班有6000+人在线~!!!希望大家紧张起来,今年竞争尤其激烈,新来的同学要加把劲~!今天主题:缓存面试题 周老师提升面试成功率给到对方你有思想,有个人见解redis为什么快,TPS/QPS是多少,解决了项目什么问题?1,我讲的redis第一版,之后今年新讲的redis6.x源码课2,内存(),单线程,EPOLL(NIO),数据结构(补充redis6),计算向数据移动(在io上优化)3,10W有点多,4W:Value体积,类型4,解决了项目什么问题,级别:1,无关紧要数据,减轻数据库的压力;2,动静分离(纯静态数据【字典】,聚合数据【通过计算得到的数据】)3,涉及一致性问题的数据,decr,超卖发生不了,但是一定少卖*,订单信息 -> 状态机 stat(追求一致性的)**,区分并发,区分一致性的问题的严重程度现在Redis服务器内存不够用了,但是公司也不会为我们购买新的服务器资源,想办法解决内存不足的情况,而且不能删除Redis中的数据,也不能转储备份,解决这种情况之后还要保证Redis的性能,甚至性能要比之前更高,如何处理这种情况?1,压缩2,value类型的梳理3,redis有一个特质:VM-*** 2.0时代,3.x clusterRedis怎么解决数据主从延迟问题啊?之前面得物被问到了1,不可能百分百解决2,配置中开启:slaves的数量:3,time,1S不同物理机房部署redis的问题?1,redis的场景肯定是cache,你肯定有db2,near cache3,数据库层面做同步,缓存不去同步*,首先你追求的是cache的性能,担心的是可靠,加入同步,追求强一致性我又想做存储,又想做缓存,redis怎么设置?1,关注redis的淘汰策略2,在过期key的集合中去淘汰,LFU/LFRU*,操作上有要求,认为可以淘汰的数据,要加上过期时间,即便10年都可以*,如果第二次操作不带过期,所以,认为过期的key,过期设置应该是O(n)Wredis的IO模型,单/多线程?1,去看redis6.x的课2,redis6,kafka:redis 单线程,IOthreads是多:循环一次,从IO中完成读写,是一个批次,一个client可能有一个或多个命令被执行,但是不破坏顺序性kafka,worker是多线程,IOthreads:一条指令,mute unmute你是几几年的,工作几年了,为什么还知道代理模式?我感觉没人用了,直接用它自己的cluster模式就可以了呀?1,AKF2,cluster痛点redis是否使用了主从复制,读写分离?1,读写分离,禁用,如果关注一致性,其实主从都关闭2,没有一致性问题的可以3,【纯粹当个不重要的缓存的时候,随便分离】重要体现在数据的维度,站在架构的角度,很值钱。*,补充一个问题:有哨兵的主从:从是怎么发现,以及动态扩展从节点,需要改配置,从起集群吗?**,哨兵只需要配置master,通过发布订阅,哨兵之间发现**,通过master的info replica 学习到从节点有那个,已备未来切换主AKF应用中的Z轴如何做数据的分治?1,Z轴,我们做的是sharding,分片2,实现的话:就用他的自己的cluster3,exp: 3C大类下,手机,电脑,。。。4,cluster + hash tag5,代理,client我被问到,数据库有100W条数据,redis只能保存20W个Key,怎么保证都是热点数据?00,前期做活动。领券,购物车,协同过滤。。。猜--->涉及到大数据了0,不可能正确预估热数据1,热数据不可能被猜到2,怎么解决雪崩,穿透,击穿了3,代表的语义是redis里面没有这个key*,减少无效请求,冷启动,项目不瘫秒杀场景用是否使用了redis?1,用了redis做库存的扣减,过滤,过滤了大量的无效请求2,出现了少卖现象3,金融交易都是到库的4,其实没有真秒杀5,用我redis6.x的cache-write-behind解决方案,会出现超卖假象6,尽量过滤更多的无效请求,但是更主要的是自动化的完成了redis的回更

找班主任,要周老师的路线发一下

 

面试突击班,第一天开班有6000+人在线~!!!

希望大家紧张起来,今年竞争尤其激烈,新来的同学要加把劲~!

 

今天主题:缓存面试题 周老师

 

提升面试成功率

给到对方你有思想,有个人见解

 

redis为什么快,TPS/QPS是多少,解决了项目什么问题?

1,我讲的redis第一版,之后今年新讲的redis6.x源码课

2,内存(),单线程,EPOLL(NIO),数据结构(补充redis6),计算向数据移动(在io上优化)

3,10W有点多,4W:Value体积,类型

4,解决了项目什么问题,级别:

1,无关紧要数据,减轻数据库的压力;

2,动静分离(纯静态数据【字典】,聚合数据【通过计算得到的数据】)

3,涉及一致性问题的数据,decr,超卖发生不了,但是一定少卖

*,订单信息 -> 状态机 stat(追求一致性的)

**,区分并发,区分一致性的问题的严重程度

 

 

现在Redis服务器内存不够用了,但是公司也不会为我们购买新的服务器资源,想办法解决内存不足的情况,而且不能删除Redis中的数据,也不能转储备份,解决这种情况之后还要保证Redis的性能,甚至性能要比之前更高,如何处理这种情况?

1,压缩

2,value类型的梳理

3,redis有一个特质:VM-*** 2.0时代,3.x cluster

http://redis.cn/topics/internals-vm

 

 

 

Redis怎么解决数据主从延迟问题啊?之前面得物被问到了

1,不可能百分百解决

2,配置中开启:slaves的数量:3,time,1S

 

 

 

不同物理机房部署redis的问题?

1,redis的场景肯定是cache,你肯定有db

2,near cache

3,数据库层面做同步,缓存不去同步

*,首先你追求的是cache的性能,担心的是可靠,加入同步,追求强一致性

 

我又想做存储,又想做缓存,redis怎么设置?

1,关注redis的淘汰策略

2,在过期key的集合中去淘汰,LFU/LFRU

*,操作上有要求,认为可以淘汰的数据,要加上过期时间,即便10年都可以

*,如果第二次操作不带过期,所以,认为过期的key,过期设置应该是O(n)W

 

 

redis的IO模型,单/多线程?

1,去看redis6.x的课

2,redis6,kafka:

redis 单线程,IOthreads是多:循环一次,从IO中完成读写,是一个批次,一个client可能有一个或多个命令被执行,但是不破坏顺序性

kafka,worker是多线程,IOthreads:一条指令,mute unmute

 

你是几几年的,工作几年了,为什么还知道代理模式?我感觉没人用了,直接用它自己的cluster模式就可以了呀?

1,AKF

2,cluster痛点

 

 

redis是否使用了主从复制,读写分离?

1,读写分离,禁用,如果关注一致性,其实主从都关闭

2,没有一致性问题的可以

3,【纯粹当个不重要的缓存的时候,随便分离】重要体现在数据的维度,站在架构的角度,很值钱。

*,补充一个问题:有哨兵的主从:从是怎么发现,以及动态扩展从节点,需要改配置,从起集群吗?

**,哨兵只需要配置master,通过发布订阅,哨兵之间发现

**,通过master的info replica 学习到从节点有那个,已备未来切换主

 

 

 

AKF应用中的Z轴如何做数据的分治?

1,Z轴,我们做的是sharding,分片

2,实现的话:就用他的自己的cluster

3,exp: 3C大类下,手机,电脑,。。。

4,cluster + hash tag

5,代理,client

 

 

我被问到,数据库有100W条数据,redis只能保存20W个Key,怎么保证都是热点数据?

00,前期做活动。领券,购物车,协同过滤。。。猜--->涉及到大数据了

0,不可能正确预估热数据

1,热数据不可能被猜到

2,怎么解决雪崩,穿透,击穿了

3,代表的语义是redis里面没有这个key

*,减少无效请求,冷启动,项目不瘫

 

秒杀场景用是否使用了redis?

1,用了redis做库存的扣减,过滤,过滤了大量的无效请求

2,出现了少卖现象

3,金融交易都是到库的

4,其实没有真秒杀

5,用我redis6.x的cache-write-behind解决方案,会出现超卖假象

6,尽量过滤更多的无效请求,但是更主要的是自动化的完成了redis的回更

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:面试题,缓存,日周,过期,redis6,redis,一致性,数据
From: https://www.cnblogs.com/shan13936/p/17450538.html

相关文章

  • JAVA面试题整理
    本文分为十九个模块,分别是:「Java基础、容器、多线程、反射、对象拷贝、JavaWeb、异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM」,如下图所示:   共包含208道面试题,本文的......
  • java map缓存数据自动过期
     packageztest;importjava.util.Date;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.Timer;importjava.util.TimerTask;/***页面跳转时产生一个token*带到页面*页面保存时校验token**防止重复提交......
  • 高频面试题|如何解决MySQL主从复制延时问题
    作者:楼仔来源:https://mp.weixin.qq.com/s/Jfrp-pLH_nfzKzwU-6gY5w这篇文章是去年写的,但是阅读量很低,不想让好的文章被埋没,重新整理后,可读性更强,文末有上周六技术派直播视频。MySQL主从一直是面试常客,里面的知识点虽然基础,但是能回答全的同学不多。比如我之前面试小米,就被问......
  • 实战:实现缓存和数据库一致性方案
    哈喽大家好,我是阿Q!最近不是正好在研究canal嘛,刚巧前两天看了一篇关于解决缓存与数据库一致性问题的文章,里边提到了一种解决方案是结合canal来操作的,所以阿Q就想趁热打铁,手动来实现一下。架构文中提到的思想是:采用先更新数据库,后删除缓存的方式来解决并发引发的一致性问题;采用异......
  • Spring Boot缓存注解使用案例
    一、spring-boot-cache缓存1、pom<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><version>2.6.7</version></dependency>2、main启动类加入@EnableCachi......
  • 146. LRU 缓存
    主要是利用LinkedHashMap的功能LinkedHashMap继承了HashMap学到了LinkedHashMap维护双向链表的方法LinkedHashMap的Entry加入了一个before和after,用于维护Entry的加入顺序。next维护各个桶的顺序。回忆LinkedHashMap源码记得看:https://blog.csdn.net/weixin......
  • 图解LeetCode——146. LRU 缓存
    一、题目请你设计并实现一个满足 LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量 capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intva......
  • java面试题
    一、面向对象的特性有哪些?封装(Encapsulation):将数据和方法封装在一个类中,通过访问修饰符控制数据的访问权限,提高程序的安全性和可维护性。继承(Inheritance):可以从父类继承属性和方法,避免重复编写代码,简化程序设计和维护。多态(Polymorphism):同一种类型的对象,可以以不同的方式......
  • 内存泄漏、缓存溢出?C和C++,哪个更懂得管理内存质量?
    一、c/c++程序内存区域划分c和c++的内存区域划分是十分相似的,因为c++是完全兼容c语言,是c语言的面向对象的升级版。接下来看如下图:程序的内存区域被划分成6个区域。内核空间、栈、内存映射段、堆、数据段、代码段。下面是对相关内存区域名词解释:栈又叫堆栈--非静态局部变量/函数参数......
  • 前端浏览器缓存和HTTP缓存
    缓存缓存优点:减少冗余的数据传输;减轻服务器的压力;加快浏览器加载网页的速度。分类:强缓存和协商缓存 强缓存:服务器不需要发送资源给客户端,客户端直接从缓存中取有关头字段:Cache-Control、Expires,两者同时存在时,前者优先级更高Expires:当客户端向服务器发送请求,服务......