Sep 24 2012

Interviewing a DBA

I’m not a fan of trivia style interview questions. Yes, I ask a few because you have to in order to immediately eliminate the completely unqualified applicants. Even those types of questions, in my opinion, need to be focused on concepts and not syntax. The reason we have the Books Online with SQL Server is because you shouldn’t have to memorize every possible command along with all their parameters. Want to know how to write a MERGE query? Look it up. What does a MERGE query do? That you ought to know. I think concepts are important. Questions about the recovery models within SQL Server aren’t trivia about the system, they’re trying to get to your understanding of how point in time recovery works.

I don’t really like posting interview questions. And most of the time when I’ve seen interview questions posted (even mine), they’re pretty trivial stuff that doesn’t really get to whether or not the person you’re trying to hire is a good fit for the position and your team. I also don’t like posting interview questions because some people will try to use them to study up and attempt to BS their way into a position they frankly don’t deserve and haven’t earned. SQL Server knowledge and experience comes from using it to solve problems out in the world and protecting the information generated by a business.

That’s why I love this question. And I don’t mind sharing it with you because you can’t really memorize an answer to it:

You get a call from one of the business people. They tell you that the database is running slow. What do you do?

This is completely and utterly open-ended. It can go anywhere. In fact, it’s going to go where you lead it. For example, you could say “I first look at the Windows server error logs.” OK, that’s fine (several people I’ve interviewed started there). What indications would you find there that the server is running slow or what would you find there to show why the server is running slow? Suddenly, maybe you don’t want to look at the error logs for the server any more, or maybe you do. But you get the idea. There is no single correct answer here. There are however, lots of very problematic paths, and I’m going to let you go down them. I had one guy insisting that the very first thing he needed to do after the phone call was take a look at the application code to see the method used to make the call to the database. We spent quite a bit of time exploring why this seemed to be the best approach to him. Was it? I’m not saying. No hints on this one. Your answer for this question, is your answer, and that’s why I love it.

Further, as we explore this question, and I’ve spent anywhere from 10 minutes up to an hour working on it as part of an interview, I’m also getting to see how you deal with problematic situations, what your logic chain looks like, what your understanding of SQL Server is, and, most importantly, how you fit into the team. Because with an open-ended question like this, we get to talk. We’re way beyond silly trivia contests now.

Before you think this is unfair to people who aren’t performance experts, fine, let’s talk about what happens when you get an alert that the server is offline. Not a systems person? OK, we just got an alert that a database consistency check failed, now what? See, the point is to go on an adventure where we explore your knowledge and approach. I just have to work hard to make sure we stay somewhat on topic so that I can assess your knowledge and skill level.

Now, if I approach any of these questions and your response is to reject them out of hand, something I’ve run into, then we’re done. I’m not going to focus on trivia, which is how lots of people prep for interviews. I expect you to have concepts, process, logic, and methods available from your time studying and learning. So if we interview, be ready for this exploration, not a trivia contest. And the only way to really prepare is to get experience and knowledge by actually working with SQL Server.

Oh, and sometimes, I ask questions or make statements that are wrong. Sometimes it’s on purpose. Other times, it’s because I screwed up or was ignorant. But you can’t sit there agreeing with me. You better be paying attention because I might be testing you further.

This type of question is just too perfect for understanding how much you know about SQL Server.

Want to start to prepare for answering this kind of question? I’ve got an opportunity for you. At the PASS Summit 2012 this year, I’ll be running an all-day pre-conference seminar called Query Performance Tuning: Start to Finish. In it, I’ll cover quite a bit of what might make it possible for you to answer this question should you be presented it in an interview. No, I’m not guaranteeing you’ll answer it correctly. I’m just offering a chance to prepare. Sign up for the Summit today. There’s still a discount in place that can help you offset the cost of the seminar until the 30th of September.

14 Comments

  • By Kevin Boles, September 24, 2012 @ 12:01 pm

    Good stuff Grant, as always. I have done a lot of technical interviews for clients over the years, and have often asked your highlighted open-ended question more than once in the same interview!

  • By Grant Fritchey, September 24, 2012 @ 12:21 pm

    You asked it twice? Did the answers change?

  • By Chuck, September 24, 2012 @ 3:14 pm

    I focus on the core components of the job. If the job involves clustering and you can’t tell me how to ascertain what node SQL is running on or how to add a new node to a SQL install you won’t be my top candidate.

    I also hit hard on backups/restores. If someone doesn’t know the basics of backup/restore their DBA_fu is doubtful.

    If it’s an in person I may ask a candidate to demonstrate a skill they claim they have via a lab activity (e.g. “Do you know how to do x?” “You do? Good. Here. Do it on this sample SQL instance.”)

  • By jonmcrawford, September 26, 2012 @ 9:04 am

    We use this technique to evaluate people for non-DBA positions too, because it lets you see the depth of knowledge that someone has, not just the textbook answer or a yes/no/I do/don’t know how to do that. You get to see how they think through a problem, what kind of experience they have had, how thorough they are going to be without prompting, etc. Excellent idea, I second Grant’s recommendation to use this in every interview.

  • By bclyde, September 26, 2012 @ 10:05 am

    Excellent! This is one question I recently added to my interview arsenal. And yes, I say arsenal because getting to the root of someone’s knowledge and skills is sometimes a battle. I do love the fact that you dig into their responses even further; something I need to improve on in my interviewing.

  • By Grant Fritchey, September 26, 2012 @ 10:11 am

    Oh yeah. I don’t stop with just the question and an answer. It’s a conversation. I want to hear though processes and explore the depth of their knowledge. It just gets tricky because you can’t let it wonder too far down scary stupid holes. If they’re insisting that upgrading ODBC drivers is the best possible solution, note that down and then “OK, well, what else might be the cause? Is there anything else I can look at?” and go from there.

  • By David Heath, September 26, 2012 @ 11:30 am

    As someone who has been a interview candidate, rather than an interviewer, I would say it’s very important to also ask questions the correct way. For example, I recently got offered a job which I nearly missed out on because the hiring manager asked me “What experience in your last job did you have around log shipping?” The company was implementing log shipping a lot, but had no database experience, so wasn’t sure on the complexities that are involved with setting up the feature. I answered truthfully, that in my last job we didn’t use log shipping so I had no experience in it. I have a MCTS in SQL Server Administration, so I also explained that I knew how it worked etc. I found out later that I nearly lost the job on this point because of the lack of experience, when to me log shipping is a very easy feature to configure and set up. If they had asked, “explain how log shipping works” I would have been able to reel off all the details no problem and even could have given then a quick demonstration if required. To me the technical complexities of the process were insignificant, and didn’t realise that the company thought this was a major implementation to set up log shipping. It would have been a lot easy to give a better answer if they had asked the question better, perhaps. Or maybe I just answered the question wrongly based on my assumptions!

  • By Aaron Lowe, September 26, 2012 @ 2:56 pm

    I love that question and have used it many times. Although I did have one person tell me that they would find what table the application was querying and truncate it. While, “technically” that would make it go faster, they didn’t get the job. :-P

  • By Grant Fritchey, September 26, 2012 @ 3:02 pm

    Ha-ha… You know, I think I interviewed that person too.

  • By Chuck Rummel, September 27, 2012 @ 8:19 am

    I’ve used that question many times, and it’s not a hypothetical. I really have had people whose only words were “it’s slow, fix it” with no mention of what “it” was. I guess the upside is it’s helped me practice finding needles in haystacks.

  • By Grant Fritchey, September 27, 2012 @ 10:19 am

    Oh, that’s why it’s become one of my questions. It happens all the time.

  • By Jose, September 29, 2012 @ 6:12 pm

    Grant,

    Can I get more details about the seminar and exact date you will be presenting? I I went to the PASS site, but I did not find a detail agenda.

    I would like to attend to one day only (can’t leave office duties for more than that) and wanted to check that prior any reservation.

    Thanks,

  • By Grant Fritchey, September 29, 2012 @ 6:23 pm

    The details on the seminar are on the link I provided above. It’s a seven hour session. We’ll go from collecting metrics to understand what’s going on on your system, to execution plans to understand what the optimizer is doing, to common problems and solutions in queries. Here’s the schedule for the pre-conference seminars from the PASS web site: http://www.sqlpass.org/summit/2012/Sessions/PreConferenceSessions.aspx

Other Links to this Post

  1. Interviews from an interviewee’s perspective » Tea and SQL — October 3, 2012 @ 11:05 am

RSS feed for comments on this post. TrackBack URI

Leave a comment