> 文章列表 > question

question

question

4、Mysql高可用有几种方案,分别有什么特点?

特点 优点 缺点
mysql group replication(MGR)组复制 组内一半节点同意即可提交更改操作、最多支持 9 个节点、基于MRG插件、多节点写入支持、故障自动检测、引擎必须为 innodb、必须有主键、binlog 为 row 强一致、paxos协议、
MySQL InnoDB Cluster

MySQL Shell:MySQL的高级客户端、管理工具和代码编辑器。

MySQL Router:一种轻量级的中间件,提供负载均衡功能

MySQL InnoDB ClusterSet 将主要的InnoDB Cluster与其他位置(例如,不同数据中心)的一个或多个副本链接 数据可能丢失

5、redis分布式锁你们是怎么用的(redission),原理知道吗?

6、redis的热key知道吗? 一个热key导致单台机访问流量过高,该怎么办?

大key 1.数据请求大量超时2.侵占带宽网络拥堵:3.内存溢出或处理阻塞

热key1.分片服务瘫痪2.Redis 分布式集群优势弱化4.引发缓存击穿:5.cpu占用高,影响其他服务

业务判断

(1)购物车场景,当一个购物车的key设计,没有上限,没有其他随机值约束,仅使用了mid。这个时候就要注意,如果有个购物狂,一次加购5w件商品怎么办?

(2)活动资格列表场景,当一个活动的资格查询list被放入一个key,活动期间频繁的查询和操作。这个时候就要注意,list的数据量有多少?查询资格的操作是否集中?如果集中,qps是多少?

工具查看

查看bigkey:redis-cli -a 登录密码 --bigkeys

查看hotkey:redis-cli -a 登录密码 --hotkeys

删除大key

unlink 命令是 del 的异步版本,由 Lazyfree 机制实现

被动删除,允许以 Lazyfree 的方式清除

解决方案

(1)利用二级缓存
比如利用ehcache,或者一个HashMap都可以。在你发现热key以后,把热key加载到系统的JVM中。

(2)备份热key 不要让key走到同一台redis上不就行了,热key+随机值(0 - 2n n为集群数量) 

7、分布多台redis的话,如果某一台缓存过期了,流量过大该怎么办?

缓存击穿加锁或jvm存储

排查大 Key 问题

检查业务是否使用了 pipelines

批量查询,如:mget、hmget 或 hgetall等。

8、如果有10台机同时失效,那该怎么一次性回源

9、限流是怎么做的,用阿里云的sentinel,有几种策略(qps,时间)

10、有几种限流算法,各有什么优缺点?

普通窗口 对固定的时间窗口内的请求数量进行计数,超过请求数量的阈值,将被直接丢弃 临界问题
滑动窗口 窗口根据周期时间移动,有效防止临界请求问题 流量到达阈值时会瞬间掐断流量,所以导致流量不够平滑。
漏桶 以固定的出口流量匀速流出,请求的流量超过漏桶大小,将被丢弃。 匀速,由于速率固定,即使在某个时刻下游处理能力过剩,也不能得到很好的利用
令牌 以一定速度往令牌桶里丢令牌,当一个请求过来,去令牌桶里申请令牌,如果能够获取到令牌,那么请求就可以正常进行,反之被丢弃

2、Redis你比较熟吧,说说它机制为什么快?3、有几种数据结构,底层分别是怎么存储的?4、Redis有几种持久化方式5、多线程情况下如何保证线程安全?6、用过volatile吗?它是如何保证可见性的,原
理是什么?
MySQL的索引结构,聚族索引和非聚族索>的区别?
8、MySQL有几种高可用方案,你们用的是哪一种?
9、秒杀采用什么方案,分表怎么做的,redis挂了怎么办?
10、分表为什么要停服这种操作,如果不停服可
以怎么做?
11、你怎么防止优惠券有人重复刷?
12、redis数据幂等性是怎么保证的?

1、你说说java线程池吧,怎么运作的?放在队列里的任务是什么时机执行的?

2、你们项目线程池怎么配置的,为什么这么配?

非io cpu   线程数 = CPU 核心数 * (1 + IO 耗时/ CPU 耗时)

3、说下spring bean的生命周期4、redis为什么快?你说到支持多种数据结构,为什么这个能提高速度?5、Feign底层原理看过吗?6、怎么改负载均衡参数?7、如果让你设计负载均衡,你会怎么设计?8、CPU飚高有哪些原因?
9、hotkey有检测过吗? 怎么优化的?

10、做一道算法题,两个非负整数想加,结果以字符串输出

力扣   地址 
11、有什么问我的吗?

  • 项目的整体架构,包含分多少个服务,多少个节点,调用链是怎样的

  • 你做过的最有挑战性的某个模块功能

  • 这些功能的业务设计,包含数据表有哪些,用了哪些中间件,怎么跟其他服务做数据联动的

  • 你在项目中做了哪些优化,有没有什么效果,比如RT减少200ms,压测数据增加了5倍之类的,有数据支撑的话更有说服力

  • 你遇到过哪些线上问题,怎么排查故障的

  • 项目的QPS相关指标,你觉得还能怎么优化,假设有多加10倍的流量过来,你觉得怎么设计才能支撑得了这么高的访问量

  • 你未来三到五年的职业规划是什么

  • 说说你的优缺点,你跟同龄人比优势在哪里

  • 你工作中遇到的最大难题是什么,不局限于技术方面,你是怎么协调的

  • 如果你来我们这边,你想得到哪些收获