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倍的流量过来,你觉得怎么设计才能支撑得了这么高的访问量
-
你未来三到五年的职业规划是什么
-
说说你的优缺点,你跟同龄人比优势在哪里
-
你工作中遇到的最大难题是什么,不局限于技术方面,你是怎么协调的
-
如果你来我们这边,你想得到哪些收获