Job Interview Questions

  • 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?


  • Colin Bickford (7/9/2009)


    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

    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 😉

    http://www.simple-talk.com/sql/performance/finding-the-causes-of-poor-performance-in-sql-server,-part-1/

    http://www.simple-talk.com/sql/performance/finding-the-causes-of-poor-performance-in-sql-server,-part-2/

    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.



    Pradeep Singh

  • 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.

  • 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

  • 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.



    Clear Sky SQL
    My Blog[/url]

  • 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

  • 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.

  • 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


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply