分享

【MySQL】20个经典面试题,全部答对月薪10k+

 酒驾的酒瓶盖 2017-11-20

Part1:写在最前

2015年,很倒霉的一年。满心欢喜的从国企出来,进入互联网,本以为自己的技术还算可以,结果面试缕缕碰壁。原因说出来也不怕大家笑话,本人从不背什么面试题,一直属于想到哪就说到哪那种。也因为如此,楼主错过了一家比较不错的公司面试机会~


后来的面试期间,积累了不少面试题,下面我就拿出来,和大家分享下,希望能帮助大家找到满意的工作,有些题目是原题,有些是我认为一个优秀的DBA应该懂得的题目。



Part2:经典题目

1、MySQL的复制原理以及流程

基本原理流程,3个线程以及之间的关联;


2、MySQL中myisam与innodb的区别,至少5点

(1)、问5点不同;

(2)、innodb引擎的4大特性

(3)、2者selectcount(*)哪个更快,为什么


3、MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义

(1)、varchar与char的区别

(2)、varchar(50)中50的涵义

(3)、int(20)中20的涵义

(4)、mysql为什么这么设计


4、问了innodb的事务与日志的实现方式

(1)、有多少种日志;

(2)、事物的4种隔离级别

(3)、事务是如何通过日志来实现的,说得越深入越好。


5、问了MySQL binlog的几种日志录入格式以及区别

(1)、binlog的日志格式的种类和分别

(2)、适用场景;

(3)、结合第一个问题,每一种日志格式在复制中的优劣。


6、问了下MySQL数据库cpu飙升到500%的话他怎么处理?

(1)、没有经验的,可以不问;

(2)、有经验的,问他们的处理思路。


7、sql优化

(1)、explain出来的各种item的意义;

(2)、profile的意义以及使用场景;


8、备份计划,mysqldump以及xtranbackup的实现原理

(1)、备份计划;

(2)、备份恢复时间;

(3)、xtrabackup实现原理


9、mysqldump中备份出来的sql,如果我想sql文件中,一行只有一个insert....value()的话,怎么办?如果备份需要带上master的复制点信息怎么办?


10、500台db,在最快时间之内重启


11、innodb的读写参数优化

(1)、读取参数

(2)、写入参数;

(3)、与IO相关的参数;

(4)、缓存参数以及缓存的适用场景。


12、你是如何监控你们的数据库的?你们的慢日志都是怎么查询的?


13、你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做?


14、你们数据库是否支持emoji表情,如果不支持,如何操作?


15、你是如何维护数据库的数据字典的?


16、你们是否有开发规范,如果有,如何执行的


17、表中有大字段X(例如:text类型),且字段X不会经常更新,以读为为主,请问

(1)、您是选择拆成子表,还是继续放一起;

(2)、写出您这样选择的理由。


18、MySQL中InnoDB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的?

.

19、如何从mysqldump产生的全库备份中只恢复某一个库、某一张表?


开放性问题:据说是腾讯的

一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多