From: wags@cimage.com (Bill Wagner /10000)
Subject: Re: Question to test general C knowledge
Reply-To: wags@cimage.com (Bill Wagner)
Organization: Cimage Corporation
Date: Mon, 14 Dec 92 15:34:11 GMT

In article <1992Dec14.043655.5230@athena.mit.edu>, scs@adam.mit.edu (Steve Summit) writes:
|> There's probably a more appropriate place to discuss this, but
|> what the heck.
|> 
|> > I had to do this for co-ops in my past.  What I did was ask them to 
|> > [write] a small C function on paper.  
|> > ...
|> > 2.  Input is a pointer to an array of 10 integers.  Sort the array.
|> 
|> Sorting problems are certainly far and away the most common quick
|> programmer assessment questions, and probably account for a
|> significant fraction of the number of unnecessary (i.e. all of
|> them) bubble sort implementations in the world today.  What I'd
|> like to know is, would the people posing such questions grade me
|> higher or lower for presenting an answer which relegated all work
|> to qsort()?  (Chapter two of The Elements of Programming Style
|> opens with a similar observation: "If our purpose is to teach how
|> to compute the minimum, we write [code deleted] which is direct
|> and to the point...  But if we are just trying to get the job
|> done, we use the Fortran built-in function AMIN1[.])
|> 
|> 					Steve Summit
|> 					scs@adam.mit.edu

This is one of the questions I have used, and suggested here.  The point
here is not that I want someone to do this when working.  I want to find
out what they know specifically about the C language.  When we look for 
applicants, one of the skills listed is a level of proficiency in C.  
All the resumes we get indicate some level of expertise in the language.
I use this, and the question about reversing strings to assess that
knowledge.  (If someone writes on their resume' that they have spent the
last n years writing C and can't write a simple function to sort some 
integers in the limited time allocated to an interview, I am going to
have definite reservations about the individual (both his C knowledge
and his honesty.)  If you gave me the above answer, I would heartily 
agree and still ask for some notes.  (As an aside, I would 'grade' you
higher, you also show that you know and would espouse a more elegent 
solution than the one being foisted on you.)  

My point is that this group has been asking for a (hopefully) small set 
of interview questions.  Another comment made which I respect is the 
comment about what to do when interviewing someone who says they have 
no C knowledge, but are confident of their ability to learn.  I would 
find that a valid answer, and depending on the other applicable knowledge,
would not bias me against that individual.  These quizzes are for 
weeding out those individuals who are trying to B.S. their way to a 
job.  I will quiz someone on every bit of knowledge that is claimed on
a resume.  I have UNIX shell programming questions, regular expression
quizes, C++ quizes, MS windows ... . . If an applicant claims a set of 
knowledge, I take that as a right to assess it.  

The bulk of time when I am interviewing someone is to pose one of the 
design problems we are working on, or have recently concluded and ask
the interviewee how he/she would solve it.  We have a whiteboard, and 
markers and have a very lively and useful discussion.  That is what I
use as the biggest single factor.  I get to find out how someone thinks
on their feet, and how they will apply what knowledge they have.

-- 
-------------
          Bill Wagner                USPS net: Cimage Corporation
Internet: wags@cimage.com                      3885 Research Park Dr.
AT&Tnet:  (313)-761-6523                       Ann Arbor MI 48108
FaxNet:   (313)-761-6551

"One should be able to see that things are hopeless, and yet be 
determined to make them otherwise."  - F. Scott Fitzgerald
Newsgroups: comp.lang.c