✅工作8年,游戏中厂,Redis,分布式

✅工作8年,游戏中厂,Redis,分布式

面试者背景

:::warning 8年,中厂游戏,Java,go,spring,做过dbserver,游戏饰品商城(交易模块、第三方支付接入),压测系统(xml、protobuf、流程化配置、分布式压测,Prometheus、grafana),

如何实现的压测的并发数,场景化配置是如何实现的?作弊指令,

**压测时关注哪些指标?p90大概多少ms?**100ms

游戏账号是如何维护的?为啥不用开源的方案比如jemeter

用过哪些中间件?redismongodbmqmysqlredismongodb区别?

Redis****什么地方用到了?

为啥mysqlB+树,mongodb为啥用B树,redis用跳表?

三种数据库该怎么选?一般是如何选择?

Redis的事务和mysql****的事务区别?

Redis****快的原因是什么?基于内存、单线程模型、多路复用,为啥单线程会更快?

Redis的热key****问题遇到过吗?有什么问题吗?多级缓存、拆分。本地缓存不一致问题怎么办?

key变成了大key怎么办?你觉得多大可以认为是大key

Redis的分布式锁,如何实现可重入?什么是可重入?如何避免解锁的时候把别人的锁解了?听说过redlock****吗?

Lua脚本用过吗?在集群模式下使用lua****脚本有问题么?有办法解决吗?

Zookeeper干什么用了?为啥zk可以用来做nameserver**?**

ZookeeperCP****体现在哪里?强一致性,查询的时候一定会不一样呢?不一致了怎么体现强一致性?A的牺牲体现在哪里?

写完1/2节点之后,如果超过1/2节点都挂了怎么办?

Zk能用在什么场景下?zk的分布式锁和redis****的分布式锁区别是啥?性能、原理、一致性、

分布式锁,一致性和可用性哪个更重要?为啥市面上99%场景都用redis?数据库兜底,

分布式事务涉及过吗?介绍下TCC,你认为有必要做分布式事务吗?太重了,

不做分布式事务,怎么保证一致性呢?

“为什么要限流,不应该服务好用户么?”,如何反驳?恶意流量、上下游

:::

题目解析

:::color4 如何实现的压测的并发数,场景化配置是如何实现的?作弊指令,

压测时关注哪些指标?p90大概多少ms?100ms

:::

✅说下什么是p90,p95,P99?

:::color4 用过哪些中间件?redismongodbmqmysqlredismongodb区别?

Redis****什么地方用到了?

为啥mysqlB+树,mongodb为啥用B树,redis用跳表?

三种数据库该怎么选?一般是如何选择?

Redis的事务和mysql的事务区别?

:::

✅Redis、MySQL和MongoDB的区别是什么,各自适用场景呢?

✅为什么MySQL用B+树,MongoDB用B树?

✅InnoDB为什么不用跳表,Redis为什么不用B+树?

✅Redis的事务和MySQL的事务区别?

:::color4 Redis****快的原因是什么?基于内存、单线程模型、多路复用,为啥单线程会更快?

Redis的热key****问题遇到过吗?有什么问题吗?多级缓存、拆分。本地缓存不一致问题怎么办?

热key变成了大key怎么办?你觉得多大可以认为是大key?

:::

✅Redis为什么这么快?

✅什么是热Key问题,如何解决热key问题

✅什么是大Key问题,如何解决?

:::color4 Redis的分布式锁,如何实现可重入?什么是可重入?如何避免解锁的时候把别人的锁解了?听说过redlock吗?

:::

✅什么是可重入锁,怎么实现可重入锁?

✅什么是RedLock,他解决了什么问题?

:::color4 Lua脚本用过吗?在集群模式下使用lua脚本有问题么?有办法解决吗?

:::

✅Redis Cluster 中使用事务和 lua 有什么限制?

:::color4 Zookeeper干什么用了?为啥zk可以用来做nameserver**?**

ZookeeperCP****体现在哪里?强一致性,查询的时候一定会不一样呢?不一致了怎么体现强一致性?A的牺牲体现在哪里?

写完1/2节点之后,如果超过1/2节点都挂了怎么办?

Zk能用在什么场景下?

:::

✅Zookeeper的典型应用场景有哪些?

✅Zookeeper是CP的还是AP的?

:::color4 zk的分布式锁和redis的分布式锁区别是啥?性能、原理、一致性、

分布式锁,一致性和可用性哪个更重要?为啥市面上99%场景都用redis?数据库兜底,

:::

✅Redis 的分布式锁和 Zookeeper 的分布式锁有啥区别?

:::color4 分布式事务涉及过吗?介绍下TCC,你认为有必要做分布式事务吗?太重了,

不做分布式事务,怎么保证一致性呢?

:::

✅什么是分布式事务?

✅怎么做数据对账?

:::color4 “为什么要限流,不应该服务好用户么?”,如何反驳?恶意流量、上下游

:::

✅为什么一定要做限流?不应该服务好客户吗?不应该是加机器吗?