[转]MySQL DBA面试全揭秘
本文起源于有同学留言回复说想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧。
MySQL
DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,也有很多公司找不到合适的DBA。原因很简单,优秀的人才要么被大公司圈起来了,要么被创业公司高薪挖走,如果你既不是大公司,又不能出得起高价钱的土豪公司,想要找到优秀人才的几率堪比买彩票中奖的概率,哈哈。
本文可以作为MySQL DBA面试官,以及候选人的双向参考 :)
面试流程
接下来先说下我以往在做MySQL DBA面试时的过程(套路):
1.先自我介绍后,再让候选人花2-5分钟做下自我简介
- 有不少人可能对自我简介这个环节嗤之以鼻,觉得多此一举,尤其是技术能力相对较好的更是如此。其实不然,通过短短2-5分钟的自我简介,很快就能考察出候选人是否有用心准备本次面试,其归纳总结能力,以及个人自信心等多方面信息。
- 因此,如果候选人看中这次面试机会的话,还请好好做下功课,做足准备。比如了解下目标公司的大致情况,主营业务,产品特色。可能的话,找同行打听可能的面试官背景信息,没准是校友、以前在同一家公司呆过、或者有其他共同点,这可能会使得面试过程更为顺利。
- 有心的候选人在面试官自我介绍时,就可以趁机也考察对方的情况。通常第一轮面试官很可能是你未来的直接主管,从面试过程中你和对方的沟通交流是否顺利也可预见到未来工作上配合的顺利程度。
2.暖身完,就开始进入主题,从候选人的简历入手,挑选其中感兴趣的关键点逐条交流,有几个要点:
- 和应聘职位关联性较高的技术要素,需要逐个过一遍,大致了解候选人对于这些技术要素的掌握程度;
- 挑选2-3个技术关键点,对候选人穷追猛打深入探讨,了解其真正的掌握程度,是泛泛的了解,还是知其所以然的那种,由此也可以考察候选人的学习方法、心态,是随波逐流抑或专精专注。
- 候选人每次跳槽经历也需要关注,究竟何种原因导致跳槽,每次跳槽是否其职业层次也跟着提高。由此考擦候选人的职业规划是否清晰,是否过于随性(任性)。否则的话,可能在下一家公司也待不了多久就会因为各种原因(最常见的就是薪资、或者对主管不服气)而跳槽。
- 候选人简历中特意提及的重点项目、事件、荣誉,也可以做深入的交流。
3.重点技术要素考察完毕,可以聊聊职业发展等其他方面的话题,比如
- 为什么选择我司;
- 如果还有其他公司的机会,如何权衡选择哪个offer,最主要的判断标准是什么;
- 期望什么样的工作环境,团队环境,以及哪种风格的主管;
- 对什么事情最在乎,或最不在乎;
- 除了薪资福利,对公司、工作的期望是怎样的。
专业技术考察
具体到技术实力考查上,通常可以关注几个要点:
基础知识考察
- 基础知识,尤其是一些理论知识,例如:
- MySQL有哪些索引类型,这是个半开放式命题;
- 从数据结构角度可分为B+树索引、哈希索引、以及不常用的FULLTEXT索引(现在MyISAM和InnoDB引擎都支持了)和R-Tree索引(用于对GIS数据类型创建SPATIAL索引);
- 从物理存储角度可分为聚集索引
(clustered index)
、非聚集索引(non-clustered index)
; - 从逻辑角度可分为主键索引、普通索引,或者单列索引、多列索引、唯一索引、非唯一索引等等。需要掌握这些不同概念之间的区别,例如
主键索引和唯一索引的区别是什么
。
- 为什么InnoDB表最好要有自增列做主键;
- 为什么需要设置双1才能保证主从数据的一致性;
- 有几种binlog格式*,及其区别是什么;
- 如何确认MySQL replication真正的复制延迟是多少;
- 有过哪些印象深刻的实践经验。
通过考察候选人的基础知识掌握程度,可侧面反映候选人对学习的态度,是否仅浅层面的了解。
核心技术能力考察
- 核心关键技术能力,例如:
- 怎么做的MySQL备份恢复方案及策略,为什么那么做,用什么工具;
- MySQL主从复制的具体原理是什么,实际使用过程中,遇到过哪些坑,怎么解决的;
- 对一个大表做在线DDL,怎么进行实施的才能尽可能降低影响;
- MyISAM和InnoDB都有哪些不同之处;
- InnoDB的体系结构是否能讲的清楚,至少说出个大概;
- 假设现在服务器负载很高,都有哪些性能问题排查思路,以及优化的方案;
- 什么是死锁,什么是锁等待,如何优化;
- 关于MySQL及InnoDB优化,讲讲自己的见解或者实践经验;
- 如何确定及实施MySQL高可用方案,不同方案的优缺点对比;
- 一定规模的MySQL自动化运维经验如何;
- 在SCHEMA设计方面的经验如何;
- 基于MySQL所做过的一些数据库架构方案设计、实施经验。
通过考察候选人对这些核心关键技术的掌握程度,可知晓候选人对深层次知识的掌握情况,除了实践,理论方面掌握了多少。
潜力考察
- 发展潜力以及学习能力,例如:
- 对Linux的掌握程度,以及
Shell
、Python
、Perl
等常用运维开发语言的掌握程度; - 对服务器硬件设备,存储设备的了解程度;
- 对信息安全,网络知识的了解程度;
- 其他语言,例如
C
、C++
、JAVA
、PHP
、GO
是否有所了解。
- 对Linux的掌握程度,以及
这些知识对一般的DBA可能不太重要,但想要成为资深DBA或数据库架构师的话,这些知识是必不可少的。
先啰嗦说这么多吧,希望对有志成为DBA的同学有些帮助,加油加油↖(^ω^)↗
[转]MySQL DBA面试全揭秘的更多相关文章
- MySQL DBA面试全揭秘
来源:http://ourmysql.com/archives/1426 本文起源于有同学留言回复说想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧. MySQL DBA ...
- Mysql性能优化全揭秘-庖丁解牛
「为什么写」 一直想写数据库相关的文章,最直接的原因是数据库这块我们工作中每天都会用到,也是面试求职绕不开的话题,无论你是何种测试,优秀的数据库能力都会非常加分,最近我在总结数据库性能优化这块内容,性 ...
- 【转】MYSQL DBA知识了解-面试准备
http://www.itpub.net/forum.php?mod=viewthread&tid=1825849 公司招聘MySQL DBA,也面试了10个2年MySQL DBA工作经验的朋 ...
- 《Java面试全解析》505道面试题详解
<Java面试全解析>是我在 GitChat 发布的一门电子书,全书总共有 15 万字和 505 道 Java 面试题解析,目前来说应该是最实用和最全的 Java 面试题解析了. 我本人是 ...
- 《Java面试全解析》1000道面试题大全详解(转)
<Java面试全解析>1000道 面试题大全详解 本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏,因为自己家庭的原因,放弃 ...
- 我心中的MySQL DBA
原文网址链接:http://wangwei007.blog.51cto.com/68019/1718311 MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Interne ...
- MySQL DBA修炼秘籍
0.导读 本文主要写给那些立志成为MySQL DBA,以及正在学习MySQL的同行们,结合个人及业内其他同行的职业发展经历给大家一些参考,如何成为合格的MySQL DBA. 1.什么是MySQL DB ...
- 阿里巴巴MySQL DBA面试题答案[转]
无意中看到阿里巴巴的面试题,,借此回首DBMS时刻趁热打铁巩固一下基础 拿到题目大概浏览了一遍难度大概在中上游水平,自己跪了接近35%的题目 自己答题如下,欢迎大家讨论分析题 1 2 3 4 5 6 ...
- MySQL基础----py全栈
目录 MySQL基础----py全栈 一.引言 1.什么是数据? 2.什么是数据库(DB)? 3.什么是数据库管理系统(DBMS)? 4.什么是数据库系统? 5.数据库管理系统由来 6.什么是数据模型 ...
随机推荐
- kaggle预测
两个预测kaggle比赛 一 .https://www.kaggle.com/c/web-traffic-time-series-forecasting/overview Arthur Suilin• ...
- 【图片识别】java 图片文字识别 ocr (转)
http://www.cnblogs.com/inkflower/p/6642264.html 最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为 ...
- mac 安装 RabbitMQ
https://blog.csdn.net/u010046908/article/details/54773323
- maven 下载源码downloadsources
mvn eclipse:eclipse -Ddownloadsources=true -Ddownloadjavadocs=true
- VS2015 之 多行缩进
VS2015工具栏缺少“多行缩进工具”,经查阅资料总结如下: 首先,选中需要缩进的行代码: 1.增大缩进:“Tab”键 2.减小缩进:“Shift”键 + “Tab”键
- MySql【Insert Select Not Exist】判断记录再添加值的方案
INSERT INTO content ( detail, status, beginTime, endTime) SELECT @detail, , NULL, NULL FROM DUAL WHE ...
- POSTGRESQL表分区
最近发现POSTGRESQL的一张表(下面统称为test表)达到67G大小,不得不进行重新分区,下面记录一下步骤: 前言.查看数据表结构(表结构肯定是虚构的) CREATE TABLE test ( ...
- Vim 中如何去掉 ^M 字符
基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行,即win每行结尾为\r\n,而linux只有一个\n如果win下的文档上传到l ...
- Echart 仪表盘和柱形图
我们来分布讲解: 1.首先编一写一个html,如下: <html> <body class=""> <div class="containe ...
- Android 内存泄漏总结(转)
Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题.内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却 ...