好的,在申请人池中〜9个月的失望之后,我想确保我们不会期望我们的高级开发人员申请人太多.
背景
我们是一家商业智能商店.不过,我们不希望候选人能够参与BI知识.如果你有一个坚实的T-sql背景,那就是我们需要的.我们将为您提供关于Analysis Services,Dimensional Modeling等的其余部分.所以我们测试的是T-sql技能.一切都发生在SSMS中.
如果候选人通过电话筛选,我们将他们带入编码面试,我们给他们7个问题和慷慨的90分钟.我正在编写代码来观看各种各样的事情,例如他们如何浏览工具,他们研究的内容等等.应该指出的是,我们非常清楚,任何资源可供他们使用,包括互联网,BOL,等等
问题
这里是缩写形式的问题,试图不给太多的空间(因为他们可能google这个问题:P)
> Fizzbuzz – 我想看看他们如何生成他们的行集.如果他们使用变量/循环,我会死在里面
>聚合 – 这个问题基本上迫使候选人使用select语句的全部范围(select,from,where,group by,having)
> NULL如何工作 – 我给出一个“棘手”的问题,其中IN子查询不会返回任何东西,因为在NULL表中的NULL值.我要求解决方法使查询工作,然后解释为什么它不是首先.我想知道他们明白NULL值是什么意思,以及sql如何评估它们.
>索引 – 一个没有索引的简单2连接查询.我要求候选人将整个查询子树的成本提高20%.我很快就知道他们以前是否已经编入索引.我告诉他们“阅读问题,给我什么我要问”.可悲的是,我不认为一个申请人甚至没有注意到开始或结束子树的成本.
>运行总计 – 我给一个PK /日期/数值的表,并要求他们更新另一个列,每个PK运行总计.这不容易,这是一个奇怪的任务.我真的不在乎他们是否及时完成,但是我想看看研究是否没有做到这一点,或者是一个体面的尝试(即使它的效率低下,至少开始写一些相关的子查询).
> XML – 我要求他们从XML类型的列中检索一个值.我不希望候选人知道如何做到这一点,我告诉他们.这一点是看他们做研究等,就像其他任何时候他们在工作中遇到一个新的问题,需要解决的.
> CTE – 我只是要求他们写一个CTE.而已.奖金,如果它有创意/有趣的东西.
就是这样那么我的问题是这些问题是多么公平?我们正在寻找具有实际经验的人.对我来说,对于具有10年sql经验的人来说,它不可能得到1或2个这样的问题.我太苛刻了吗我应该从中添加/删除东西吗?
解决方法
如果您关心候选人对于测试有多公平的看法,请点击前面告诉他们,测试正是这样,只需要观察/衡量他们的解决问题的能力和能力想想他们的脚…