Survive A SQL Server DBA Technical Interview

, 2007-10-12 (first published: )

Introduction

How to make a successful interview is always an interesting topic. A

successful interview, in and of itself, needs attention from many perspectives,

including behavioral, psychological, technical and even dressing details, 

But in this

article, I will focus on the technical part of a SQL Server DBA interview,

using my personal experiences in the last 10 years, from small companies to big

ones such as Microsoft, and IBM. I will only discuss preparation for technical

interviews, which are usually held by your project manager or senior technical

peers.

The article is mainly for a DBA with a few years' experience and will discuss

the three phases of an interview, i.e. Preparation, Presentation, and Post-cleanup,

which I call 3P phases.

About DBA type

Knowing what type of DBA your potential employer is looking for will

better guide you to the right direction for preparation. Generally, DBAs are categorized into three types (of course, there are lots of overlaps between

each other)

First type: Operation DBA. The major responsibility for this type of DBA is

to ensure the high-availability of a system, to monitor and keep the well-being of

the system, and to do daily DBA routine work, such as adding logins, database

backup / restore, on-going database maintenance (reindex / db size adjustments /

file defragmentation etc), performance tuning, database implementation and other ad-hoc requirements.

Skill requirements: Familiar with various performance counters (both system

and SQL Server related) and their implications, security / performance related

T-SQL statements, including DBCC statements, how to create / grant login,

network protocol configuration, backup / restore T-SQLs and sufficient knowledge

about log-shipping, replication, disaster recovery methodology etc.

Second type: Development DBA. The major responsibility for this type is to

translate user requirements into database model, which takes into consideration entity

relationship, data integrity, business rule conformation, and efficiency for the

whole system (mainly index/view design). The DBA is also involved in the

following tasks:

  • developing

    exemplary code templates that embed "best practice" in terms of security,

    performance, and maintenance consideration.

  • examining / performance-tuning other developers' code
  • final database deployment

Skill requirements: familiar with at least one data modeling tool (ERWin,

Visio or PowerDesigner etc), understanding index architecture, experts knowledge

about T-SQL and SQL Profile tool, sufficient knowledge about SQL Server best

practices.

Third type: Hybrid  DBA, who are required to be capable of every respect

of database administration, but may not necessarily be an expert on everything.

(Actually, I do not think one can be an expert on everything about database

administration).

Skill requirements: broad understanding of SQL Server system, and strong

capability to tackle any issues with independent research.

Preparation

The best approach to prepare for an interview is to treat the everyday work /

study

as if you would be asked a related question next day in an interview. For

example, when you are restoring a database, try to understand the related

restore statements, i.e. "restore filelistonly ", "restore headeronly", "restore

verifyonly", and when/how these statements are used. Never take anything for

granted, just act as if you were a kid, who dare to ask any question, to

yourself. The advantage of this approach is you learn more effectively while you

are working, with

no pressure but sense of achievement every time you learn something that you

know you will give "perfect" answers in your next interview.

Another practical approach is to act if you will be an interviewer who will

ask a candidate SQL Server questions next day. The benefit here, is that this

will no doubt drive you to pay more attentions to details. According to my

experience, it is much harder to ask excellent questions than to answer them,

esp. if the questions are targeted towards senior DBA level. For example,

assuming you are a project manager and are responsible to design an SQL Server

exam paper, people who pass the exam paper will work with you as your DBA, and

your DBA's technical skills will finally decide the fate of your project. In

this scenario, how to make out the exam paper is definitely no small task to you

as a PM.

My final suggested approach, though a little bit  luxury but 

really effective, is to get a senior DBA to be your mentor, and do a few

rehearsals before the interview. Working together with the mentor, you can

better understand your weakness through frank and honest opinions, thus improve

your weakness quickly and efficiently..

Presentation

Treat an interview as an opportunity to present your technical capability and

your affections for your profession.

For senior position hiring opportunity, we will often be asked some open

question, such as "what is your database admin strategy to ensure the high

availability of your system?", "how do you troubleshoot a slow system, which

originally run very well?"  and "how are you going to solve our discussed

problem ? " etc. There is no right or wrong answer to this type of question, but

there is definitely good or bad answer here in terms of logic, soundness, achievability

and also the most important part, i.e. your vision and passion and ambition.

For development-oriented DBAs, the presentation should be centered around how you

can make the data-driven solutions to solve / benefit the company's projects.

Here data model technique, application layer methodology, DMO, XML or other

data-related terms should appear at high frequency in your language. The point here

is to convince the interviewer that you can contribute a lot with the technology you have talked about.

For operation-oriented DBAs, the presentation needs to be about security,

performance, high-availability, efficiency and scalability, Demonstration of

your proficiency of various management tools, deep understanding of the SQL

Server architecture and innovative ideas in managing SQL Server system will

prove your value. Personally, I believe operation-oriented DBAs need to be very

strong in T-SQL and better in one of Window scripts (VBScript or JScript) to

take advantage of DMO (SMO in SQL2K5) because without programming, you can

hardly make an automated administration system, and thus you can hardly have any

innovation in managing multiple SQL Server systems. If you can do jobs of two or

three regular DBAs work, an employer will no doubt see the great value you can

make.

For hybrid-type DBAs, the presentation is more about your knowledge base in

various fields, and your capability in solving problems by research and learning.

My personal suggestion here is to publish some articles, or to get some

certifications to prove your capability and the broadness of your interests.

Post-fix

In this stage, the target is to give the interviewer/s the final pitch about

your value. Sometime, if you cannot answer the question in the interview, it is

still worthwhile to answer it in your "post-interview" time. This at least

demonstrates your integrity and your keen interests in the interview.

I remember in one interview I did not do very well in a T-SQL question (a

very complex query, and I used up my allowed time), the interviewer gave me the

answer finally. But after I reviewed it, I decided this is not the one I pursued, but I cannot think

out of the query immediately at the time. So after interview when I arrived home, I worked

on the query again, and finally got what I wanted. I later sent to my

interviewer the result, which I guess impressed him, because I got the offer

letter the next day.

Another time, I believe I answered very well in the interview. So after

interview, I sent a thank-you email, in which I commented about the technical

interview questions, stating which question is a good one and why, and which is

not because of what.

Summary

This article aims to provide some high-level guidelines to survive SQL Server

DBA technical interview. Of the three (3P) stages, I'd say Preparation is the

foundation stone that gives you strength to go to Presentation stage, while

Presentation stage is when you will shine, and the Post-fix stage is the last

try to solidify your value into the impression of your interviewers.

References

http://www.computerweekly.com/Article42138.htm

http://www.dyessconsulting.com/E-Books/InterviewBook/home.html

Rate

4.32 (28)

Share

Share

Rate

4.32 (28)

Related content

Pro Developer : This is Business

In his travels, Christopher Duncan has come to recognize a great many similarities between programmers and musicians. Both have the fire, passion and soul of the artist. And all too often, both are aweful when it comes to the business end of things. Business - you know, that aspect of your work where they actually pay you at the end of the day?

2003-02-25

3,490 reads