懂球帝-Go社招-8.1

alt

  1. 自我介绍
  2. 项目
    1. 最大的QPS能有多少?
    2. 假设有一个服务需要比较高的QPS的,你该怎么设计这个从服务到返回的流程呢?假定一个查询的接口,比如说游戏的道具,你会怎么设计?(我说的加redis做缓存)
      1. redis这一块,假设道具的查询量在某一刻突然出现了大几千几万的激增,在之前并没有redis的缓存,为了避免穿透到数据库里面去(默认如果穿透到数据库,数据库是撑不住的),golang你怎么设计这个服务,避免穿透到数据库里面去的。我的需求是,我这个请求过来,是有真实数据存在的,而且每个请求都得拿到真实的数据结果(不能用布隆过滤器和限流)。提示:都落到数据库里面,数据库肯定扛不住,假设几千个QPS只需要一个QPS获取到数据,其他的请求只拿到这一个的结果返回数据就行。
    3. mysql
      1. 你的服务中mysql单表的数据量最大的大概有多少?有做分表吗
      2. mysql一张表达到什么样的一个节点或者量级,我们需要进行分表的操作
      3. 为什么mysql数据量大的时候查询性能会下降?最主要的原因是什么?(我回答的是索引效率会降低)
      4. 为什么数据量大索引效率会降低呢?
      5. mysql 2千万的时候进行分表,这么说到底是对还是不对,为什么到了2千万要进行分表
    4. redis
      1. 假设有10个g的内存,如果存满了的话,大概是一种什么的机制是管理内存的,如果没存满的时候,这个键过期的情况下他是怎么去进行淘汰的
      2. 如果10个g内存满了话,再存一个键的话能存上还是不能存上?默认的情况下
      3. 满的淘汰策略,过期的删除策略
        1. 惰性删除
        2. 定期删除
          1. 定期删除你说的不全面,随机找一部分键,如果过期的键达到一定比例了,他还会继续再去找一部分,如果没到那个比例他就会把这些键删除
    5. 事务
      1. mysql Innodb事务原理
      2. ACID
        1. mysql通过什么保证原子性的
    6. 你踢球看球吗,平时都有看球吧,每年都看吗
#Golang社招##redis##mysql##场景题##设计#
全部评论
过了吗
点赞 回复 分享
发布于 08-14 00:06 广东

相关推荐

4 19 评论
分享
牛客网
牛客企业服务