2017.08.04爱可生电话面试笔记
来源:互联网 发布:手机淘宝2015旧版本5.5 编辑:程序博客网 时间:2024/06/03 13:25
A.自我介绍
B.针对简历提了几个问题:
1.复制的方式有哪些,及其各自的优缺点:
我的回答是:复制的方式有statement、row、mixed三种格式
statement是基于SQL语句的,在日志文件中记录的是执行的SQL语句,优点是可查看,产生的日志占用空间少,缺点是特殊情况下比如SQL语句中有rand(),now()之类的变化的函数,会使得slave的数据与master数据不一致。row是基于行的变更的,在日志文件中记录每一行的数据改变,优点是在rand()、now()等特殊情况下依然可以保证主从的一致性,缺点是一个SQL语句可能会改变表中的很多条记录,所以row格式会产生很大的binlog日志,占用更多的存储空间。miexd格式是混合statement和row格式,一般情况下以statement格式进行复制,特殊情况下以row格式进行复制。
2.gtid出现的原因,为什么要从基于position的主从复制转变为基于gtid的主从复制:
我的回答是:gtid即全局事务标识符,每个事务都和gtid一一对应,方便对事务的管理。之前基于position的主从复制在切换时change master to时需要指定主库当前的二进制日志文件和当前的position,而gtid不需要直到主库当前使用的二进制日志文件和position。
面试官说点到了但是没有答出核心,他说gtid出现的原因是主库故障的时候基于position的复制无法切换,而基于gtid的主从复制当主库故障的时候可以进行切换。(我不怎么明白。。)
3.mysql 5.7相对mysql5.6复制方面有哪些改进:
我不会所以就没有直接回答我不知道。
后来微信问他,他说:5.6基于并行复制,5.7基于组提交并行复制(group commit)
4.半同步的环境下一个事务如何进行:
我的回答是:首先一个事务在完成后,主库dump线程将日志中的事务的event发送到从库的IO线程,然后IO线程将事务的event放在relay log中,然后当任意一个从库接受到这个event就告知主库,主库就会commit事务。
面试官:大致答对了,但是有个点,是事务完成前,而不是事务完成后。
可能紧张了把所以zz了。。。。
大致如此,面试官还给我说让我尽量使用centos或者redhat,ubuntu在商业中很少用。其次面试官特别问到了数据库原理,问我们学校有没有开过相关课程,并说明了原理的重要性。
这次面试是我人生中的第一次面试,虽然是电话面试,但是也感受到面试官的和善,没想到最后说加微信的时候发现我们两个都在姜承尧大佬的IMG微信群里...虽然蛮紧张,但是自己面的还是不错的,基础掌握的还可以,期待8.8号上海的两轮爱可生的面试
B.针对简历提了几个问题:
1.复制的方式有哪些,及其各自的优缺点:
我的回答是:复制的方式有statement、row、mixed三种格式
statement是基于SQL语句的,在日志文件中记录的是执行的SQL语句,优点是可查看,产生的日志占用空间少,缺点是特殊情况下比如SQL语句中有rand(),now()之类的变化的函数,会使得slave的数据与master数据不一致。row是基于行的变更的,在日志文件中记录每一行的数据改变,优点是在rand()、now()等特殊情况下依然可以保证主从的一致性,缺点是一个SQL语句可能会改变表中的很多条记录,所以row格式会产生很大的binlog日志,占用更多的存储空间。miexd格式是混合statement和row格式,一般情况下以statement格式进行复制,特殊情况下以row格式进行复制。
2.gtid出现的原因,为什么要从基于position的主从复制转变为基于gtid的主从复制:
我的回答是:gtid即全局事务标识符,每个事务都和gtid一一对应,方便对事务的管理。之前基于position的主从复制在切换时change master to时需要指定主库当前的二进制日志文件和当前的position,而gtid不需要直到主库当前使用的二进制日志文件和position。
面试官说点到了但是没有答出核心,他说gtid出现的原因是主库故障的时候基于position的复制无法切换,而基于gtid的主从复制当主库故障的时候可以进行切换。(我不怎么明白。。)
3.mysql 5.7相对mysql5.6复制方面有哪些改进:
我不会所以就没有直接回答我不知道。
后来微信问他,他说:5.6基于并行复制,5.7基于组提交并行复制(group commit)
4.半同步的环境下一个事务如何进行:
我的回答是:首先一个事务在完成后,主库dump线程将日志中的事务的event发送到从库的IO线程,然后IO线程将事务的event放在relay log中,然后当任意一个从库接受到这个event就告知主库,主库就会commit事务。
面试官:大致答对了,但是有个点,是事务完成前,而不是事务完成后。
可能紧张了把所以zz了。。。。
大致如此,面试官还给我说让我尽量使用centos或者redhat,ubuntu在商业中很少用。其次面试官特别问到了数据库原理,问我们学校有没有开过相关课程,并说明了原理的重要性。
这次面试是我人生中的第一次面试,虽然是电话面试,但是也感受到面试官的和善,没想到最后说加微信的时候发现我们两个都在姜承尧大佬的IMG微信群里...虽然蛮紧张,但是自己面的还是不错的,基础掌握的还可以,期待8.8号上海的两轮爱可生的面试
给我一个平台,我能给你意想不到的满意。
阅读全文
0 0
- 2017.08.04爱可生电话面试笔记
- 阿里电话面试笔记
- 【面经笔记】深信服电话面试
- 【面经笔记】远景能源电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 电话面试
- 爱奇艺面试记录--电话面试
- hdu4548 美素数(C语言)
- 架构师入门笔记三 初识Queue队列
- 最短路径—Dijkstra算法和Floyd算法(理解)
- <a>标签的href和onclick属性
- libev源码解析——定时器原理
- 2017.08.04爱可生电话面试笔记
- tensorflow 实现wgan-gp mnist图片生成
- Windows下使用Redis(一)安装使用
- hdu 3486 Interviewe (二分+RMQ)
- 前端面试经典题目
- Miller_Rabin 算法进行素数测试 pollard_rho 算法进行质因数分解 poj1811Prim Test
- 根文件的制作与挂接
- AWS自动化合规slide
- 弱类型、强类型、动态类型、静态类型语言