面试真题

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

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

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

按难度

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

技术岗 · 分类:数据库114 道 · 点击进入查看参考答案

简单数据库
MySQL查询一条数据的过程
查询过程:Server层经分析优化后,执行器调用存储引擎接口;若条件含主键,InnoDB从聚簇索引B+树根向下搜索叶子得整行;用二级索引则查到主键再回表;无索引则全表扫描。引擎先查Buffer Pool,命中直接返回,否…
🎤 百度
简单数据库
MySQL事务与事务隔离级别
结论:事务是保证一组SQL要么全做要么不做的机制,隔离级别控制并发读写可见性。核心要点:ACID特性——原子性靠undo log回滚,持久性靠redo log,隔离性靠锁与MVCC,一致性为最终目标;四种隔离级别:读未提…
🎤 百度
简单数据库
MySQL数据表导入的方式迁移数据
结论:MySQL迁移数据表主要有逻辑导入导出与物理迁移两类。核心方式:1.mysqldump导出SQL文件,目标库source执行,兼容性好但慢;2.LOAD DATA INFILE从文本文件高速导入,需设local或服…
🎤 百度
简单数据库
MySQL与Redis的差别
结论:MySQL是关系型持久化数据库,Redis是内存型键值缓存,二者定位与原理差异大。核心差别:1.存储媒介:MySQL数据落盘,支持ACID事务与SQL;Redis主要存内存,支持RDB/AOF持久化但非强一致;2.…
🎤 百度
简单数据库
Redis 持久化方案?
结论:Redis持久化方案主要为RDB和AOF,可混合使用。核心要点:RDB(快照)通过fork子进程定时保存内存二进制快照,文件小、恢复快,但可能丢失最后一次快照后数据;AOF(日志)记录所有写命令,支持always/…
🎤 腾讯
简单数据库
Redis 持久化方式?
结论:Redis持久化方式有两种:RDB和AOF。原理:RDB是某时刻数据集的二进制压缩文件,通过save(阻塞)或bgsave(后台fork)生成,适合备份;AOF以日志形式追加写命令,通过fsync策略控制持久化时机…
🎤 腾讯
简单数据库
Redis 持久化方式有哪些?
结论:Redis持久化方式包括RDB、AOF及混合持久化。核心要点:RDB快照式持久化,定时全量保存,成本低但可能丢数据;AOF增量日志记录写操作,数据完整但文件膨胀;混合持久化在AOF重写时融合RDB头与AOF尾,提升…
🎤 腾讯
简单数据库
Redis 用途有哪些?
结论:Redis用途广泛,核心作为高性能键值存储。主要用途:1.缓存(热点数据加速,降低数据库负载);2.会话存储(分布式Session共享);3.排行榜/计数器(zset实现实时排名,incr计数);4.消息队列(li…
🎤 京东
简单数据库
Redis SETNX与SET NX 的区别
结论:SETNX是独立命令仅做存在则设值,SET NX是SET命令的选项可原子附带过期等参数。区别:1.SETNX key value:key不存在时设值,返回1/0,无法同时设过期,需额外EXPIRE;2.SET ke…
🎤 字节跳动
简单数据库
Redis持久化aof和rdb的区别?
结论:RDB是快照持久化,AOF是命令日志持久化;RDB恢复快、文件小但可能丢数据,AOF数据安全、文件大但恢复慢。核心要点:RDB通过fork子进程定时保存内存二进制快照,配置save点触发;AOF记录所有写命令,支持…
🎤 百度
简单数据库
Redis的内存淘汰策略有哪些?
结论:Redis内存淘汰策略包括noeviction(不淘汰,写报错);volatile-lru/allkeys-lru(LRU删最近最少用);volatile-lfu/allkeys-lfu(LFU删最不常访问);vo…
🎤 阿里巴巴
简单数据库
Redis与MySQL的应用场景
结论:Redis适合高并发、低延迟、可丢失或非持久化热数据;MySQL适合持久化、事务、复杂关系数据。要点:Redis内存存储,读写毫秒级,用于缓存、会话、计数器、消息队列、排行榜,不支持复杂查询和强事务;MySQL磁盘…
🎤 小鹏汽车
简单数据库
Redis为什么是单线程?为什么这么快?
结论:Redis采用单线程处理命令以避免锁竞争,其高性能源于内存操作与IO多路复用;单线程原因:CPU非瓶颈,单线程模型简单无需同步,避免上下文切换;快的原因:1)数据存内存,纳秒级访问;2)基于epoll的IO多路复用…
🎤 腾讯
简单数据库
Setnx 实现分布式锁
结论:利用Redis的SETNX(或SET NX)命令实现分布式锁,需注意原子性设置过期与释放。核心要点:1)加锁:SET key uniqueValue NX EX seconds,原子地设置不存在的键并带超时,避免死…
🎤 网易
简单数据库
SQL语句求每个班级大于18的人数
结论:按班级分组并统计年龄大于18的人数,使用GROUP BY与WHERE过滤后COUNT。核心要点:1. WHERE在分组前筛选掉age<=18的行;2. GROUP BY class_id分组;3. COUNT聚合求…
🎤 度小满
简单数据库
Undo Log 的作用?
结论:Undo Log(回滚日志)用于保证事务原子性和实现MVCC。核心要点:事务修改前记录数据旧值到undo log;事务回滚时按undo log反向操作恢复数据;用于MVCC读请求通过undo log构建历史版本实现…
🎤 阿里巴巴
简单数据库
Zset 设计每日分数排行榜
结论:利用Redis Zset按日期建Key实现每日排行榜。核心要点:1.Key设计:使用rank:daily:{yyyyMMdd}区分每一天;2.分数更新:ZINCRBY key increment member累加用…
🎤 网易
简单数据库
MySQL 的使用场景?说说你的使用经验?
结论:MySQL 适合 OLTP 型关系数据、强一致事务场景。使用经验可从四方面答:1.场景:用户、订单、交易等结构化数据,读多写少或均衡,千级 TPS 内;2.表设计:遵循三范式,适度反范式冗余;用自增主键聚簇索引;3…
🎤 京东
中等数据库
10万条数据分页查询优化方案
结论:避免LIMIT大偏移,改用索引覆盖和游标分页。核心要点:原SQL SELECT * FROM t LIMIT 100000,10会扫描10万行再丢,慢;优化1:子查询定位主键 SELECT * FROM t WHE…
🎤 字节跳动
中等数据库
非聚簇索引为什么要回表?
非聚簇索引(二级索引)的叶子节点不存储完整行数据,仅存储索引列的值和对应的主键(或行指针)。当查询语句所请求的列不能完全由非聚簇索引覆盖时,数据库必须利用叶子中的主键,再去聚簇索引(主键索引,叶子含整行数据)中查找完整记…
🎤 腾讯
题目整理自公开面经,答案由校招宝自研生成,仅供参考