|
【IT168 评论】自动化运维时代,最先受到影响的就是DBA。传统意义上,这类工程师是一个要求较高但在整个IT体系中所获认可度不高的角色。在大多数人的认知中,DBA的工作基本相当于消防员,哪里有火就灭哪里,每天的大部分时间都用在基础运维和系统修复上,没有精力关注更有价值的事情,DBA应该如何成长呢?AI时代,DBA的生存模式应该如何转变呢?
本文总结了部分一线互联网公司对DBA的面试要求,希望对所有DBA的职场进阶有所帮助。(注:以下所列面试题并不特指Oracle DBA或者MySQL DBA) 百度 百度数据库管理员面试共分三轮进行,面试与笔试相结合,有时也会加入电话面试。对于所有公司的DBA而言,基础概念都是必须掌握的,比如触发器、存储过程、索引、内存泄漏、事务、视图等,本文就不对这些概念进行赘述了。除了基础概念,百度可能会根据目前的业务发展特点询问求职者可能的解决方案,比如有关海量数据的数据库优化方法等问题,笔试环节求职者会拿到一张试卷,涉及的题型有选择、填空、算法、简单和设计题,运维研发和DBA后面的大题会有不同,笔试前务必认真准备操作系统和计算机网络相关知识,DBA务必认真了解MySQL或者读一下《高性能MySQL》这本书,会有很大帮助。
百度对基础概念十分看重,对技术实践水平同样很看重,面试题部分会考察很多与具体应用相关的问题,比如上面提到的海量数据的数据库优化问题,根据此前面试者的反馈,该问题有三种解决方案,分别是约束、触发器和自写业务逻辑。使用约束,比如check、主键、外键、非空字段等更加方便并且效率更高;使用触发器可以保证业务系统访问数据库时的数据完整性和一致性;自写业务逻辑也是一种解决方法,但编程复杂且效率低下。其他曾经被问到的面试题有:给定一段有序链表和结点,写出一段算法可以实现将结点插入到链表中,同时返回一个新的有序链表的头指针;给定两个有序链表,要求编写一个函数把两个链表合成一个新的有序链表并返回头指针(注意:这道题要求一分钟内给出两种算法);画图详细逐步分析滑动窗口过大和滑动窗口过小;存储过程的概念以及优缺点是什么?写出一个存储过程的大概代码,如何在项目中应用并产生了哪些问题;现有N个球,两个人交替取球,每次取的数量是1~M之间的一个数,规定谁先取到最后一个算胜利。如果让你先取,你的必胜策略是什么等问题。 最后也会穿插一些表达个人观点和想法的题目,比如你能为百度带来什么?你是因为对DBA这个职业不了解而喜欢它,还是因为了解而喜欢?你什么时候会因为什么事情感觉到压力过大,如何解决?你对自己的笔试部分有哪些评价?等问题。 美团 面试轮次可能有三轮,但很多人都止步于第二轮,第一轮是电话面试,后两轮是现场面试。电话面试主要就是简单沟通求职者意向以及考察求职者的MySQL基础,面试环节的问题会明显比电话沟通环节难很多,非常考察求职者对细节性问题的思考和观察力。如果你是校招或在宣讲会上投简历,那么你可能也面临着一张笔试试卷,美团的技术类笔试题几乎都是基础算法编程类还有一些测试类题目,虽然基础,但可能会被人忽略。
计算机网络、操作系统以及MySQL同样是问题的考察重点,曾经被问到的面试题有Linux中硬链接和软连接的区别;mha的实现原理是什么,如何实现补齐差异的binlog;MySQL中双写的原理是什么,为什么会用到双写;pt在线更改表结构的原理是什么,会不会锁表等,美团面试官可能会针对一个问题不断追问,回答问题就好,不要莫名提起自己可能并不熟悉的技术,面试前还是应该多看看数据结构和计算机网络相关方向的知识。 阿里巴巴 阿里巴巴内部不少DBA方向的技术人会不定期分享自己一路走来遇到过哪些问题,如何进入阿里巴巴并成长为一名DBA的,这些对求职者而言都是值得关注的且有价值的信息。阿里巴巴也会在自己的平台上发布一些技术类文章或者举办一些线上线下的交流会,有意向的求职者也要记得关注。
(责任编辑:晨鸿) |






