zoukankan      html  css  js  c++  java
  • 大厂面试系列(六):Redis和缓存等

    Redis 和MongoDB及应用

    Redis

    • redis优化策略
    • redis除了做缓存还能做什么?
    • 说说redis持久化方式?分别优缺点是什么?redis更新策略是什么?
    • redis的数据结构存储?以及应用场景?如何实现集群和高可用?
    • 业务中redis如何保证可用性 怎么实现分布式锁(redis)
    • 分布式锁的实现方式,zk实现和Redis实现的比较
    • redis支持的数据类型到跳跃表,redis同步策略 ,如何自己实现lru
    • 什么是缓存击穿,redis的hotkey如何处理?如何保证数据库与缓存双写的一致性。
    • redis缓存过期策略,准备同步,哨兵机制和集群的区别
    • 遇到的问题就是“缓存穿透”和“缓存击穿”,“缓存雪崩”,双写不一致等。 如何解决上述遇到的问题?
    • redis有哪几种数据类型,如何持久化,怎么更新,使用场景,主从复制怎么做?影响redis的瓶颈?
    • NoSQL数据库,以及MongDB和Redis使用场景?
    • 缓存一致性问题 数据先写 redis?还是先写 MySQL? 写入失败怎么办? redis 或者 MySQL 挂掉怎么办?
    • redis的高可用,redis的集群方案,一致性哈希和哈希槽模式下缓存服务器宕机,数据如何迁移
    • 你知道redis为什么读写速度那么快么? redis数据装在内存中,那么数据可以持久化吗? redis数据持久化的方式有哪些呢? 这两种持久化方式的区别在哪里呢? 你知道redis的内存淘汰机制吗?redis的cluster集群原理能简单说一下吗?
    • 如何解决 Redis 的并发竞争 Key 问题
    • zset底层怎么实现的?
    • 关于Redis的主从复制?
    • Redis 怎么保证不丢数据,能不能保证严格意义的一定不会丢 Redis 集群,生产环境Redis 如何做数据迁移
    • 如何理解redis的高性能和高并发
    • Redis基本数据结构 跳表实现原理 过期处理,Redis单线程优势,影响吞吐因素,支持事务吗 Redis会遇到哪些问题 缓存一致性 穿透 雪崩,解决方案.
    • BloomFilter 知道吗?说下原理,怎么提高准确性
    • 单线程的redis如何利用多核cpu机器?
    • 有海量key和value都比较小的数据,在redis中如何存储才更省内存?
    • redis分布式锁如何保证原子性?
    • redis主备切换过程是怎样的?
    • redis的过期策略,定期删除何时终止
    • Redis如何解决key冲突?
    • 如果redis作为分布式锁的时候,主节点挂掉了,但是数据还没有同步到从节点,这种情况怎么办?
    • redis的key是如何寻址的啊?
    • 分布式缓存redis原理
    • redis分布式锁三种实现方式
    • redis和memcached 的内存管理的区别等等
    • redis的session共享的具体实现
    • 讲讲redis里面的哈希表?
    • redis 集群主从复制原理。
    • Guava缓存除了做缓存还能做什么?和Redis的优缺点。
    • redis分片取模算法。
    • redis,memcache底层客户端使用一致性Hash,看是否了解;redis的事件驱动多路复用底层实现
    • redis的事务机制;
    • Redis 有序集合实现方式有哪些; zset与set区别? list和set又有什么区别?
    • set 和setNx有什么区别
    • redis数据结构、跳跃表,redis qps能上多少,怎么知道的 ,sentinel和cluster区别和各自适用场景,redis cluster集群同步过程
    • 讲下布隆过滤器的实现机制
    • redis处理大量重复数据
    • 生产环境Redis 如何做数据迁移
    • Redis官方为什么不提供Windows版本?
    • redis 内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?)
    • Redis主要消耗什么物理资源?
    • 分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?

    MongoDB

    • MongoDB和MySQL的区别,各自使用场景

    应用

    • 项目里用redis存哪些数据?为什么用redis?和jetty本地缓存有什么区别?

    • 发散性问题:假如有100万个玩家,需要对这100W个玩家的积分中前100名的积分,按照顺序显示在网站中,要求是实时更新的。积分可能由做的任务和获得的金钱决定。问如何对着100万个玩家前100名的积分进行实时更新?

      思路就是考虑出了前100名的后100W-100名玩家的积分,让变化的积分跟第100名比较,如果比第100名高,那就替换的原则。就是利用缓存机制,缓存---tomcat---DB,层级计算,能不用到DB层就别用,因为每进一层,实现起来都会更复杂和更慢。

    • 谈谈你对缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解?

    • 解决缓存击穿的方式有哪几种?加锁的时候什么时候选择本地锁,什么时候选择分布式锁?

    • 数据库有1万条数据,怎么很快的加载到redis?

    • 问nosql如何设计?

    • 做个微信商城,其中有各种活动,限时优惠,和秒杀,问我并发的时候怎么做处理的。

      (用redis计数器做,当秒杀的商品库存减低时,直接响应请求)

    • 设计一个防止缓存穿透的解决方案,

    • 分布式缓存实现原理,秒杀业务怎样防止超卖;

    欢迎搜索关注本人与朋友共同开发的微信面经小程序【大厂面试助手】和公众号【微瞰技术】

    file
    file

  • 相关阅读:
    CSS属性之定位
    CSS选择器区别
    HTML属性及其相关区别
    HTML标签区别
    HTML其他概念
    CSS3新特性
    HTML5新标签
    HTML5新特性
    params修饰符的用法
    C#中引用参数ref和输出参数out
  • 原文地址:https://www.cnblogs.com/zhendiao/p/13916239.html
Copyright © 2011-2022 走看看