企业落地与项目实战7524 字

抖音直播演示稿

·全库 425 / 611

《抖音直播演示稿》共 0.8 万字,通篇围绕 并发、架构、缓存、Redis 展开,归在「企业落地与项目实战」这一层。

覆盖并发架构缓存Redis场景面试

适合要把 AI 项目交付出去、对结果负责的人

目录骨架(8 节)
  1. 一、整体架构及执行流程
  2. 二、索引相关
  3. 三、事务与锁
  4. 四、性能调优相关
  5. 一、选择Redis的原因?为何快?
  6. 二、Redis持久化 ,淘汰,过期,雪崩穿透穿刺
  7. 三、哨兵主从集群
  8. 四、Redis常见的性能问题及解决方案?
目录 · 24 节

​

​

​

​

-- 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 列式存储

资料里没有你的场景?

把你手上的数据和想解决的那个环节发上来,我们按具体情况回,不复述方法论。

发布需求