Are Senior SQL Developer Interview Questions Too Challenging?
I am concerned that my interview questions are too harsh.
I have been interviewing senior SQL developers for nine months, and I have been consistently disappointed with the quality of the applicants. I am worried that my interview questions are too difficult, and that I am scaring away qualified candidates. Researching resources online I got very helpful resources for Interview Questions For SQL Query. This might help learners.
I am open to feedback on my interview questions. If you have any suggestions, please let me know.
We are looking for candidates with a strong T-SQL background. We can provide training on Analysis Services, Dimensional Modeling, and other BI concepts. We will assess your T-SQL skills during the interview process. We will use SSMS for all of our testing.
During the coding interview, candidates are given 7 questions and 90 minutes to complete them. I am present during the coding interview to observe how candidates navigate through the tools, what they research, and how they approach the questions. We make it clear that candidates have access to any resources they need, including the internet and BOL.
Questions
Here are the questions in abbreviated form in an attempt to not give too much away
- Fizzbuzz - I want to see how they generate their rowset. If they use variables/loops, I die inside
- Aggregation - The question basically forces candidates to use the full scope of the select statement (select, from, where, group by, having)
- How NULLs work - I give a "tricky" question where an
IN
subquery doesn't return anything because of a NULL value in the subqueried table. I ask for the workaround to make the query work and then an explanation on why it didn't in the first place. I want to know that they understand what a NULL value is/means and how SQL evaluates them. - Indexing - A simple 2 join query with no indexes. I ask that candidates improve the entire queries sub-tree cost by 20%. I quickly find out whether or not they've indexed before. I make it a point to inform them "READ THE QUESTION. GIVE ME WHAT I ASK FOR". Sadly, I don't think a single applicant as even noted the beginning or ending sub-tree cost.
- Running Totals - I give a table with a PK/date/numeric values and ask them to update another column with a running total per PK. This isn't easy and it's a weird task. I don't really care if they finish in time, but I want to see research if they haven't done it or a decent attempt (even if its inefficient, at least start writing some correlated subqueries).
- XML - I ask them to retrieve a value from a XML-typed column. I don't expect candidates to know how to do this, and I tell them that. The point of this one is to watch them do research, etc., just like any other time they encounter a new problem at work and need to solve it.
- CTE - I just ask them to write a CTE. That's it. Bonus if it does something creative/interesting.