✅工作8年,游戏中厂,Redis,分布式
面试者背景
:::warning 8年,中厂游戏,Java,go,spring,做过dbserver,游戏饰品商城(交易模块、第三方支付接入),压测系统(xml、protobuf、流程化配置、分布式压测,Prometheus、grafana),
如何实现的压测的并发数,场景化配置是如何实现的?作弊指令,
**压测时关注哪些指标?p90大概多少ms?**100ms
游戏账号是如何维护的?为啥不用开源的方案比如jemeter?
用过哪些中间件?redis、mongodb、mq、mysql。redis和mongodb区别?
Redis****什么地方用到了?
为啥mysql用B+树,mongodb为啥用B树,redis用跳表?
三种数据库该怎么选?一般是如何选择?
Redis的事务和mysql****的事务区别?
Redis****快的原因是什么?基于内存、单线程模型、多路复用,为啥单线程会更快?
Redis的热key****问题遇到过吗?有什么问题吗?多级缓存、拆分。本地缓存不一致问题怎么办?
热key变成了大key怎么办?你觉得多大可以认为是大key?
Redis的分布式锁,如何实现可重入?什么是可重入?如何避免解锁的时候把别人的锁解了?听说过redlock****吗?
Lua脚本用过吗?在集群模式下使用lua****脚本有问题么?有办法解决吗?
Zookeeper干什么用了?为啥zk可以用来做nameserver**?**
Zookeeper的CP****体现在哪里?强一致性,查询的时候一定会不一样呢?不一致了怎么体现强一致性?A的牺牲体现在哪里?
写完1/2节点之后,如果超过1/2节点都挂了怎么办?
Zk能用在什么场景下?zk的分布式锁和redis****的分布式锁区别是啥?性能、原理、一致性、
分布式锁,一致性和可用性哪个更重要?为啥市面上99%场景都用redis?数据库兜底,
分布式事务涉及过吗?介绍下TCC,你认为有必要做分布式事务吗?太重了,
不做分布式事务,怎么保证一致性呢?
“为什么要限流,不应该服务好用户么?”,如何反驳?恶意流量、上下游
:::
题目解析
:::color4 如何实现的压测的并发数,场景化配置是如何实现的?作弊指令,
压测时关注哪些指标?p90大概多少ms?100ms
:::
:::color4 用过哪些中间件?redis、mongodb、mq、mysql。redis和mongodb区别?
Redis****什么地方用到了?
为啥mysql用B+树,mongodb为啥用B树,redis用跳表?
三种数据库该怎么选?一般是如何选择?
Redis的事务和mysql的事务区别?
:::
✅Redis、MySQL和MongoDB的区别是什么,各自适用场景呢?
:::color4 Redis****快的原因是什么?基于内存、单线程模型、多路复用,为啥单线程会更快?
Redis的热key****问题遇到过吗?有什么问题吗?多级缓存、拆分。本地缓存不一致问题怎么办?
热key变成了大key怎么办?你觉得多大可以认为是大key?
:::
:::color4 Redis的分布式锁,如何实现可重入?什么是可重入?如何避免解锁的时候把别人的锁解了?听说过redlock吗?
:::
:::color4 Lua脚本用过吗?在集群模式下使用lua脚本有问题么?有办法解决吗?
:::
✅Redis Cluster 中使用事务和 lua 有什么限制?
:::color4 Zookeeper干什么用了?为啥zk可以用来做nameserver**?**
Zookeeper的CP****体现在哪里?强一致性,查询的时候一定会不一样呢?不一致了怎么体现强一致性?A的牺牲体现在哪里?
写完1/2节点之后,如果超过1/2节点都挂了怎么办?
Zk能用在什么场景下?
:::
:::color4 zk的分布式锁和redis的分布式锁区别是啥?性能、原理、一致性、
分布式锁,一致性和可用性哪个更重要?为啥市面上99%场景都用redis?数据库兜底,
:::
✅Redis 的分布式锁和 Zookeeper 的分布式锁有啥区别?
:::color4 分布式事务涉及过吗?介绍下TCC,你认为有必要做分布式事务吗?太重了,
不做分布式事务,怎么保证一致性呢?
:::
:::color4 “为什么要限流,不应该服务好用户么?”,如何反驳?恶意流量、上下游
:::