MySQL访谈问题
我被要求筛选一些MySQL DBA/开发人员职位的候选人,以获得需要企业级技能集的职位 我自己也是一个SQL Server的人,所以我知道从这个角度来看,在可伸缩性/设计等方面我需要什么,但是关于MySQL,我有什么具体的问题要问吗 理想情况下,我想向他们询问MySQL的企业级功能,这些功能通常只在处理大型数据库时使用。需要将企业开发者从家庭/小型网站中分离出来MySQL访谈问题,mysql,Mysql,我被要求筛选一些MySQL DBA/开发人员职位的候选人,以获得需要企业级技能集的职位 我自己也是一个SQL Server的人,所以我知道从这个角度来看,在可伸缩性/设计等方面我需要什么,但是关于MySQL,我有什么具体的问题要问吗 理想情况下,我想向他们询问MySQL的企业级功能,这些功能通常只在处理大型数据库时使用。需要将企业开发者从家庭/小型网站中分离出来 谢谢。我认为这取决于数据库类型:事务型还是数据仓库 无论如何,对于MySQL复制和集群的所有类型,我都会询问性能调优和监视概念。我会询
谢谢。我认为这取决于数据库类型:事务型还是数据仓库
无论如何,对于MySQL复制和集群的所有类型,我都会询问性能调优和监视概念。我会询问各种存储引擎之间的差异,以及它们的优缺点 挑战性地介绍复制,并深入研究复制的缺点,特别是在使用具有自动增量键的表时
如果他们仍然支持您,请询问复制延迟、它的影响以及监控它的标准模式。尽管SQL Server和MySQL都是RDBMs,但MySQL有许多独特的功能,可以说明新手和专家之间的区别 您的第一步应该是确保候选者能够熟练地使用命令行,而不仅仅是像phpMyAdmin这样的GUI工具。在面试期间,试着让应聘者编写MySQL代码来创建数据库表或添加新索引。这些是非常基本的查询,但恰恰是GUI工具阻止新手掌握的类型。您可以与更熟悉MySQL的人再次核对答案 应征者能否证明自己了解联接的工作原理?例如,尝试要求候选人构造一个查询,返回表1中表2中不存在匹配项的所有行。答案应该包括一个左连接 请学员讨论备份策略,以及每个策略的各种优缺点。应聘者应该知道,除非所有表都是MyISAM,否则直接备份数据库文件不是一种有效的策略。候选人应该明确提到mysqldump是备份的基石。更复杂的备份解决方案包括ibbackup/innobackup和LVM快照。理想情况下,学员还应该讨论备份如何影响性能(一个常见的解决方案是使用从属服务器进行备份) 应聘者是否具有复制方面的经验?有哪些常见的复制配置以及每种配置的各种优点?最常见的设置是主从式,允许应用程序将选择查询卸载到从属服务器,同时使用从属服务器进行备份以防止主服务器上出现性能问题。另一种常见的设置是master,其主要优点是能够在不影响性能的情况下更改模式。确保应试者讨论了一些常见问题,如克隆从属服务器()、使用负载平衡器或MySQL代理进行负载分配、将较大的查询分解成块,以及如何将从属服务器升级为新的主服务器 候选人将如何解决性能问题?他们是否有足够的基础操作系统和硬件知识来诊断瓶颈是CPU限制、IO限制还是网络限制?他们能否演示如何使用来发现索引问题?他们是否提到慢速查询日志或配置选项,如键缓冲区、tmp表大小、innodb缓冲池大小等 应聘者是否欣赏每个存储引擎的精妙之处?(MyISAM、InnoDB和内存是主要的)。他们是否了解每个存储引擎如何优化查询,以及如何处理锁定?至少,候选人应该提到MyISAM发出表级锁,而InnODB使用行级锁 对实时数据库进行模式更改最安全的方法是什么?候选者应该提到主复制,以及通过创建具有所需配置的新表并使用mysqldump或INSERT-INTO避免altertable的锁定和性能问题。。。选择,然后重命名表格
最后,专业人士的唯一真正衡量标准是经验。如果候选人不能指出在高可用性环境中管理大型数据集的具体经验,他们可能无法从纯智力层面上备份他们拥有的任何知识。这将是一个事务数据库。有什么我期待听到的MySQL特性吗?我在这里写了一些: