
Signature
Eric Sosman
esosman@ieee-dot-org.invalid
> All this attention given to memorizing long lists of
> questions and answers baffles me. What good can it do for
> anyone?
It gets you through bad interviews delivered by poor interviewers. In
some markets (and India is terrible for this), this sort of "rote
learning" is far too common.
> "If you had the project to do over again, what
> would you do differently this time, and why?"
Nice question 8-)
Here's a little snippet from my inbox this morning, via a colleague in
Kuala Lumpur.
It's an interesting question, much more open-ended than "What's the
foo-bar method called?" stuff. It might even find you a candidate
that's a bit _smart_, not just one who crammed a Q&A list the night
before.
> Found this from internet, apparently someone get it from Google job interview.
>
[quoted text clipped - 10 lines]
>
> Have fun!
bugbear - 16 Jan 2008 14:17 GMT
>> Found this from internet, apparently someone get it from Google job interview.
>>
[quoted text clipped - 8 lines]
>>
>> -8,7,3,-2,-5,6,7, answer [7,3,-2,-5,6,7], sum is 16
Hmm. Discussed at length in one of Jon Bentley's
"programming pearls" books, which are compilations
of his CACM columns (all IIRC)
Circa 1985?
BugBear
Lew - 16 Jan 2008 14:35 GMT
>>> Found this from internet, apparently someone get it from Google job
>>> interview.
[quoted text clipped - 16 lines]
>
> Circa 1985?
One good thing about that question is that it tests programming skill more
than Java skill.
Too many Java programmers, aside from not being able to spell the language,
really don't know how to program. It's not really their fault; "Joel on
Software" a while back blogged as to how teaching Java in undergrad programs
diminishes the effectiveness of programmer education. (No pointer arithmetic,
not enough low-level pain.)

Signature
Lew
Joshua Cranmer - 16 Jan 2008 23:54 GMT
> Too many Java programmers, aside from not being able to spell the
> language, really don't know how to program. It's not really their
> fault; "Joel on Software" a while back blogged as to how teaching Java
> in undergrad programs diminishes the effectiveness of programmer
> education. (No pointer arithmetic, not enough low-level pain.)
I have actually had a long discussion on this with some teachers (for
the high school level). The problem with programming is that teaching
someone C is liable to steer them away. But after learning such low-ish
level languages, the ability to understand further languages greatly
increases.
I have seen a large class of people, taught one year of Java and at
least having taken the APCS exam, struggle to get C code working and
utterly collapse at mild assembly (an inability to use gdb aggravates
the problem). The newer, script-ish languages like Ruby and python would
be even worse in the sense of continuing on in programming languages.
Perhaps other problems might be poor teachers: I had one CS teacher who
swore that the "instanceof" keyword was a method. Learning a programming
language can be difficult if the teacher his/herself does not have a
good grasp on it: many high school CS teachers are actually math
teachers given the task of teaching CS.
Note: this is in the context of the required programming course that all
high school students had to take at my school.

Signature
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth
Stefan Ram - 17 Jan 2008 00:36 GMT
>swore that the "instanceof" keyword was a method. Learning a programming
I had a hard time learning to type »instanceof«
instead of »instanceOf«. (Regarding the discussion
about consistent naming currently happening in this
newsgroup.)
P. Lepin - 16 Jan 2008 18:30 GMT
> It's an interesting question, much more open-ended than "What's the
> foo-bar method called?" stuff. It might even find you a candidate
[quoted text clipped - 4 lines]
>> print out the largest sum of sequential subset of numbers from the given
>> list."
Not that I advocate interview questions of the 'what's the signature of
fooBar() method of IBazQuux interface' variety, but while this is an
interesting problem, I think it's a bad interview question. It took me all
of an hour to figure out an O(n) solution, and another half an hour to
prove its correctness (well, looks like a proof to me and one other guy, so
there). I suppose that means I would've blown the interview where this
question was asked, and honestly, I don't think I'm that bad a deal.
The problem I have with this question is that it measures a more...
mathematical side of aptitude for software engineering. Sure it's good for
a software shop to have a scary resident algorithms & data structures guru,
who can quote from Knuth in his sleep. Someone has to handle
performance-critical stuff and instill fear in lesser mortals. But the
skills I would like to see in J. Random Developer working with me on one of
those awfully boring fish & chips business process projects are of a more
linguistic nature: being good at functional decomposition, above all, which
is an ontological and taxonomical task in a manner of speaking. Heck, I
would even prefer a guy who merely writes readable code in accordance with
accepted guidelines and maintains the internal docs in order over the one
who intuitively comes up with merge sort instead of bubble when first asked
about sorting.
I don't know, maybe I'm horribly wrong there, but it's just my feeling that
in applications development that's ultimately more important than
understanding computational complexity and being capable of keeping it as
low as possible everywhere.

Signature
Presented in Brain Control where available.
...
> But Dhanraj wants interview questions ... All right,
> Dhanraj, here's a question I always ask when interviewing,
[quoted text clipped - 4 lines]
> the outset. If you had the project to do over again, what
> would you do differently this time, and why?"
...
That's similar to one of my favorites.
I don't see any point in programming language questions. The resume
presumably indicates an acceptable background, or the interview would
not be happening. If the resume is inflated, I'll find out in a few
minutes of technical discussion on a couple of arbitrarily chosen
projects from it.
Patricia