一个专业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是否有所了解。
这些知识对一般的DBA可能不太重要,但想要成为资深DBA或数据库架构师的话,这些知识是必不可少的。
一个专业DBA应具备的技能的更多相关文章
- Linux运维工程师应具备哪些技能?
对于我们这些刚入门的运维小白来说,极强的好奇心总会驱使我们去涉猎各种技术,弄到最后很可能该学的知识半懵半解,知识体系混乱,学习毫无章法.因此,我们学习 时要有一个明确的目标和知识体系(也是我学习的 ...
- java工作三年应具备的技能
LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈.LZ认为一名程序员应该有几个阶段(以下时间都算上实习期). 第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段 ...
- 五年java工作应具备的技能
具有一到五年开发经验 需要学习内容很多 JVM/分布式/高并发/性能优化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty源码分析等等等 01.透彻理 ...
- JAVA软件工程师应该具备的技能有哪些?
前言:有朋友问我:学历和能力哪个重要?我个人觉得能力大于学历,没有能力哪来的学历,学历只是证明能力的一方面.为此在能力方面畅谈java软件工程师必备的能力.作为一名合格的java工程师,不仅需要学历, ...
- 工作了3年的JAVA程序员应该具备什么技能?(zhuan)
http://www.500d.me/article/5441.html **************************************** 来源:五百丁 作者:LZ2016-03-18 ...
- 工作了3年的JAVA程序员应该具备什么技能?(转)
工作了3年的JAVA程序员应该具备什么技能? 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发 ...
- 4-6年经验左右、优秀的 Java 程序员应该具备的技能
4-6年经验左右.优秀的 Java 程序员应该具备的技能有哪些,按“专业技能”和“项目”两块,包括但不限于以下内容. 专业节能方面 基础:JDK 常用类的原理.源码.使用场景. 设计模式:常用几种的原 ...
- 高级PHP工程师所应该具备一些技能
很多面试,很多人员能力要求都有"PHP高级工程师的字眼",如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师所应该具备的,希望给初级或已经达到中级的 ...
- AIOps背景/所应具备技术能力分析(上)
本文篇幅较长,分为上,中,下,三个部分进行连载.内容分别为:AIOps 背景/所应具备技术能力分析(上),AIOps 常见的误解(中),挑战及建议(下). 前言 我大概是 5,6 年前开始接触 ITO ...
- 一名3年工作经验的java程序员应该具备的技能
一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容.我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价.拿到的薪水势必也越高 ...
随机推荐
- [转]在Eclipse整合Maven3.6.3插件导入maven项目并编译时,控制台提示No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
近日有同事遇到在编译Maven项目时出现[ERROR] No compiler is provided in this environment. Perhaps you are running on ...
- 零基础快速入门WebRTC:基本概念、关键技术、与WebSocket的区别等
本文引用自Hussein Nasser的两个视频分享,原文内容由卢冰聪翻译整理,即时通讯网收录时有大量修订和重新排版. 1.内容概述 本文是专为学习开源实时音视频工程WebRTC的入门者编写的速成指南 ...
- 修改leds-gpio.c 让GPIO LED在kernel启动时就开始闪烁
内容提要: 客户需要在开机时就闪烁LED,并要求越快越好 diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c index ...
- 关于JetbrainsIDE升级到2024.2版本之后jetbra/ja-netfaliter激活失效不断弹窗的解决方案
1. 原因: jetbra/ja-netfaliter激活的原理是拦截并重定向与Jetbrains账号验证服务器的数据. 2024.2后jetbrains新的安装程序自带了三个区域语言包,其中若选择中 ...
- uwp 下载文件显示进度并解压文件
uwp 下载文件显示进度并解压文件. <Page x:Class="App4.MainPage" xmlns="http://schemas.microsoft.c ...
- RestTemplate 详解
RestTemplate 简介 RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求.POST 请求.PUT ...
- C 国家名字按字母顺序排序
问题 输入五个国家的名字,并按字母的顺序排列输出 分析 知识点 strcpy(1,2):将字符串2复制到字符数组1中 strcmp(1,2):比较字符串大小 二维数组 代码 #include & ...
- T480指纹识别支持
目标 通过指纹识别解锁slim-lock 环境 操作系统archlinux 桌面管理器slim 锁屏slimlock 硬件 Thinkpad T480 注: 指纹设备id, 06cb:009a 安装 ...
- Vmware共享文件夹安装设置方法(window与Linux使用共享文件夹)
Vmware共享文件夹安装设置方法 注意:如果按照了工具,设置了共享文件夹,Linux下面还是没有的话,可以运行下面的命令,就会加载共享文件夹了 vmhgfs-fuse .host:/ /mnt/hg ...
- ThreeJs-13效果合成与后期处理
一.合成效果原理与设置 什么是效果合成,就是可以把一些效果经过后期处理再放出来 原来的物体是直接通过render渲染出来,而现在则是经过一条render通道,可以处理也可以叠加处理后再放出来 首先正常 ...