July 9, 2009 at 6:38 am
Hi all
I was recently asked to supply 3 questions for use in an interview.
I should say though that the post-holder was only expected to be able to use SQL Server at a fairly basic level (ie not an expert), but it WAS specified in the job advert and all of them claimed to have SQL in their CV (that's resume for those across the pond). Question 3 was in there to "sort the men from the boys".
The questions were
1. What error would you expect from the following:
SELECT AgeGroup, Count(*)
FROM AgeGroupTbl
assuming of course that AgeGroupTbl is an existing table?
2. What steps would you take to identify why a query is running slowly?
3. What is your understanding of the term COLLATION in a database context?
We interviewed 5 candidates and not one of them could answer any question satisfactorily.
Was I expecting too much?
Has anyone else had this experience?
What questions should I have asked or should they have been worded differently?
July 9, 2009 at 7:03 am
Colin Bickford (7/9/2009)
Hi allI was recently asked to supply 3 questions for use in an interview.
I should say though that the post-holder was only expected to be able to use SQL Server at a fairly basic level (ie not an expert), but it WAS specified in the job advert and all of them claimed to have SQL in their CV (that's resume for those across the pond). Question 3 was in there to "sort the men from the boys".
The questions were
1. What error would you expect from the following:
SELECT AgeGroup, Count(*)
FROM AgeGroupTbl
Msg 8120, Level 16, State 1, Line 1
Column 'data.AgeGroup is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
2. What steps would you take to identify why a query is running slowly?
I'd answer as per this article 😉
3. What is your understanding of the term COLLATION in a database context?
http://msdn.microsoft.com/en-us/library/ms144260(SQL.90).aspx"> http://msdn.microsoft.com/en-us/library/ms144260(SQL.90).aspx contains good description of collation.
We interviewed 5 candidates and not one of them could answer any question satisfactorily.
Was I expecting too much?
Has anyone else had this experience?
What questions should I have asked or should they have been worded differently?
what you asked was most basic for a DBA interview. questions about backup recovery, disaster recovery methods and concepts, theoritical questions on RDBMS, little on security should be asked.
but that depends on the level.
July 9, 2009 at 8:57 am
We phone screen all DBA candidates for technical competence before any interview is granted. This weeds out most of 'em. For example, you'd be surprised how many people applying for DBA jobs don't know the difference between a clustered index and a nonclustered index, or what a database page is.
I ask backup/restore questions, index tuning questions, I/O questions, Replication...etc.
July 9, 2009 at 9:07 am
Those seem like fair and basic questions.
Phone screening is a step in the right direction. Ask a few questions like those over the phone, you'll eliminate a huge number of people whose actual experience with SQL is writing simple CRUD procs for their .NET apps, or even less.
I would say the question about clustered vs nonclustered indexes is a good one if you're looking for someone who will be building tables and tuning the queries against them. If they won't be doing that, they probably don't need to know that one.
For people who will be writing procs, I'd include something like, "What are the advantages and drawbacks of 'with(nolock)'?", as a key question. I've seen far too many devs who put that on every query they write. (Even if that's the effect you want, why not just set the isolation level?) I consider that critical, basic knowledge.
Also for people writing/tuning procs, I'd be more inclined to ask about covering indexes and about SARGability than about clustered/nonclustered. I've seen more errors on the subject of SARGability than just about anything else. If they don't know the abbreviation, I'd ask about the concept.
For me, it's not just about how basic the question is. It's mainly about how much of a mess am I going to have to clean up if I let that person build procs.
- Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
Property of The Thread
"Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon
July 9, 2009 at 9:09 am
Sadly its not just limited to SQL. When i started my professional life , software was a science. Now it seem like if you can program a VCR that qualifies you for a system design role.
July 9, 2009 at 9:10 am
by the way, i'd think question #2 will sort the men from the boys better than #3. the answers to this one will show who knows what they're doing more
July 9, 2009 at 4:04 pm
GSquared (7/9/2009)
For people who will be writing procs, I'd include something like, "What are the advantages and drawbacks of 'with(nolock)'?", as a key question. I've seen far too many devs who put that on every query they write. (Even if that's the effect you want, why not just set the isolation level?) I consider that critical, basic knowledge.
I had a Microsoft SQL consultant recommend putting nolock hints in our procs, on the basis that he had never seen any problem with them. I work with a treasury application .....
GSquared (7/9/2009)
Also for people writing/tuning procs, I'd be more inclined to ask about covering indexes and about SARGability than about clustered/nonclustered. I've seen more errors on the subject of SARGability than just about anything else. If they don't know the abbreviation, I'd ask about the concept.
I actually think it's a good question - a candidate could equally reply with unique and filtered indexes, which may indicate a higher level of knowledge than clustered/non-clustered.
July 9, 2009 at 5:56 pm
In most cases (there are exceptions), claims to SQL by other than people interviewing specifically for SQL Developer or DBA usually mean that they were actually in the same room as a book with SQL on the cover sometime in their GUI career. 😉 Only question 1 is considered "basic". I know DBA's that can't tell you how to even begin question 2 because they're exclusively "Systems" DBA's that aren't necessarily any good at tuning previously written code. Collation is also considered to be at least an intermediate question.
If anyone got question #1 wrong even if they were to get the other two right, then it's good that you didn't hire any of them. It's a real shame that people think they can snow interviewers that much.
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 8 posts - 1 through 7 (of 7 total)
You must be logged in to reply to this topic. Login to reply