Today's Tale from the Interview comes from Scott McNair. Don't forget to submit your own interview story, from either side of the table. 

The company I was working for had an opening for an additional .NET developer, and the technical portion of the interview process fell to my coworker and me. We wanted to make sure we had candidates with average-to-strong SQL experience, so we came up with a question that would hopefully expose the candidate's knowledge.

Our first candidate was "Mary", a 20-something-year-old woman who was obviously very nervous about being interviewed. We chatted her up for a few minutes, trying in vain to relax her.

Eventually we got to the meat of the interview: the technical question.

"Suppose we wanted an application that handled time-off requests for employees. The employee would submit a time-off request, which would then be forwarded to their supervisor. The supervisor could either approve or deny the request, or send it back to the employee for changes. The request would then pass up the chain of command until it was finally received by the head of the department, who could ultimately approve the request and submit the final item to HR. Our question is this: if you were to design such an application, how would you go about designing the underlying data structure?"

Mary sat there and thought for a minute, and then another minute. "Boy, it's hot in here!" she remarked. John got a fan out of a neighboring office and pointed it in Mary's general direction.

Mary pondered for another minute. "Well..." Another minute went by.

"There's no set response to this question," I said, trying to reassure Mary. "We're mainly interested in seeing how well you think out of the box."

Another minute passes. "Let's see..." Another minute. "You would need, let's see, a variable..."

John glances in my direction. I look down at my keyboard.

"...and a constant..."

I find a nice spot on the wall next to my desk and stare at it pointedly.

"...oh, and a, what's that called? A flag! Yes, a flag!"

John took a deep breath. "So, you're saying that in the database design you'd include a constant, a variable, and a flag?"

"Yes, that's right!" Mary exclaimed, obviously pleased with her reply.

Even though the interview technically went on for a few minutes after that, it unofficially ended at that moment.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!