Questions to ask a possible DBA

  • The company I work for is in the process of looking for a 'formally trained' DBA.  As part of that process, I want to put together a list of 8 to 12 different questions that might be used to probe the actual knoweldge that a potential candidate has.  The intent is to use something like the QoD question format -- a question, and a multiple choice answer set.  In addition, there will be a space below the question to answer "If you do not know, how would you find out?"  We are looking for questions ranging from the basic to the complex.

    One possibility, clearly, is to look over these forums, and the QODs, and see what issues, questions, and other things are common problems.  However, I would like to see the ideas of the posters here:  What do you think should be asked of a possible SQl Server DBA?

    Brendt Hess, RS Medical

     (We are in Vancouver, WA, if anyone is interested in the position, BTW.  e-mail me at 'bhess(at)rsmedical(dot)com' and I will forward the requests on to my boss)

  • The questions you are looking for are depending on what type of DBA you are looking for, Developement DBA, production DBA or on both side?

    For Development DBA, I would focus on Database Design, Data Modeling, Stored Procedure programming, DTS and programming languages like ASP, VB etc and application performance tuning.

    If yor are lloking for production DBA, He/she has to be familar with SQL Server setup/configuration, Clustered SQL Server administration, Database performance tuning, Disaster recovery, security management, daily SQL Server administration and troubleshooting etc.

     

     

  • As production DBA, He/She also has to be good in NT/2000 servers administration too.

  • Good point.  We are looking for both, of course.  Management specs are for a Production DBA with Development skills, especially in Data Modeling, performance tuning, and Stored Proc programming.

    Brendt Hess

  • A few thoughts : http://qa.sqlservercentral.com/columnists/sjones/whodoyouhire.asp

    Feel free to steal some QOD questions if you want. They will at least give you an idea of this person's knowledge. I'd put them on paper (no multiple choice) and let the person answer them by himeself over 15 minutes or so. then give them a break and review the answers with someone technical.

    The questions to pick obviously depend on what you are looking for.

  • http://www.manyquestions.com/sqldetail.aspx

    http://www.databaseanswers.com/what_is_a_dba.htm

    might also give you some ideas

    --
    Frank Kalis
    Microsoft SQL Server MVP
    Webmaster: http://www.insidesql.org/blogs
    My blog: http://www.insidesql.org/blogs/frankkalis/[/url]

  • What's "formally trained" mean?

    --
    Adam Machanic
    whoisactive

  • I would think you may want to ask questions on procedures, skill sets & previous experience. Especially "How would you handle this?" Scenarios. Personally, If you have to ask for questions to ask then you really need to sit down and think what are you hiring this person to do and build your questions around the skills your going to need that person to be able to accomplish.

  • If you're really hardcore, sit the candidates down in front of a machine that you've prepared earlier w/ a database with some problems.  Give them a task list, ranging from very simple to very complex.  Stand back and watch.  You'll learn very quickly whether this person has the skill and experience level you're looking for.

    --
    Adam Machanic
    whoisactive

  • Well, currently I am the working DBA for the system, and all my knowledge sort of 'accreted' to me on an as-needed basis, from web sites, BOL, and trial and error.  What management wants is someone who has either sufficient DBA experience, or hands-on and classroom training as well as experience, to be able to anticipate future needs, better define hardware needs based on observed patterns of usage, etc.

    As a DBA, I'm not bad for a smaller company.  However, since last year was a 'slow growth' year for us at 18% growth, things are starting to grow faster than I can do them.  Also, I am still expected to be a standard developer + tech troubleshooter.  Add DBA in on that, and the DBA tasks get shortchanged.

    Brendt

  • Personally, If you have to ask for questions to ask then you really need to sit down and think what are you hiring this person to do and build your questions around the skills your going to need that person to be able to accomplish.

    Unfortunately, I am not involved directly with the Q&A/Interview.  I suggested that it might be a good idea to have a few tech type questions to put to the applicants, and my boss agreed -- deadline Wednsday noon, don't neglect your other tasks to do this.

    I have put together a ten-question package that covers some of what I would want to know:

     

    If you do not know the answer to a given question, you should state what resources you would use to find the answer to the question.

     

     

     

     

    1        What is Normalization?  Why do it?  When and why would you not want to normalize?

                                                                                                                                               

                                                                                                                                               

                                                                                                                                               

                                                                                                                                               

     

    2        Given the ability to specify whatever hardware you need or want, how would you configure a server or servers to handle four different busy databases for 500+ users?  What physical server and storage hardware would you recommend?  How would you configure the databases to work with this?  Assume that at least some queries require access to all of the databases in the same query, and that speed of operations is essential.

     

                                                                                                                                               

                                                                                                                                               

                                                                                                                                               

                                                                                                                                               

     

    2a  How would you vary this if data integrity was more important than speed of operations?

     

                                                                                                                                               

                                                                                                                                               

     

    3        What is a clustered index?

     

                                                                                                                                               

                                                                                                                                               

     

    4        How many indexes are allowed per table?  ____   How many Clustered indexes?  ___

    5        What should be in a clustered index?

     

                                                                                                                                               

                                                                                                                                               

     

    6        You are the DBA at a multinational company that has a company standard to use unicode data types. A developer has asked you to create the following table:

     

    CREATE TABLE Employees (

    EmployeeID nvarchar(10),

    EmployeeName nvarchar(255),

    EmployeeSocial nvarchar(255),

    EmployeeStartDt datetime,

    EmployeeReviewsMemo nvarchar(2040),

    EmployeeNotes nvarchar(2040)

    )

     

    What would be the result of creating this table? (Circle one or more answers)

     

    1)  The maximum length of a nvarchar field is 255 characters

    2)  The above syntax would not parse due to syntax errors

    3)  The table would create with no issues

    4)  SQL Server would issue a warning and create the table

    5)  SQL Server would issue an error and not create the table

     

     

    7        You are a SQL Server DBA for a heavy OLTP environment. On Friday, you receive a call from your support group saying that they cannot access any data from within the application. You run sp_lock and notice that there is a exclusive database lock that is owned by spid 128. How could you diagnose what stored procedure the user is executing to create the lock and problem?  (Circle one or more answers)

     

    1)  Turn on Profiler and monitor what spid 128 is doing

    2)  Run DBCC PROCCACHE

    3)  Run DBCC PROCCACHE(128)

    4)  Run SP_WHO(128)

    5)  Run SP_WHO2(128)

    6)  Run DBCC INPUTBUFFER(128)

     

     

    8        You are a data security officer for a large corporation. Your database organization has sysadmin access to the SQL Server 2000 server that stores the human resource information. You want to protect a part of the employee table, which holds salary information from the DBAs and do not want them to see a employee_salary column. What is the best way to do this?  (Circle one answer)

     

    1)  Deny access to the employee_salary column for the DBA logins

    2)  Revoke access to the employee_salary column for the DBA logins

    3)  Encrypt the data in the employee_salary column using a 3rd party tool or the application

    4)  Add the DBA logins to the DENY_DB_READER database role

    5)  You must do all the above to protect the column

     

     

    9        You have recently setup a clustered SQL Server 2000 environment. The primary node's name is NODE1 and the secondary node's name is NODE2. The applications connection string points the app to the NODE1 IP address. When a failover occurs due to a reboot, all the connections lose connectivity to the SQL Server and it can't be established again until NODE1 resumes ownership. What is the most likely cause?

     

    1)  You must put both IP addresses in DNS so NODE1 can direct to either server

    2)  You must use the CONNECTIONSTRING2 property in the connection string to automatically connect to the standby server.

    3)  You must ensure that the connection string is connecting to the virtual IP address (VIPA) versus NODE1's real IP address.

    4)  There is probably a firewall problem disallowing connection to the second server.

    5)  You must ensure that MDAC 2.6 is installed on the client

     

    10   Your SQL Server 2000 (SQL Server service pack 2) fails over to another node in the middle of the night. In researching the failure, you find a "Write Delay Error" in the System event log. What of the following is the first thing you should research when troubleshooting an error like this?

     

    1)  Microsoft Clustering Services (MSCS)

    2)  SQL Server

    3)  Operating System

    4)  Hardware   

    Any suggestions for changes or additional questions?

  • Just curious, if you're currently the only DBA why aren't you going to be involved in the interviewing process?  Sounds like a management SNAFU to me...

    --
    Adam Machanic
    whoisactive

  • With apologies to Nancy White

     

    In Dilbertlandia, Everyone's a bozo

            Nobody's got a brain  (oooh!  oooh!)

    It's a place where being a peon

            Does nothing for your self esteem....

     

Viewing 13 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic. Login to reply