Tuesday, March 25, 2008

Top Ten DBA Interview Questions

I'm often asked what interview questions should be asked of a new DBA you are considering to hire. Mistakes in a DBA hire can cost an organization a lot of money and hurt morale. There are a lot of factors that determine how well a DBA will fit into an environment. I thought I would share some of the things I consider when I interview a new DBA. These questions can be asked to any type of DBA (MySQL, Oracle, SQL Server, DB2, ..).

Questions you have to answer for yourself before interviewing a new DBA include:
  • What skill sets are you looking for in a DBA? What skills are need to have and which are nice to have?
  • How much time do they have to get up to speed?
  • How important is it you hire the right person? (Or what investment are you willing to make to hire the right person).
When interviewing a potential new DBA it is important to understand:
  • What is their technical depth and experience.
  • What type of environments have they worked in.
  • How well do they interact with customers.
  • How well will they fit in to the team and the company environment.
  • What techniques and methodologies do they use to manage databases.
  • How will they impact the current database management practices.
The type of DBA you are trying to hire greatly impacts how you interview the candidates. I don't care to ask a lot of syntax questions or a lot of technical minutia. I want to understand:
  • The depth and breadth of their knowledge.
  • Their methodology and approach to managing databases.
  • How they solve problems.
  • Their commitment and work ethic.
I could write a white paper on explaining the rationale behind each of these questions, but I'll cut to the quick and give a ten step process to interview a new DBA candidate. These questions assume you are looking for a production DBA. If your organization is new and you do not have the expertise to hire the right candidate, you need to hire a consultant that can help your organization through this process.
  1. What are four errors found in an alert (error) log that can ruin a DBA's appetite and how does the candidate avoid them?
  2. What are four performance bottlenecks that can occur in a database server and how are they detected?
  3. Ask them to explain their philosophy for database management and how they implement best practices and guidelines. This should include questions related to the configuration you are running (replication, cluster, OLTP, data warehouse, etc.).
  4. What area of database internals do they understand the best that helps them troubleshoot problems. Ask them to explain this area so you can get an understanding of their depth of knowledge in this area.
  5. Get ten common types of trouble tickets DBAs have solved in your organization and ask them how they would solve them.
  6. Get five difficult problems your DBAs have had to solve and ask them how they would solve them.
  7. Ask them to explain five things they have learned recently that makes them a better DBA and where they learned them.
  8. Set up a simple database environment. Ask them to use two different methods to back up the database. Break the database. Have them recover the database using the backups they created.
  9. Ask them to give a detailed explanation of setting up an environment for disaster recovery or an upgrade for an important database.
  10. Have them write or build a few things in the sample database to demonstrate their knowledge and experience. This should include typical tasks they will be expected to perform to manage the environment.

I like a three or four interview process. Each interview should only leave the candidates that meet the profile of the type of person you want to hire.
  • First interview I like to get a baseline if they match the resume they sent and do they meet the profile of what you are looking for.
  • Second interview I like to make very technical to see if they meet the technical profile of what you are looking for. Make sure you make this sufficiently in-depth for the position you are hiring. There should be no doubt at the end of this interview as to whether they have the technical skills or not for the position you have open.
  • Third interview I like different members of the team determine how well they will fit into your environment and then perform one more level of technical evaluation to make sure you have the right candidate.
Have fun and good luck. What are some of your favorite questions?

2 comments:

walterbyrd said...

Thing is: MySQL DBA positions seem to be practically non-existant.

I am in Denver, I see lots of ads for Oracle DBAs, and SQL-Server DBAs. But I very rarely see ads for MySQL or PostgreSQL DBAs.

Although there are very few full time MySQL DBAs, I was thinking that there may be a market for MySQL consulting.

Anybody have any thoughts on that?

Anonymous said...

I notice a huge knowledge of DBA interview based questions here. They are really good. But am sure that many of you would have been waiting to see the answers.
I was one among u until I found a bigger set of DBA questions and the corresponding answers in the below url:-
http://www.kanbal.com/index.php?/Database/dba-interview-questions-set-2.html

I cleared my interview based on these sets. there seem to a around 7 to 8 sents of such questions and answers. Happy learning.