继续来分享下最近的面经~欢迎友好讨论,信息共享一、 项目:分库分表与数据库查询1. 分库分表基础:你是怎么做分库?怎么分表的?2. 分片键选择:你是对什么取哈希的?(引出 Shop Number 和二级索引)3. 跨库跨表场景:分库分表以后,你要做一些跨库或跨表查的话是怎么查?二、 项目:深分页优化1. 深分页原理:你这里用书签记录法去规避这种深分页,这种是怎么做呀?2. 书签法使用前提:你这个查的是有序查的吗?三、 八股:MySQL1. MySQL 事务隔离级别有哪些?四、 项目:并发控制与中间件1. Lua 脚本动机:在这个红包系统里用了 Redis 的这种 Lua 脚本做增减,为什么用 Lua 脚本不用比如 Redis 自己自带的这些原子指令(比如 `INCR`/`DECR`)?2. Redis 分布式锁原理:在 Redis 里的分布式锁,它是大概是什么样的以及怎么用的?3. 分布式锁异常容灾(宕机场景):你这个分布式锁,比如我拿到了以后做处理,在做处理的过程中服务挂掉了(意外宕掉),这个时候怎么办?4. MQ 选型与演进:在这个红包系统里面用了RocketMQ,为什么会选择这种消息队列来去做推送?五、 八股:操作系统八股文1. 说一下线程、进程还有协程他们的一些区别概念。2. 多线程之间会共享哪些东西?六、 Agent 项目机制1. 大模型控制逻辑:在这个 AI Agent 里边有 thinking 阶段,你这个 thinking 阶段它怎么决定是调用工具还是直接回复?七、 手撕代码与 SQL 实战1. SQL 编写题:- 背景:有 `order`(订单表)和 `shop`(商家表)两张表。- 要求:查询每个商家的名称、品类,以及“已完成”订单的数量、金额,并按总金额降序排列。- 考点:`LEFT JOIN`(左连接)、`WHERE` 状态过滤、`GROUP BY` 分组聚合(`SUM`, `COUNT`)、`ORDER BY` 排序。2. 算法数据结构题:- 要求:用两个栈实现一个队列,并支持 `push`(入队)、`pop`(出队)、`peek`(查看队头)操作。- 进阶场景:在这个基础上,如果要求支持“删除中间元素”,该怎么做?