MORE ABOUT ME

23 Jan The 5 DBA Interview Questions You Have to Ask

Because the answers might surprise you.

An interview should be a conversation, not a trivia contest. I’m not looking to stump someone during an interview. I don’t need for my DBA to know obscure facts such as database mirroring is only supported starting with SQL 2005 SP1.

Memorizing such facts does not mean that you will handle the pressure of being a production DBA. The role does not require you to know the answer as much as being able to find the answer. And in order to truly be successful as a DBA you will need good communication skills. A good DBA will be able to teach, and train, others.

So how do you find such a person? The answer is easy: you talk with them. I always describe the interview process as being a lot like dating. You want to have a conversation, get to know someone, without assuming anything beforehand. Since people tend to embellish on their resumes, if you aren’t familiar with a person or their previous work then you are going to want to set a baseline. For me, that baseline are the following five questions that I have used over the years. I find that they help guide me through having a good conversation and by the end I know whether or not I want to call them again in the morning.

1. What is a database?

I always like to start with the basics. While it may seem silly to ask this question keep one thing in mind: there are no silly interview questions. No matter how ridiculous a question may seem to both the person asking it and the person responding, they will always serve a purpose. In this case you may find the candidate talking about MS Access, or Filemaker, or whatever they have been exposed to previously. Let their response be an indication of their fundamental knowledge of some RDBMS system. See if they can explain the difference between a data and a log file, for example.

Remember, people tend to embellish on resumes. If you have never met the person before, why not ask the most basic question you can, right from the start? The answer may surprise you, but the conversation is likely to reveal the depth of their experience right from the start.

2. Who is the most important user of a database?

This question helps you get an understanding if they candidate knows who the “stars” are. And who are the stars? Well, everyone. That’s right. Every connection to a database server is as important as any other. What’s that? You say it is only a development server, so it is not that important? Well, a development server is considered a production server to a developer. In other words, every person and every connection is important, no matter if they sit in the corner office or not.

I once had a candidate tell me that the CEO was the most important user, and they were adamant that they were right. Sadly, most CEO’s aren’t doing the day-to-day data entry that others are doing, so I found it hard to agree that such an absolute answer was correct.

If the candidate lists out only a handful of people or groups as important and fails to understand that everyone is important, consider that a red flag.

3. Which is faster: Inserting one million rows of data, or updating one million rows of data?

This could be one of the more technical questions you could ask a candidate. You are not looking for the correct answer (which is “it depends”). If they do answer correctly then examine the scenarios they lay out before you. It should be very insightful, you should get a real sense for how they think. Chances are they will guess at one or the other, which gives you the chance to talk with them. And when you do so, take the opportunity to see how the discussion goes. If they ask you lots of questions, that is a very good sign. If they just sit there, listen to your every word, accept everything you say as the truth, then consider that another red flag. No one is perfect, not even you, and you do not want to surround yourself with someone that just follows your every word. You need someone that is insightful enough to ask you more questions, you want someone that is always looking to learn.

I recall asking this question once and was told that it was a trick question because you couldn’t update (or insert) that many rows at once, you could only do them one at a time. Yes, that’s right, they told me that everything was done through cursors, and didn’t understand the concept of set-based updates.

4. If I asked you to learn how to make a query faster, what would you do?

Does the candidate look like a person that shows some ambition? Do they read any web sites with regularity? Have they ever opened a user manual, or the BOL? Who do they consider to be an expert? Do they have their own library of books, or their own toolbox of scripts? How do they typically attack a query with regards to performance tuning?

If you need a DBA that can help troubleshoot poorly performing code, and to do so quickly, then you want to make sure they aren’t the type to panic when the pressure is on. In short, find out how would they start to look for answers. Which also happens to be a great segue into the final question…

5. How do you troubleshoot problems in your current role?

The ideal candidate will be able to clearly explain their thought process in how they troubleshoot something. Developers will most likely discuss with you some piece of code that worked well on one server but not on another. A Windows admin might talk about a service that stopped and would not restart no matter how many times they clicked on that little arrow. In either case, you want to identify someone who is articulate to a certain degree, can explain themselves, stand up for their decisions, and also be open to the possibility that there was more than one way to solve the problem at hand.

You need to know more about their thought process when it comes to solving problems. If their troubleshooting skills consist of “call the vendor for help”, that won’t suffice. You don’t want someone with all the answers (and such persons don’t exist anyway), you want someone that has a clear and defined thought process.

In addition to the questions, and the conversation that ensues, you are also going to want to evaluate the candidate in other areas. For example, you can look for certain things that would have the candidate stand out among the others, or where they fail to measure up.

And there you have it, my five questions to ask of any DBA in an interview. You can alter these to fit your needs for whatever role you are trying to fill, just keep in mind that you want to frame everything in the form of a conversation. After these five questions you can move into more targeted questions with any candidate that has done well.

If you can follow this outline and have a good conversation then you are going to be able to identify the right candidate.

[If you liked this post check out the newest one where I talk about five additional questions you must ask!]

10 Pingbacks/Trackbacks

  • http://twitter.com/jesseschleicher Jesse Schleicher

    Nice approach; good read.  Thanks!

    • Anonymous

      Thanks for reading!

  • http://www.justaprogrammer.net Justin Dearing

    2. Who is the most important user of a database?

    This is a corporate culture thing. Yes I agree that “everyone” is the most important database user, or “it depends” Sometimes its the lowly data entry clerk, sometimes its the CFO compiling a report for SEC compliance that is due tomorrow.

    That being said, what if a developer is leaving his current job because its a terrible place, and part of the terrible things is a CEO that puts his needs above the companies. In your case the candidate was adamant he was right, but if a person gave that answer initially, and change it when challenged, I’d think here’s a abused stray that would make a great DBA with some mentoring.

    • Anonymous

      Justin,

      I understand what you are saying. In the above example, I used their answer as a way to have a conversation. When I suggested alternatives they simply disagreed, strongly. There’s no way for me to know if this is a result of their previous environment or not. It is just one piece of information for me to use when comparing to other applicants. 

  • Kevin Di Sotto

    Good read this post. Only one disagreement though “there are no silly interview questions”. I was once asked to perform an audition for the part of a pantomine chicken at an IT interview (no joke!). Needless to say I walked out at that point.

    • Anonymous

      Kevin,

      I would have said “Sure, watch me perform ‘A Chicken Crossing the Road’ ” before getting up, though.

      That does sound silly, I am wondering what they were trying to accomplish with that one.

      • Kevin Di Sotto

        I have though about it many times and the best I  can think of was that they were seeing if i would do anything that they asked. but I think there would be better ways of finding this out ,like for example your question for Junor DBA’s ” Our on-call policy is [blank]. Is that OK?”

        On a separate note I would like to thank you for your blog. I have only been using SQL for 4 years and found it quite daunting at first.The last year since I found SQLSERVERPEDIA, things have started to become a lot clear thanks to the wonderful information you guys have churned out. It is a great community! Thank you

  • Pingback: My Daily Shared Bookmarksfboiton's blog | fboiton's blog()

  • Pingback: Something for the Weekend – SQL Server Links 27/01/12()

  • Pingback: The Oddest Job Interview Questions for 2011 | SQLRockstar | Thomas LaRock()

  • Pingback: More Interview Questions()

  • Pingback: Job Interviews Should Not Be a Trivia Contest | SQLRockstar | Thomas LaRock()

  • Jeffrey_yao

    I do not like Question 1 and 2 not because they are hard to answer but because I do not get much useful info from any answer, I’d rather ask “What is database administration and how you handle user requirements?”

    I like Q3/4/5 as they will give you some subjective facts upon which a fair evaluation/conclusion can be made.

    • https://plus.google.com/u/0/112139096945704957567/about sqlrockstar

      Jeffrey,

      Thanks for the comment. Questions 1 and 2 work well for me simply because I know how to steer the conversation depending on the answer. If I was to simply rely on just an answer without my asking any follow-up questions, then those two questions would probably not provide enough insight.

      They are really meant to get a conversation going more than anything else. My experience using them has led me to gain an understanding of the technical depth of the candidate better than if I was to focus on a typical trivial question found in most interviews.

  • Jay

    I had a phone screen last week where I was 4 these questions. My answers matched up pretty well with the ones you posted. I just tripped across this article and found it rather funny.

  • William Meleka

    Tom in regards of your third question Updateing VS Inserting, wouldn’t the insert be faster just because the engine is doing one task VS Updating looking for a record and then updating it?

    • ThomasLaRock

      William,

      Not necessarily, no. It sounds like you are thinking that the inserts would just be appended to the end, or stacked on top, without regard to order. But it could be the case that there is overhead incurred by unique constraints, and the inserts could cause page splits, etc. There are a lot of factors involved, and you simply cannot say that either one is faster than the other in any given scenario.

  • richardpascual

    Insightful questions. I can see how the disposition of a dba as a problem-solver (and potentially fire-fighter) is much more important than any trivial factoid you can cull from experience. Question 4 however, would actually organically produce a bit of trivia knowledge in the process. The dba’s who live and breathe the stuff most likely will remember something obscure about databases, software or “the old days” of administering them.

    I would say, instead of drilling them for a specific fact, make the table open and let the candidate throw out whatever (anything!) they know or have observed in the n number of years they’ve worked with the product.

    I am just wary of candidates who overemphasize themselves as “senior” or “seasoned” experts, and I feel it necessary to poke at the tires to see if they’ve been paying attention during their “seasoning” period. If people can recall a little history with cars and collectibles, why not with databases?

  • Pingback: 5 More Questions For Interviewing a Database Administrator - SQLRockstar()

  • Pingback: 5 More Questions For Interviewing a Database Administrator - SQL Server - SQL Server - Toad World()

  • Pingback: 10 SQL Server DBA Interview Questions | Senior DBA()

  • Pingback: 15 SQL Server DBA Interview Questions | Senior DBA()

  • Pingback: DBA Interview Questions Page 1 | DWHSolution.com()

  • http://www.yolyee.com/category/management-interview-questions-and-answers/ HR Interview Questions and Ans

    Are you applying for other jobs? If you are serious about changing jobs then it is likely that you are applying to other positions. It is also a way of showing that you are in demand. Be honest but don’t go into too much detail, you don’t want to spend a great deal of time on this. If asked about names of who you have spoken to it is absolutely legitimate to say you prefer not to disclose that information at this stage.

    • ThomasLaRock

      Oh, that’s a good thing to ask as well, thanks for the comment! I agree, you should say that you have other interviews but not give any details. Just like dating, you should let them know you have options but you are still looking for the right match.