在面试中,我会问基本的数据库devise问题。 在数据库devise中,规范化(When-Why)是我关心的问题之一。 一些场景我涉及同步服务器的站点,以及为什么/如何考虑相关的问题; 安全问题等。
谢谢。
这里是我对高级数据库pipe理员的十大面试问题,以下是Tom LaRock针对初级DBA的十大问题。
我注意到其他人build议候选人应该排除服务器故障。 如果采取这种方法,请使用具有快照的虚拟机。 以特定的configuration或性能问题的方式设置服务器,拍摄快照,然后在每次采访后,您可以回滚到快照。
如果你这样做,把任务限制在你实际做的任务上。 不要问生产DBA关于规范化,也不要问开发DBA为什么一个节点不会join集群。
生产DBA任务可能是:
开发任务可能是:
使用AdventureWorks架构。 可能是他们最近没有玩过,但至less很容易解释。
在我的软件团队中,作为面试的一部分,我们testing了数据库的理解。
我们提出 – 一个非常糟糕的devise(思考CRM类应用程序),并要求他们在大约30分钟的思考时间后改进devise。
然后,我们根据他们所谈论的问题向他们提出更多的问题。
我们正在探索的理解
我们作为一个团队,然后想到我们会认为是这些types的问题的初级/高级/build筑师types的答案。
因此,对于 – 性能v规范化 –
会首先看到这个问题,并能够讨论为什么(初级)
会build议4/5 NF,但理解与性能的问题,他们denormalised和理解如何阐明这个问题(高级)
他们会推荐一个不同types的devise,例如星型模式(Star Schema),并讨论许多层面的影响(build筑师)
将会看到ref的完整性需要强制数据关系,并能够讨论这个,但不会看到与关键select和devise(初级)的问题,
将讨论与数据量和数据types有关的问题v寻找数据中的自然键,并且能够讨论为什么他们正在查看这些数据 – 以及参照完整性(高级)
可以争论与Keys和Integrity有关的各种观点,并能够提出各种实际的快速devise模型(build筑师)
你得到的照片。
如果你想让我添加更多,然后发表评论,并会详细说明我们对其余部分的看法,但只是包括了前两个部分,让我们了解我们的想法。
问题的关键在于思考1,问题2,我们作为一个团队 ,然后想到我们会认为是什么样的初级/高级/build筑师types的答案这些types的问题。
我强调球队是候选人,球队必须对进入球员的技术有信心,如果他们提出了他们所看到的不同层次的答案,那么进入球队的人将会更好地适应球队。 它也使团队有能力影响候选人的select。 他们还提名一个人在问题面板上。 帮助球队买入。
你可以组成一个虚构的数据库,其中有一些正常化问题,潜在的安全问题,但是总的来说,看起来很像典型的员工数据库。 然后,您可以开始向受访者询问简单的问题,他们将如何通过连接来获取数据库中的某些数据,从而解决关于正常化和安全问题的难题。
看到聪明,并获得了东西
…问他们最近读了哪些书,读了什么博客,听什么播客。 并询问他们是否参与stackoverflow.com和serverfault.com 😉
这不一定是与数据库相关的,但是我想添加到面试中的事情是动手解决问题和devisescheme。
对于动手问题,build立一个或多个系统,让他们可以访问并让他们解决一个开放式问题。 我个人最喜欢的就是performance问题,因为它不一定是需要面试的东西,而且很less有一个正确的答案。 相反,您可以通过查看故障排除过程来观察应聘者,还需要与您进行讨论,以获取有关环境的更多信息。 关键是让面试官对问题保持诚实,不要把情况变成寻找错误configuration设置的东西。
对于devise场景,我给予候选人一个新项目(即没有遗留依赖项)的大纲,并要求他们在其特定领域(无论是DBA,系统还是networking)提出符合项目目标的总体devise。 关键是要保持项目小到可以让整个场景处于最佳状态,并且花费不到几分钟的时间来解释。
我在这里用于我的系统和networking人员的一个例子是描述他们devise一个小型分支机构,因为我们的业务有一定的限制。 在DBA方面,也许使用一个小的/明显的CRUD应用程序。 在这两种情况下,你都不是在寻找详细的devise,而是更多的概述,看看候选人是否会寻找出现的常见问题。
这两种情况的重要一点是就这个话题进行讨论,让候选人用自己的问题来引导讨论。 应该很清楚,你并不是要求一个确切的答案。
就像你可以成像一样,我在访谈中很不喜欢琐事,我认为这让我对候选人能力有了更深的了解。
让他/他说话。 询问过去的经验,问他遇到了什么问题,以及他们如何处理。 select这个或那个解决常见问题的动机是什么? 监控? 扩大规模,扩大安全]。
我想你可以通过倾听来告诉很多人。
那么如果你正在寻找特定领域的具体专业知识,那么请问详细的问题 – Stefan Thyberg的build议非常好。