MySQL DBA 面试全揭秘

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

本文起源于有同学留言回复说想了解下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是否有所了解。

这些知识对一般的DBA可能不太重要,但想要成为资深DBA或数据库架构师的话,这些知识是必不可少的。

 

先啰嗦说这么多吧,希望对有志成为DBA的同学有些帮助,加油加油。 

关于MySQL的方方面面大家想了解什么,可以直接留言回复,我会从中选择一些热门话题进行分享。 同时希望大家多多转发,多一些阅读量是老叶继续努力分享的绝佳助力,谢谢大家 :)


本文来自云栖社区合作伙伴“Linux中国”,原文发布日期:2015-09-23  

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
存储 关系型数据库 MySQL
【Java面试题汇总】MySQL数据库篇(2023版)
聚簇索引和非聚簇索引、索引的底层数据结构、B树和B+树、MySQL为什么不用红黑树而用B+树、数据库引擎有哪些、InnoDB的MVCC、乐观锁和悲观锁、ACID、事务隔离级别、MySQL主从同步、MySQL调优
【Java面试题汇总】MySQL数据库篇(2023版)
|
1月前
|
SQL 存储 关系型数据库
复盘女朋友面试4个月的Mysql面试题(1万字)
该文章详细分析了Ribbon的超时配置是否会覆盖OpenFeign的超时配置,并探讨了OpenFeign超时配置能否动态实时修改生效的问题。
复盘女朋友面试4个月的Mysql面试题(1万字)
|
1月前
|
关系型数据库 MySQL Java
面试官:说说MySQL调优?
面试官:说说MySQL调优?
61 5
面试官:说说MySQL调优?
|
1月前
|
SQL 关系型数据库 MySQL
面试准备-MySQL
面试准备-MySQL
|
1月前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
1月前
|
算法 关系型数据库 MySQL
一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这篇文章是关于MySQL的面试题总结,包括索引结构的优劣、索引设计原则、MySQL锁的类型、执行计划的解读以及事务的基本特性和隔离级别。
|
29天前
|
存储 关系型数据库 MySQL
MySQL 常见面试题总结(上)
主要介绍 MYSQL 数据库面试中常见的面试问题。
16 0
|
29天前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
29天前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
29天前
|
Java
【Java基础面试三十七】、说一说Java的异常机制
这篇文章介绍了Java异常机制的三个主要方面:异常处理(使用try、catch、finally语句)、抛出异常(使用throw和throws关键字)、以及异常跟踪栈(异常传播和程序终止时的栈信息输出)。