后端面试 30 道最高频必背题

后端面试 30 道必背高频题(精简答案版)

MySQL(8 道)

  1. **索引为什么用 B+树?**

有序、多叉、IO 少、范围查询快。

  1. **最左前缀原则?**

联合索引从左往右匹配,跳过左边索引失效。

  1. **事务 ACID?**

原子、一致、隔离、持久。

  1. **事务隔离级别?**

读未提交、读已提交(RC)、可重复读(RR)、串行化。

  1. **脏读 / 不可重复读 / 幻读?**

脏读:读到未提交数据

不可重复读:同一事务两次结果不同

幻读:范围查询多出记录

  1. **InnoDB 锁有哪些?**

行锁、表锁、意向锁、间隙锁。

  1. **慢查询怎么优化?**

开慢查询日志 → explain 分析 → 建索引 → 拆大 SQL → 拆长事务。

  1. **大分页 limit 100000,20 怎么优化?**

主键游标分页、延迟关联。


Redis(8 道)

  1. **Redis 为什么快?**

内存操作、单线程、IO 多路复用。

  1. **常用数据结构及场景?**

String/Hash/List/Set/ZSet:缓存、对象、队列、去重、排序。

  1. **缓存雪崩?**

大量 key 同时过期 → DB 压力暴增。

解决:随机过期、集群、缓存预热、降级。

  1. **缓存击穿?**

热点 key 过期。

解决:分布式锁、热点永不过期。

  1. **缓存穿透?**

查不存在的数据。

解决:空值缓存、布隆过滤器。

  1. **Redis 分布式锁怎么实现?**

SET NX EX + Lua 脚本,保证原子性。

  1. **缓存与数据库一致性?**

先更新数据库,再删除缓存。

  1. **Redis 持久化 RDB vs AOF?**

RDB:快照,快,可能丢数据

AOF:日志,安全,文件大


高并发 / 分布式(7 道)

  1. **高并发如何保证系统稳定?**

限流 → 熔断降级 → MQ 削峰 → 缓存 → DB 优化 → 监控扩容。

  1. **限流算法?**

令牌桶(允许突发)、漏桶(匀速)。

  1. **熔断和降级?**

熔断:失败率高停止调用

降级:关掉非核心保核心

  1. **什么是接口幂等?如何实现?**

重复调用结果不变。

唯一ID、去重表、状态机、Redis 防重。

  1. **分布式 ID 方案?**

雪花算法、号段、UUID。

  1. **如何防止库存超卖?**

MySQL 行锁、Redis 预扣、分布式锁。

  1. **线上接口很慢怎么排查?**

日志 → Redis 命中率 → MySQL 慢查询/锁 → MQ 堆积 → 服务器。


MQ(4 道)

  1. **为什么用 MQ?**

异步、解耦、削峰。

  1. **消息丢失如何解决?**

生产者确认 + 消息持久化 + 消费者手动 ACK。

  1. **消息重复消费?**

唯一ID 幂等去重。

  1. **消息堆积怎么办?**

扩容消费者、优化消费逻辑、死信队列。


计算机基础 & 场景题(3 道)

  1. **HTTP 和 HTTPS 区别?**

HTTPS 加密、认证、防篡改。

  1. **GET 和 POST 区别?**

GET 查询、幂等、参数在URL;POST 提交、非幂等、更安全。

  1. **你项目中最难的问题?**

高并发下**锁等待、接口超时、数据不一致**。

方案:索引优化 + 分布式锁 + MQ + 限流熔断。


相关推荐
花间相见1 分钟前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain
敲代码的嘎仔4 分钟前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂
kyriewen17 分钟前
面试官让我用 AI 重构一个 8 年陈的 React 组件——他说他不看代码,只看我会不会拆
前端·javascript·面试
这个DBA有点耶19 分钟前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
青春之我_XP20 分钟前
MySQL 常用日期函数 实战指南
数据库·sql·mysql·数据分析·数据库开发·日期函数
Nturmoils20 分钟前
sys_dump 备了库,角色和权限别漏在外面
数据库
接着奏乐接着舞。38 分钟前
【2026】73道Redis 常见面试题与参考答案
数据库·redis·后端·缓存
黄敬峰1 小时前
一文搞懂 Agent Memory 管理:从临时记忆到长期记忆
面试
程序员黎剑1 小时前
Spring-Bean生命周期-构造器访问Autowired字段为null
java·后端·spring
sakiko_2 小时前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift