How do you interview a Database Programmer/ Admin applicant?

Here’s my top 10 interview questions for senior database administrators, and here’s Tom LaRock’s top 10 questions for junior DBAs.

I’ve noticed other people suggest that the candidate should troubleshoot a server. If you take that approach, use a virtual machine with a snapshot. Set up a server a specific way with certain config or performance problems, take a snapshot of it, and then after every interview you can roll back to the snapshot.

If you do that, confine the tasks to the kinds of tasks you’d actually have them do. Don’t ask a production DBA about normalization, and don’t ask a development DBA why one node won’t join the cluster.

Production DBA tasks might be:

  • Set up jobs for backups, index maintenance, and DBCCs. See if they ask you how often you want the database backed up, and if you want it backed up locally or across the network. Don’t ask them how to configure a particular tape backup software unless it’s already on their resume.
  • Find out why Johnny can’t log in and run his query.
  • Someone’s complaining of a slow query. Show me where you’d look to find out what’s going on. Then say they just called up and said their query finished, but they want to make sure it doesn’t happen again.
  • Restore a single table from last night’s backup.

Development tasks might be:

  • Debug this stored procedure.
  • Interpret this execution plan.
  • Create a view to join customers to invoices.

Use the AdventureWorks schema. Odds are they haven’t played with it recently, but at least it’s easy to explain.

Leave a Comment