企业落地与项目实战7524 字
抖音直播演示稿
·全库 425 / 611
《抖音直播演示稿》共 0.8 万字,通篇围绕 并发、架构、缓存、Redis 展开,归在「企业落地与项目实战」这一层。
覆盖并发架构缓存Redis场景面试
适合要把 AI 项目交付出去、对结果负责的人
目录骨架(8 节)
- 一、整体架构及执行流程
- 二、索引相关
- 三、事务与锁
- 四、性能调优相关
- 一、选择Redis的原因?为何快?
- 二、Redis持久化 ,淘汰,过期,雪崩穿透穿刺
- 三、哨兵主从集群
- 四、Redis常见的性能问题及解决方案?
目录 · 24 节
- -- MySQL场景题--
- 一、整体架构及执行流程
- 二、索引相关
- 三、事务与锁
- 四、性能调优相关
- -- Redis 专题 --
- 一、选择Redis的原因?为何快?
- 二、Redis持久化 ,淘汰,过期,雪崩穿透穿刺
- 三、哨兵主从集群
- 四、Redis常见的性能问题及解决方案?
- -- MQ 相关 --
- 一、为什么需要消息中间件? 消息中间的选择?
- 二、项目中是否存在重复消费问题?如何解决?
- 三、消息批次发送触发机制?可能异常?如何优化?
- 四、消息拉取机制是如何工作的?
- --并发编程专题--
- 一、并发编程的基础概念
- 二、并发编程中的锁
- 三、读写锁源码流程
- 四、阻塞队列
- 五、线程池
- -- 生产项目难点亮点分享--
- 一、日均千百万的数据量如何记录和统计?
- 二、频繁增加字段,过滤条件繁多如何优化?
-- MySQL场景题--
一、整体架构及执行流程
Query语句
- 描述SQL语句从客户端到服务器的执行流程?
- 如果提示too many connections 怎么处理?
Update语句
- 详细解释每种日志的作用和使用场景
- InnoDB三大特性
二、索引相关
- MySQL索引用什么数据结构?
- 为什么不用AVL ,B-Tree ,Red-back,Hash
- 为何要求表必须有长整型自增主键?主键跟索引的关系?
- 什么情况B+Tree叶子节点有row data?
- 索引优化 explain type
- 索引失效?type级别 回表覆盖索引 ICP
- 索引什么数据结构?三大日志分别做什么?
- 为何有了redoLog还要binlog?
- 宕机重启时binlog无记录,redo有如何操作?
- 了解InnoDB三大特性吗?BufferPool AHI
- 为什么很多公司都建议MySQL单表不超过两千万?
- 索引失效场景有哪些?
三、事务与锁
- MySQL线上死锁问题如何排查?
- 数据库连接池爆满如何解决?
- MySQL如何解决并发问题?
四、性能调优相关
- 慢SQL问题如何排查?
- 何时考虑主从,分库分表?
- 如何设计日均千万级数据库,如何迁移到分库?
- 关联业务跨库如何查询?
- 海量数据如何高效统计?
- ERP包装成SaaS架构需要关注的重难点?
-- Redis 专题 --
一、选择Redis的原因?为何快?
- 单线程还是多线程?
- 数据类型应用场景?底层数据结构?
- String 数据结构Int sds5(遗弃)8 16 32
- C 统计 \0 二进制转化 动态缩容扩容
- List
- Set
- Zset
- hash
- (bitmaps 签到 统计 布隆过滤器 Geo地理位 Hyperloglog UV )
- Dict扩缩容是否影响bgsave,新增等操作?
- 假如used6 size8 再加一个会不会扩容?到多少?
- Used 2 size20 再移除一个会不会缩容?
- Factor(used/size)>1
- 网络模型BIO NIO AIO ,Select Poll EPoll
二、Redis持久化 ,淘汰,过期,雪崩穿透穿刺
- 项目中采用什么持久化方案?
- 定期过期一次过期了从第一个table拿到20接下来干啥?
- RDB文件生成是否会阻塞主线程?
- 为什么主从复制不能用AOF完成?
三、哨兵主从集群
- Redis集群会有写丢失吗?应急方案?
- 项目如何确保缓存和数据库双写时的一致性?
- Redis集群有无出现过整个集群不可用?如何处理?
四、Redis常见的性能问题及解决方案?
- 有调慢查询经验吗?
- 项目中Key冲突的问题?
- 怎么提高Redis命中率?
-- MQ 相关 --
一、为什么需要消息中间件? 消息中间的选择?
- 整体架构/核心组件有哪些?
二、项目中是否存在重复消费问题?如何解决?
- 相同分组的消费者能消费同一个topic 里面相同的分区吗?
- 何时会触发rebalance?
- 主节点凉了后怎么选举新的repartition?(ISR OSR HW)
- 假如:在3个broker中皆有topic1,如果group1中有1个consumer如何消费,2consumer,4consumer呢?
三、消息批次发送触发机制?可能异常?如何优化?
- Msg 几百MB batch-size 16K 新建 缓存32M
- 什么时候发消息积压 60000ms 10次
- 你项目中发送消息是如何选择分区的?
- 消息发送如何确保可靠性传输?最多失败重试几次?
四、消息拉取机制是如何工作的?
- 监听什么时候实例化的?
- @KafkaListener写在类上和方法上实例化的对象一样吗?
- 你项目中是如何提交消费结果的?
- 如何确保消息有序性?
- 清楚Kafka网络模型吗?
- 上百分片跨机房消息延迟优化?
--并发编程专题--
一、并发编程的基础概念
原子性可见性有序性
进程/线程 ;串行/并行/并发
同步/异步 ,阻塞/非阻塞
创建线程方法状态扭转停止wait sleep
二、并发编程中的锁
可重入/不可重入锁; 乐观锁/悲观锁
公平锁/非公平锁; 互斥锁/共享锁
Synchronized 实现原理(ObjectMonitor markWork jol包锁升级) 优化:锁消除
禁用Synchronized原因
区别ReentrantLock。AQS /CAS核心思想
加锁 释放锁
三、读写锁源码流程
读写锁实现原理
四、阻塞队列
五、线程池
-- 生产项目难点亮点分享--
一、日均千百万的数据量如何记录和统计?
读写分离分库分表集群(查询)
ES (实时统计困难) 替换了
starrocks 行列混存
(延迟kafka组装顺序性 批次 hbase做点查) 多数据源
二、频繁增加字段,过滤条件繁多如何优化?
上游业务表(+业务概念 角色)
预留扩展json> flinkcdc kafka 字段打平 发到starrocks 列式存储
