(e-mail address removed) said:
I want to have your opinion on how a candidate should be judged
for his programming skills in C ?
Here's one possible strategy:
Start by getting the candidates to write a correct, robust "hello,
world" C program. Most people simply can't do this in a correct
and robust manner. In fact, you can probably eliminate a good (or
bad!) 75% of candidates at this stage.
Once you've done that, ask the remainder to write a program that
adds two arbitrary integers (i.e. integers of any length) supplied
as argv[1] and argv[2], again in a correct and robust manner. For
example, the command line might be:
./add 739346584673839376487584638389 582473839893783736446474874162
Eliminate any candidates whose programs supply incorrect results.
(For the above example, 1321820424567623112934059512551 is the
expected result.)
Then eliminate any candidates whose programs don't handle incorrect
input (at least one argument is either not present or not an integer).
Then look through the programs and decide which candidate's code is
the most readable and robust.