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

    (用redis計數器作,當秒殺的商品庫存減低時,直接響應請求)
  • 設計一個防止緩存穿透的解決方案,
  • 分佈式緩存實現原理,秒殺業務怎樣防止超賣;
歡迎搜索關注本人與朋友共同開發的微信面經小程序【大廠面試助手】和公衆號【微瞰技術】
相關文章
相關標籤/搜索