Phone Interview Questions

  • I am currently conducting interviews for a JR to Mid level DBA\Developers position. I am having trouble finding canidates that can answer the questions listed below. What I would like to know : Am I asking to much by expecting canidates to be able to answer these question?

    1. What is normalization?
    2. What is a Stored Procedure?   
    3. What is a trigger?
    4. What is a view?
    5. What is an index?
    6. What is a cursor?
    7. What is a Join in SQL Server?
    8. When do you use SQL Profiler?
    9. What is a Linked Server?
    10.  How would you approach troubleshooting a slow running SQL Server?
    11. What are the authentication modes in SQL Server?
    12. What is BCP?
    13. What is a sub-query?
    14. What is referential integrity?
    15. What is an execution plan?
    16. What is the difference between a local and a global variable?
    17. What is a function?
    18. Explain the differences between a DBMS and RDBMS?
    19. What are primary keys and foreign keys?
    20. What are user defined data types?
  • This is not a joke question, right?

    This is obviously for a developing DBA, not the administrating one. So, no, I don't think you're asking for too much. This is pretty much basic working knowledge.

    --
    Frank Kalis
    Microsoft SQL Server MVP
    Webmaster: http://www.insidesql.org/blogs
    My blog: http://www.insidesql.org/blogs/frankkalis/[/url]

  • I wish I was joking. That is why I have asked forums group for help. I thought these were reasonable question to ask just to verifiy a canidate knows some basic information about databases. Unfortunately, I have found only two canidates that could answer the questions.

  • First off I would suggest you keep Jr and Mid level grade folks in mind. Many of these things they may know but have not yet been exposed enough so their answers mean a base understanding only.

    Conceptually a Jr and Mid level person is still in training to some degree.

    The questions are fine but expect not to always hear correct answer or only half answers at that level. High-Mid and Sr level folks on the other hand should nail the majority of these.

    I would look at consolidating the questions down to more generic items like.

    Are you familiar with normilization and if so can you step me thru the concepts of any of the normal forms?

    What objects are created and stored in a database in SQL?

    Can you tell me the difference between a clustered and no-clustered index?

    Can you explain the bennifit of a covering index?

    What is the function of triggers and what events can they be for?

    What are the bennifits of views? Stored procedures?

    What types of joins are their in the SQL Syntax and give me an example of how to use one join method you name?

    What tools in the SQL Server environment are you familiar with? What bennifits does Profiler offer a developer?

    With a slow running query what tools or commands can you use to trobuleshoot the issue?

    What information does the execution plan give you about a query?

    What is a Primary Key, Surrogate Key (or Alternate)?

    What does referntial integrity mean and how does it apply to SQL Server?

    How do foreign keys work in a relational environment?

    SQL Server supports 2 types of authentication, what are they?

    Are you familiar with Linked Servers? How are they used?

    The cursor question is up to you but I don't like cursors and really don't want to focus on their use or knowledge if they can find a better set based solution.

    Not every situation requires a subquery and a Jr to Mid level person may not have used very often.

    BCP is a tool that many folks never run into a need for and unless your job revolves around it's use I wouldn't bother, it is easy enough to learn.

    I just don't like the local versus global variable question.

    I hate user defined datatypes when you can apply a built in type with a constraint much better and increase the surity of forward compatibility (still hearing rumors they may go away).

    But then I probably could hit better items like:

    What range of data can be stored in a bit datatype object?

    What happens to a value in a char datatype field when it is shorter thn the chars length, what happens in  a varchar?

     

    Your question shoud good thou but I suggest you make sure you weigh your expectations against what level you say you are looking for. Biggest problem I find is many companies state Jr and Mid level but their expectations really apply to a Sr level candidate.

  • Hi,

    I think these are fairly easy questions. In India even a student in the final year of engineering would be able to answer most of them.

    I would expect most DBA's to answer all of them or atleast give you the concepts. The developers might not be able to answers bcp and some SQL questions.

    If you are looking for DBA's then the focus would be more on backup and restore and security.

    This is my two bits..

    Rgds,

    Umesh Chaphekar



    Umesh Chaphekar

    --Every minute you waste someone gains on you ---

  • I think these are all fair questions but not necessarily for Jr. DBAs.  Some comments: 

    • In regards to question #3, Jr. level DBAs that only have knowledge of SQL 2000 may not have never used triggers.  These are used less commonly in 2000 than in SQL 7.
    • Questions 9, 12, 13, 15, and 16 may be a bit too much for a Jr. level DBA.  It depends on any experience and how much their hands have been held.
  • I so feel anyones pain in having to interview. I don't know what it is, but I have seen so many candidates, with docs out the wazoo, and supposed experience.

    Here's a basic example. You bring the folks in, draw something simple on the board, with the answers there pretty much, showing 2 databases and an external source. Both db's are in full recovery (this is noted), the data is being bulk imported from the external source (let's say a text file) into a table with a clustered index. The data will go from db1 to db2 via a stored procedure that does some logic, therefore db1 only holds transient data and is not critical.

    The question is, what could you do to improve the performance of the bulk insert?

    In 3 months I could not find one person who could answer that question.

    Makes me feel kinda embarassed when I look at my resume compared to the folks I'm seeing, as they are showing a wealth of everything and me not so much.



    Shamless self promotion - read my blog http://sirsql.net

  • I think these are all fair questions but not necessarily for Jr. DBAs.  Some comments: 

    • In regards to question #3, Jr. level DBAs that only have knowledge of SQL 2000 may not have never used triggers.  These are used less commonly in 2000 than in SQL 7.
    • Questions 9, 12, 13, 15, and 16 may be a bit too much for a Jr. level DBA.  It depends on any experience and how much their hands have been held.

    Counterquestion to all.

    I am really suprised and am now intentionally exaggerating.

    What are the common requirements for a Junior position?

    - Coffee cooking

    - Knowing how to write "DATABASE", or more difficult "RELATIONAL DATABASE"

    How do you define "Junior"? This is also a serious question, since the term "Junior" isn't commonly used here in Germany.

    Btw, I find Antares questions much more challenging, since these are "open questions" with no predefined answer. Tricky, tricky at times

    --
    Frank Kalis
    Microsoft SQL Server MVP
    Webmaster: http://www.insidesql.org/blogs
    My blog: http://www.insidesql.org/blogs/frankkalis/[/url]

  • I suppose I would define Jr. level as entry level which means they have never had "real world" experience.  Just think of all the stupid questions you first asked when you first joined this forum.  That's what I would consider Jr. level.  Thank God we have contributors that don't make us feel so stupid when we ask them.

  • Hm, so the guys who just left university, know everything in theory and usually can't get a simple thing straight? What is the entry payment for such a position? On average.

    Just think of all the stupid questions you first asked when you first joined this forum.  That's what I would consider Jr. level

    We had this before, but I can't remember what you wrote me what Forrest Gump's mom used to say on stupid questions.

    --
    Frank Kalis
    Microsoft SQL Server MVP
    Webmaster: http://www.insidesql.org/blogs
    My blog: http://www.insidesql.org/blogs/frankkalis/[/url]

  • We had this before, but I can't remember what you wrote me what Forrest Gump's mom used to say on stupid questions.

    Stupid is as stupid does.

     

    Not sure that it's stupid questions that people ask when joining the forum, just those of inexperience. I myself still ask what I consider to be stupid questions, but that I can't for the life of me figure out.



    Shamless self promotion - read my blog http://sirsql.net

  • Sorry, I don't see where these questions are stupid either.  I just think that questions on triggers, execution plans, BCP, etc. may not be appropriate for those with inexperience.  If the person can't answer them, that doesn't make them stupid or strictly "book smart".  Personally, I still don't use BCP.  I'm with Antares on that, "BCP is a tool that many folks never run into a need for and unless your job revolves around it's use I wouldn't bother, it is easy enough to learn."

    By the way, SQL Server 2005 has really done a great job on execution plans.  Have you seen the new look?

  • Nicolas, thanks for this!

    Dale, no haven't had a single look to SQL Server 2005 yet. When the RTM version is out it's still early enough to play with it.

    --
    Frank Kalis
    Microsoft SQL Server MVP
    Webmaster: http://www.insidesql.org/blogs
    My blog: http://www.insidesql.org/blogs/frankkalis/[/url]

  • You know, when it comes to triggers, I do think it is important that a Jr. level programmer know what they are, at least in concept.  I suppose I shy away from that question for a Jr. level programmer because triggers with SQL Server 2000 were something that I was told to steer away from.  However, the person that told me this lead me in the wrong direction and I had to change strategies later on down the road when I needed an email notification set up.  Hence, this is why I'm not sure if a Jr. level programmer would know right from wrong on using triggers.  Just my own experience talking there.

    As for SQL Server 2005, I found a nice book by Michael Otey, Sr. Technical Editor of SQL Server Magazine.  It's called Microsoft SQL Server 2005 New Features, ISBN 0-07-222776-1.  The price was $27 new and $22 used. There was a lot of good stuff in there.  I just got it yesterday and haven't gotten through it all.  I did look for one thing though that I couldn't find.  The interface for building joins visually has changed dramatically and it will actually write all the code for you now.  You might want to check this book out:

    http://www.amazon.com/exec/obidos/tg/detail/-/0072227761/qid=1106146025/sr=1-3/ref=sr_1_3/104-6217936-8096724?v=glance&s=books

  • These questions are very easy.  You should be able to expect a jr level person to answer most of them.  An inability to answer them when they are applying for a job shows that they are not particularly interested in learning about database systems, and will likely be the kind of employee who will always need to be told what to do, instead of knowing how to find what needs to be done and doing it.  There are also many bad designs out there because presumed DBAs didn't understand normalization.  You don't want that with your in-house applications.

    I would not overlook "growing" someone with a solid MS Access background into SQL Server.  It worked for me.  If they tell you that they have an Access background, but want to move up, then some questions such as the triggers and cursors, won't be useful, but the normalization, referential integrity, etc would still be basic.

Viewing 15 posts - 1 through 15 (of 31 total)

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