面试真题

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

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

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

按难度

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

分类:数据库 · 企业:腾讯32 道 · 点击进入查看参考答案

中等数据库
MySQL 索引结构?
MySQL InnoDB引擎主要使用B+树作为索引结构。核心原理:B+树是一种多路平衡查找树,非叶子节点仅存索引键用于导航,叶子节点存储数据(聚簇索引)或主键(二级索引),且叶子间有双向指针便于范围扫描。对比B树:B树非…
🎤 腾讯
中等数据库
MySQL 主从同步原理
主从同步核心:主库将变更以binlog记录,从库通过IO线程拷贝为relay log,SQL线程重放。原理细节:binlog有statement/row/mixed格式,row最安全;同步位点由文件名+position标…
🎤 腾讯
中等数据库
MySQL事务隔离级别是如何实现的?
结论:MySQL InnoDB通过MVCC多版本并发控制与锁机制实现四种隔离级别。核心要点:1.读未提交:不加锁直接读最新数据,可能脏读;2.读已提交:每次查询生成ReadView,仅看已提交版本,解决脏读;3.可重复读…
🎤 腾讯
中等数据库
Redis - MySQL 一致性方案
结论:常用Cache Aside(旁路缓存)模式保证最终一致:写时更新MySQL后删除Redis缓存;读时缓存未命中查DB并回写。核心要点:1. 写策略:先删缓存再更新DB,或更新DB后删缓存(推荐),配合延迟双删降低脏…
🎤 腾讯
中等数据库
Redis 的 key 已写入,但消费者宕机了怎么办?
结论:取决于Redis使用的数据结构;若用List或Stream则消息不丢,Pub/Sub会丢。要点:1) List队列(LPUSH/BRPOP),key已写入则消息存于内存列表中,消费者宕机重启后可继续弹出,但需防止超…
🎤 腾讯
中等数据库
Redis 缓存雪崩是什么?怎么解决?
缓存雪崩指大量缓存同时过期或Redis不可用,请求全打数据库致宕机。解决:1.过期时间加随机值(如30分+随机秒)错开失效;2.Redis用Sentinel或Cluster保证高可用;3.服务限流降级返回默认;4.后台定…
🎤 腾讯
中等数据库
Redis MySQL数据一致性
结论:Redis与MySQL一致性常用Cache Aside Pattern(旁路缓存)。要点:1.写操作:先更新数据库,再删除缓存(或延迟双删);2.读操作:先读缓存,未命中读DB并回写缓存;3.防并发脏数据:缓存设过…
🎤 腾讯
中等数据库
redis的两种发布订阅的实现
结论:Redis发布订阅有两种典型实现:1) 原生PUB/SUB(含频道与模式订阅),基于字典维护订阅链表,消息实时推送但不持久化;2) 基于List或Stream模拟的消息队列式发布订阅,如LPUSH+BLPOP或XA…
🎤 腾讯
中等数据库
缓存雪崩 / 穿透 / 击穿
结论:雪崩指大量key同时失效或缓存宕机压垮DB;穿透指查不存在数据绕过缓存;击穿指热点key失效瞬间高并发打DB。解决:雪崩用过期加随机、集群高可用、限流;穿透用布隆过滤器、缓存空对象短TTL;击穿用互斥锁或逻辑过期。…
🎤 腾讯
中等数据库
MVCC 是什么?
结论:MVCC(多版本并发控制)是数据库通过数据多版本实现非锁定读、提升并发的机制。原理:每行记录附隐藏事务ID与回滚指针,修改时生成新版本链(依托 undo log)。读事务依据隔离级别建 ReadView,只读取提交…
🎤 腾讯
困难数据库
跳表怎么做并发的?以RocksDB为例阐述
结论:跳表并发多采用无锁或细粒度锁,RocksDB跳表读无锁、写用原子操作+内存屏障,允许并发读和单写或有限并发写。原理:RocksDB MemTable跳表实现中,查询完全无锁遍历;插入时,从底向上插入,使用std::…
🎤 腾讯
困难数据库
Redis 和 MySQL 如何保证一致性?
常用Cache Aside Pattern(旁路缓存)保证最终一致:读先缓存未命中读库回写;写先更新MySQL再删Redis缓存(而非更新缓存,避免脏数据)。问题:删缓存失败或并发读写不一致。解决:1.延迟双删(更新库-…
🎤 腾讯
‹ 上一页第 2 / 2 页
题目整理自公开面经,答案由校招宝自研生成,仅供参考