面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
468 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

难度:中等468 道 · 点击进入查看参考答案

中等数据库
MySQL如何排查慢SQL?
核心要点:开启慢查询日志定位,结合EXPLAIN分析执行计划。步骤:1. 开启慢日志:set global slow_query_log=1; long_query_time=1; 2. 通过mysqldumpslow或…
🎤 阿里巴巴
中等数据库
MySQL 一条语句的执行流程?为什么要写 Redo Log?不能直接写 B+ 树吗?
执行流程:连接器认证权限→查询缓存(8.0移除)→分析器词法语法→优化器选索引→执行器调引擎→存储引擎查B+树返回。写Redo Log原因:InnoDB采用WAL(写前日志),Redo Log是物理日志循环写,顺序IO快…
🎤 阿里巴巴
中等数据库
MySQL 主从复制怎么实现的?
基于binlog实现:主库开启log-bin,事务提交写binlog;从库配置主库地址,IO线程连主库dump线程拉取binlog事件存到本地relay log;SQL线程读取relay log并执行。支持异步复制(默认…
🎤 百度
中等数据库
MySQL 主从同步原理
主从同步核心:主库将变更以binlog记录,从库通过IO线程拷贝为relay log,SQL线程重放。原理细节:binlog有statement/row/mixed格式,row最安全;同步位点由文件名+position标…
🎤 腾讯
中等数据库
MySQL事务隔离级别是如何实现的?
结论:MySQL InnoDB通过MVCC多版本并发控制与锁机制实现四种隔离级别。核心要点:1.读未提交:不加锁直接读最新数据,可能脏读;2.读已提交:每次查询生成ReadView,仅看已提交版本,解决脏读;3.可重复读…
🎤 腾讯
中等数据库
MySQL是怎么执行一条SQL语句的?
结论:MySQL执行SQL分三层:连接层、服务层、存储引擎层。流程:1.连接器建立连接并校验权限;2.查询缓存(8.0已删)命中直接返回;3.分析器做词法语法解析生成解析树;4.优化器选执行计划,如用哪个索引、join顺…
🎤 阿里巴巴
中等数据库
MySQL数据落盘流程
结论:MySQL数据落盘遵循WAL(写前日志),由InnoDB的redo log、binlog及buffer pool协同。流程:1.数据页读入buffer pool,修改在内存;2.写redo log(物理逻辑日志)到…
🎤 百度
中等数据库
MySQL索引机制与回表时机
结论:MySQL索引用于加速查询,回表指通过二级索引找到主键后再查聚簇索引获取整行数据的过程。核心要点:1.索引机制:InnoDB默认B+树,主键索引(聚簇)叶子节点存完整行数据,二级索引叶子存主键值;2.回表时机:当查…
🎤 百度
中等数据库
MySQL索引优化知道哪些?
结论:MySQL索引优化核心在于减少扫描行数、避免索引失效、利用覆盖索引。主要方法:1.遵循最左前缀原则:联合索引(a,b,c)仅当查询条件含a或a,b等前缀时才生效,跳过a直接用b则失效;2.禁止对索引列进行函数运算或…
🎤 阿里巴巴
中等数据库
MySQL为什么采用B+树存储?
结论:MySQL采用B+树因其磁盘友好、查询高效且支持范围扫描,优于二叉树、哈希、B树。原理:1.多叉平衡树:一个节点可存多个键值,树高度低(千万数据仅需3-4层),减少磁盘IO次数;2.叶子节点双向链表:所有数据记录在…
🎤 阿里巴巴
中等数据库
MySQL为什么发生死锁,如何解决?
结论:死锁由两个及以上事务循环等待对方持有的锁导致,MySQL会自动检测并回滚。原因:事务A持有资源1锁请求资源2,事务B持有资源2锁请求资源1,互相等待。解决与预防:1.统一资源访问顺序(如按主键ID升序更新),破坏循…
🎤 阿里巴巴
中等数据库
Mysql中隔离级别 怎么解决幻读
结论:InnoDB在可重复读(RR)级别通过MVCC快照读和Next-Key Lock当前读解决幻读;串行化通过完全加锁解决。原理:幻读指同一事务内多次范围查询因其他事务插入新行导致结果集变化。RR下,普通SELECT为…
🎤 百度
中等数据库
Mysql中四大特性, 原子性是怎么实现的,持久性是什么实现的
结论:MySQL四大特性为ACID;原子性由undo log实现,持久性由redo log实现。原理:原子性指事务要么全做要么全不做,InnoDB在事务修改前记录undo log(逻辑日志,记录反向操作),回滚时按und…
🎤 百度
中等数据库
Redis - MySQL 一致性方案
结论:常用Cache Aside(旁路缓存)模式保证最终一致:写时更新MySQL后删除Redis缓存;读时缓存未命中查DB并回写。核心要点:1. 写策略:先删缓存再更新DB,或更新DB后删缓存(推荐),配合延迟双删降低脏…
🎤 腾讯
中等数据库
Redis 的 key 已写入,但消费者宕机了怎么办?
结论:取决于Redis使用的数据结构;若用List或Stream则消息不丢,Pub/Sub会丢。要点:1) List队列(LPUSH/BRPOP),key已写入则消息存于内存列表中,消费者宕机重启后可继续弹出,但需防止超…
🎤 腾讯
中等数据库
Redis 的分布式锁和 Zookeeper 的分布式锁的区别
结论:Redis锁基于内存AP系统,高性能但一致性较弱;Zk锁基于临时顺序节点CP系统,强一致但性能较低。核心差异:1) 实现:Redis用SETNX或Redlock算法加锁,需设置过期时间防死锁;Zk创建临时顺序节点,…
🎤 闪送
中等数据库
Redis 的数据结构有哪些?底层是什么?
核心数据结构:字符串(string)、列表(list)、哈希(hash)、集合(set)、有序集合(zset),以及位图、HyperLogLog、Stream等。底层实现:1.string用SDS(简单动态字符串),支持…
🎤 京东
中等数据库
Redis 分布式锁相关场景及更好方案
分布式锁用于多进程并发控制,如库存扣减、防重复提交;Redis基础方案用SET key value NX PX 实现,值用唯一标识,释放锁用Lua脚本校验避免误删。问题:锁超时业务未完、客户端阻塞导致误删。更好方案:1.…
🎤 百度
中等数据库
Redis 缓存三兄弟
缓存三兄弟指缓存穿透、击穿、雪崩。穿透:查询不存在数据导致直击DB,方案:布隆过滤器拦截非法key、缓存空对象设短TTL;击穿:热点key过期瞬间高并发请求到DB,方案:互斥锁(Redis锁)单线程重建、或逻辑过期时间异…
🎤 网易
中等数据库
Redis 缓存雪崩是什么?怎么解决?
缓存雪崩指大量缓存同时过期或Redis不可用,请求全打数据库致宕机。解决:1.过期时间加随机值(如30分+随机秒)错开失效;2.Redis用Sentinel或Cluster保证高可用;3.服务限流降级返回默认;4.后台定…
🎤 腾讯
题目整理自公开面经,答案由校招宝自研生成,仅供参考