🗒️网易云音乐一面面经
00 min
2024-3-21
2024-3-23
type
status
date
slug
summary
tags
category
icon
password
  1. 自我介绍
  1. 项目
    1. 最有挑战的、复杂度最高的项目
      1. DB 和 ES 的一致性怎么做的?
      2. 为什么做性能优化?效果?
    2. 还有吗?
    3. 最近在做的项目?
      1. 怎么做稳定性?
      2. 一个业务系统做完了,监控、报警如何设计?
  1. 介绍缓存穿透、缓存击穿、缓存雪崩,分别怎么解决?(结合业务说)
  1. 介绍 mysql 的 undolog 和 redolog
  1. 用过 binlog 吗?(举例了 rds 的数据闪回刷数据)
  1. mysql 索引设计原则
  1. 业务 redis 的架构是怎么样的?
  1. 介绍 redis 哨兵
  1. 介绍 redis 选举过程
  1. 系统设计:设计一个直播的弹幕系统,需要落表(我只给了拉模式的mvp模型)
    1. v1:纯读写DB,发弹幕-生产入库,看弹幕-给时间窗口轮询扫DB消费
    2. v2:redis 为主的架构(write-behind),写-redis 的 zset(timestamp 做score),异步刷 DB,读-给时间窗口用 ZRANGEBYSCORE 轮询扫数据,但是这套架构存在一些问题
      1. DB 宕机的话,会丢数据
      2. redis 宕机的话,降级回源会缓存击穿
      3. 及时性不够(短连接、拉模式)
      4. 热点直播间(数据倾斜问题)
💡
整体面试体验不错,感觉是在招人的,能按照你的简历来问,同时也有一些开放性的问题。最后的系统设计,后来下来也研究了从拉到推的一个合理架构演进,整理在了这篇文章中。