Response to Design Challenge #5 - Technical questions asked during a job interview for a data-related position

So what are some of the technical questions that can be used for both the interviewee and interviewer for a data-related position such as a modeler, analyst, architect, etc.?

We had some really thought-provoking questions come out of this design challenge. Many of these questions may not have necessarily a right or wrong answer but might instead test the interviewee’s thought process and problem solving ability. I enjoyed reading all of the questions and picked up a few new questions to add to my own interview question collection. Hope you benefit from these as well.

Before we get started with the questions, I mentioned in my last design challenge that we will randomly pick one person who responded to the design challenge to win a special prize. I take all of the names of people who submit responses to each design challenge, write them on little pieces of paper, and whichever piece my daughter Sadie picks up first will win the prize! If Sadie picks up more than 1 piece of paper, the first one she puts in her mouth wins! For this design challenge we had a large number of entries…and the winner is….drum roll please...Gordon Everest!

 Congratulations Gordon and your prize is on the way. Here is a picture of Sadie picking the winning piece of paper.

Ok, back to the design challenge. My first approach was to put the questions into categories. I was debating between the following categories:

  • Technical (“What is 3NF?”) verse the more warm and fuzzy (“Do you consider yourself to be an expert modeler?”)

  • Open-ended (“Tell me about your modeling career.”) verse closed ended (“What does ODS stand for?”)

  • Hands on (“Model thee information on this business card”) verse spoken (“What is 3NF?”)

But I quickly realized that many of the questions submitted contained more than just the questions. They contain a certain intention and explanation and in many cases a path to take through the questions. To  preserve this structure I felt the best way to list the questions is in the exact syntax as was submitted to me. Please find below the questions submitted by each contributor listed in alphabetical order by contributor.

 If you are going to be interviewing someone for a design-related position, consider this the possible menu of questions in which to ask to the candidate. If you are the candidate, you can study these questions and be prepared with answers. Thanks for the contributions!

Abbie Digeon

What I would suggest as a technical question (if you could construe it as such) is to ask them to logically model a marriage where 2 and only 2 people are involved in a marriage at any point in time. The 2 people are not the same person. And a marriage exists over a period of time. They cannot overlap (bigamy/polygamy is not allowed).  Whether or not you want to include same sex marriages is entirely up to you. I have asked this question and seen many funny scenarios. Anyhow, I don't know if this is "technical" but it sure weeds out some of those who are "DA experts".

Ben Ettlinger

Interesting challenge. When I was interviewing for jobs, I always expected to be asked things like what the second rule of normalization. I don’t think I was ever asked that or what Boyce-Codd was. The questions were always more practical like the question you were asked. When I do interviewing now one of my favorite questions is what was the most difficult modeling problem you had and how did you solve it? I also look through the resume and ask about some of the modeling assignments I see there. From the way those questions are answered you usually can get a good feel for the interviewees skill set. 

I then spend a good amount of time asking Erwin specific questions, as anyone coming on here has to have experience using the tool. If you ask about the RTB, web publishing, glossary etc. you can get a good idea about what they know. I also like to throw in a question involving a known ERwin bug to see how deep the knowledge is.

Gordon C. Everest

One question that I was asked that really took me by surprise:

 "Do you consider yourself a crack programmer?"

 This was many years ago when the term "crack programmer" had a well understood  interpretation in our industry and any questions relating to data modeling were as yet unknown.  I don't know how that phrase would be interpreted these days. Back then, it meant a really good programmer, fast and accurate.  An equivalent today might be an "ace programmer."

 The point of the question was to get a self evaluation of your own capabilities.  Today, I might ask "do you consider yourself to be a crack/ace/really good data modeler"?  This goes beyond just asking if you have had experience as a data modeler.  With regard to programming, I have known people who would write code forever, and never be able to produce working code - a clean compile and with correct logic.   With programs, it is not sufficient to be syntactically correct, i.e., follow the rules of the grammar.   Similarly, with data models it is not sufficient to be syntactically correct, that is, to use the constructs correctly.    It needs to be an accurate model (representation) of the universe of discourse, or the domain being modeled.  So the question might be:  Are you a really good data modeler?"

Lonna Hannan

What is the concept of abstraction in data modeling?  When and why should it be used?

Gary Hilgendorf

Kinda off the subject ... but your question of "What do you want to be when you grow up?" reminded me of a response a little girl once gave ... "ALIVE!!"  She probably meant physically; however, I think you could apply it to our mental, spiritual and career wellness as well. Okay ... technical questions.

 1) Define third normal form and give an example of placing a model in

third normal form.

 2) What is specialization/subtyping?  Give an example.

 3) What is your definition of meta data?  Give some examples of business related meta data?

 4) What's the difference between a dimensional model and a third normal form data model?

 5) Define as many of these acronyms as you can: (XML, LDM, PDM,  EAI, ODS, DSS, CIF, etc.. Also include a bogus one to see how an individual handles not knowing one of these provided they knew the rest)

PS  The thought behind these is to find a good senior data architect; however, what are the qualities of a good beginning data architect?  In other words, they might not know the majority of the answers; however, they have the qualities to make a good DA.  Define what qualities make a good DA (e.g. attention to detail, visually oriented, far sighted vs. near sighted, etc).

Moshe Japha

How's this for a way to gauge the candidate's grasp of abstraction:

 Part 1:  Model a 'simple' customer scenario  (Customer is usually far from simple-but don't tip the candidate off to that fact).  Say you are a manufacturer who sells business machines directly to other businesses.  (Here you can see if he allows for multiple addresses for different purposes, multiple contacts for different purposes and multiple ways to contact those folks).

 Part 2:  Now, a twist:  How do you model the fact that one of your customers may also be a supplier.  (Say a toner distributor who buys his copy machines from you).  You want to make sure that all of your systems are aware of this fact to ensure consistency in name and address info, applying special discounts, etc.  Feel free to modify your model from Part 1.  (You're looking for the classic party concept here.  If the candidate doesn't 'get it', then it's a good sign he/she's probably very physical-model oriented, and not into the need or concepts of logical modeling.)

Frank Palmeri

- Are you familiar with normalization?

- Have you completed any kind of data modeling training?

- What data modeling software or methodology do you currently use?

- How are your communications skills? (probably the most important question)

- Do you have any application programming, project management, or other technical background?

- Do you enjoy detailed, technical, and sometimes mind-numbing work?

- Are you familiar with the concept of redundant data?

- Are you familiar with CRUD matrices?

- Can you work under very tight deadlines?

- Do you at least follow all the new technologies? (Java, SOAP, XML, etc.)

- Can you maintain high work standards with the same or decreasing resources?

- Are you familiar with Referential Integrity?

- How do you enforce data element naming standards?

- What type of data dictionary do you use?

- Can you work well with users, programmers, testing staff, and all levels

of management?

- Do you have a thorough working knowledge of at least one major DBMS?

- Are you a member of DAMA or a modeling user group?

- Are you flexible when dealing with other points of view?

- Do you have a working knowledge of at least one major programming language?

- Can you assimilate large amounts of disparate data like performance statistics, record counts, buffer hit ratios, etc.?

- Can you accept the fact that most users and managers just want a database

that works with the minimum cost and complexity?

- Are you wedded to one particular database implementation (network, relational, etc)?

- Are you a self-starter who can do detailed, sometimes frustrating work, often with little supervising or other input?

- Are you familiar with self-referencing tables and bill-of-materials structures?

- Can you deal with sometimes stubborn DBAs who may not care about your designs?

- Can you effectively speak to users with nontechnical language that they can understand?

- Can you accept that others in the organization do not find data modeling as fascinating as you do?

- Can you work with less "glamorous" legacy databases and systems?

- Have you ever trained anyone in data modeling or design?

Terry Pence (Terry can be a tough interviewer! Him and I tag teamed on several occasions!)

They are ordered in level of difficulty, with #1 being the easiest.  I use these as a basis for more detailed follow-up questions, depending on the answers.  You'd be amazed at how many so-called data modeling "experts" cannot answer #2!

1.    How would you resolve a many-to-many relationship between two entities?

2.   At a high level and in order, what are the steps to 3NF?  5NF?

3.   Describe the general construct of a star-schema data model and why it's used in data marts (feel free to draw on notepad or whiteboard).

4.   What is an ODS and what various purposes can it serve in an enterprise DW architecture?

5.   What's the difference between a data mart and a data warehouse?

6.   What is a staging area and when it is needed?  Not needed?

7.   What is a Kimball "bridge" table and when would you use one?  What are the drawbacks?

8.   What is Kimball's Bus Architecture and in what business situations is it a good fit?  Where could it break down?

9.   Should an ODS be normalized or denormalized and why? (This is a great question with no right or wrong answer, but provides insight on the interviewee's cognitive thought process.  If you want to be nice, tell that to the interviewee upfront.)

10.  Describe Inmon-Imhoff's Corporate Information Factory concept and how data warehousing plays a role in it.

Graeme Simsion

It's a long time since I interviewed someone for a data modeling position, but we used to have a standard question.  We'd draw a E-R diagram - one entity and one recursive many-to-many relationship, both unnamed.  We'd then ask the open question "tell me about this structure" and, if needed to prompt them, a series of questions related to it:

1. Is this a legitimate modeling construct?

2. What business situation or rule does it represent?

3. Can you give me an example of where you might encounter such a structure?

4. How would you implement it in a relational database?

 Nice and easy - a couple of quick lines on a whiteboard, and a whole bunch of things to talk about.

Valerie Gonzales Wilkie

Here are some technical questions that I have asked potential data analysts/data architects primarily on a data warehousing project and some others I have for generic analysts.

  •  What is the difference between an OLTP, ODS, Data Warehouse and a Data Mart? 
  • What has been your level of experience in designing these types of systems?

  • How is data modeling different in a data warehouse environment than traditional data modeling? 

  • How would start the data model for a data warehouse? 

  • What are the different techniques used in building a dimensional model? 

  • Why would you use a "snowflake" schema over a "star" schema"?

  • What is the purpose of the data model in the data warehouse development?

  • What are the different levels of models that you have built and what has been your experience in the creation of these models?

  • How important are documenting business rules for the data warehouse?

  • How deep to you get in creating these business rules and how do you document them?

  • What do you like most about ERwin, least? 

  • What other case tools have you used and tell me one positive and one negative?

  • Describe the difference between logical and physical data models based upon your knowledge of the relational data model.

  • How do you discover the Primary Key?

  • What is your opinion on the use of Super-types and Sub-types?

  • When do you de-normalize?

  • What are data semantics?  Give us an example of the difficulties a data architect might face where semantics are unclear.

 

 

Need a refresher of this design challenge? Please click here