大廠面試系列(六):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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM