views:

1945

answers:

7

I am seeking advice on how to ask a generic interview question that would test a candidate's programming aptitude. Is the following question on track or am I way off base?

'Using the data resulting from your completion of the Excel part of this test, write the code in the programming language of your choice, which would yield the average number of people with impaired hearing by city. For purposes of this test, only interested in the code that creates the dataset wanted and not all the other code that may surround it. Place comment statements (/* comment */) in your code to describe its purpose.’

Thanks for any advice you're able to give me.

A: 

Shouldn't you be more exact about the language? If you are seeking someone you must have an idea of the language you will work? What is the field of your research... this type of test is pretty general.

I personally do not like this type of test and your question seem to be realizable without programming (just using Excel)... is it normal?

Do you have a time limit? Can the candidate use Internet or not? I think we need more detail about what you are interviewing.

Daok
A: 

What exactly are you trying to figure out? If the candidate is capable of programming? If they know how to read in an excel file and interpret some data? The question will answer both those questions, but it won't necessarily select the best candidate.

If you're trying to measure the first (that is, you're looking for a candidate who can program, and you don't need any particular language skill) then you can rephrase your question as follows:

Given a set of inputs in the following format, write the portion of a program to determine the average number of people with impaired hearing by city. Follow standard programming conventions.

The answer to the question will show the following:

  1. Did they comment their code (i.e. is their code maintainable).
  2. Did they use a simple solution, or did they try to be clever. Nothing wrong with either approach, but it will tell you something about how they think.
Elie
+1  A: 

Hmm. This question isn't very generic. If the interviewees know their stuff, they can probably solve it in just a few lines (plus possibly the Excel interaction) and it just requires basic knowledge of some higher order list functions. Is this intentional?

(For example, using something set-based like SQL, or .NET with LINQ, or any number of languages with list comprehension, the real logic can be implemented in one single expression.)

Konrad Rudolph
+1  A: 

Indeed why to mix Excel and external language. It will not say much about candidate aptitude. To receive clear answer question also should be clear. So you then test if your candidate thinks in an expected direction. If you ask strange question which you cannot answer yourself and his response impresses you then next question will be who really interviews whom.

Din
+1  A: 

When you say "test a candidate's programming aptitude, that could mean one of several things:

  • You want to know if a non-developer has the aptitude to be a developer.
  • You want to know if a developer really does have the aptitude for programming.
  • You want to know how much programming aptitude a developer has.

Depending on which of these things you want to know, the set of questions will be different. I don't think you should rely on a single question.

One trap I ran into was a non-developer candidate who had strong programming aptitude according to the tests, but who discovered that he really disliked programming. So testing for aptitude isn't enough for non-developers.

Your question implies that you're testing a candidate who programs already. If so, I would start with something like FizzBuzz in the candidate's language of choice, and then work your way up until you hit a wall.

RoadWarrior
+4  A: 

I would suggest you re-read your question carefully as it seems incomplete.

There are grammatical errors in your question, and it is vague and long-winded.

Try numbering your requirements and being more precise.

Also, this is very confusing:

only interested in the code that creates the dataset wanted and not all the other code that may surround it.

^ what exactly do you want from the person being interviewed? There is nothing more that I hate than an employer who asks for strange programming tasks in a preliminary interview.

If you want something coded a specific way, BE SPECIFIC!! Dont leave it up to the programmer if you are looking for a certain style or specific answer. What do you mean, the "code that may surround it". Give an example atleast of what you DONT want. There is more than just "code" around Excel processing in a Windows app. There are project references that are needed, that are crucial and vital to the program you desire the interviewee to write.

If you want a dataset example, just ask for a dataset example. What does it have to do with Excel?

If I was even asked to code for Excel documents in an interview, I would probably walk out. But thats just me!!

Devtron
+3  A: 

So shout "Excel!" at the interviewee. You can then calculate his/her programming aptitude by dividing one by the time it takes them to leave the building in seconds.

Ali A