
Most Programming Interviews are a Waste of Time - epi0Bauqu
http://teddziuba.com/2008/10/most-programming-interviews-ar.html
======
ardit33
OMG. I got the EXACT questions from a recent interview. (maybe it is the same
company/person). And, yes, I gave the person a very good and practical answer,
but the pedantic answer is to have to pointers going in different speeds, (one
one step, the other two steps at a time), and if there is a circular loop they
will eventually meet.

Also, where you want to be in 5 years question, I answered: "Well, honestly I
don't know. I try not to plan so much in advance, as coming from an ex-
communist country I know first hand that 5-year plans just don't work. But I
know in the next 2-3 years I would like to work in the server side at this
company."

I also, have been to an interview where the interviewer seems to have made up
their mind right before the interview. Really weird.

The few interviews that I have enjoyed, was a very informal one, and nothing
esoteric. I was given two assignments, to solve. Real problems that they had
to solve, that involved multi-threading, queues and such.

Very cool. And I actually got an offer from this company.

~~~
anamax
> I also, have been to an interview where the interviewer seems to have made
> up their mind right before the interview. Really weird.

Yes, that is odd. Almost all interviewers make up their minds in the first 2-3
minutes. The rest of the interview gives them reasons supporting said
decision.

------
vecter
I disagree. If I was hiring, I'd be interested in top-notch people who are
passionate but also just really damn smart, rather than having, say, specific
platform or language knowledge. This is what Google did, and it's worked out
pretty well for them.

I interviewed for an APM position at Google yesterday and the guy gave me a
pretty tough technical question. It was actually harder than any of the dev
questions I got from them. After working through it, he said "You'd be
surprised how many people don't even give me the brute force solution." So
yeah, these questions have their merits.

~~~
bmj
But it's also possible to ask similar questions that involve the actual
technologies involved.

The hardest interview I've had was with my current employer. My now-supervisor
grilled me with Javascript and SQL questions. They were easy at first, and
became increasingly more difficult, to the point that I just had to "I don't
know" to a few of them. The questions required a bit of problem solving (so it
wasn't all technical details), so the process was just as important as the
answer, but in the end, it gave the interviewer a detailed view into my level
of competency with the technologies I would use daily.

It should be noted that I thought I bombed the interview, but a few weeks
later I had an offer in hand. When I got the call, I had a mind to ask him if
he had the right person. :-)

~~~
wildwood
A developer who is self-aware and mature enough to answer "I don't know" is
good to have around, and usually more valuable to a company than someone who
freaks out or starts making stuff up once they're outside their current range
of knowledge.

It's possible the interviewer was screening you for that as much as for your
technical skills.

------
bayareaguy
I enjoyed the Dr. Seuss image more then the article.

------
sbt
I couldn't agree more with the basic sentiment of this post. I'm so sick of
how knowing how to solve these test-the-basics questions is supposed to
determine whether a person will do a good job for the company.

This approach favors ambitious geeks who like to study tons of these problems
before hand, and only mildly helps those who are really bright.

Rather, the author has it quite right.

"Talk about projects, see if the guy gets animated. Combine that with some
pre-submitted code samples, and you can get a genuine idea of how suited the
candidate is."

This favors candidates who are genuinely interested in the particular job. The
best way to determine the aptitude of a candidate is to see how enthusiastic
he/she is about providing solutions to basic problems the company faces.

With this, I'm of course not implying that your company should hire any random
idiot, so spare me that. But I am saying that the virtues of the traditional
Spolskyan model are highly exaggerated.

------
AndyKelley
I thought it was a very generic article, without much useful information.

~~~
cstejerean
I thought the article was entertaining.

------
teej
"What The Interviewer Says: How would you find a cycle in a singly linked
list?"

I hate when interviewers ask that shit for web developer jobs. I can explain
the intricacies of Javascript and tell you why I use Active Record even though
it's shit, but all you want to see is how well I can recite the Gang of Four.

~~~
timr
The list-cycle problem is from Knuth, not Design Patterns.

~~~
eru
Or any other basic text. SICP has it, too. And they have exactly the same
follow up questiof of "reduce the space usage from O(n) to O(1)", too.

(Incidentally a related method is know as "pollard's rho" and used to factor
integers.)

~~~
gms
Can you explain how Pollard can be used to find cycles in a linked list?

~~~
eru
Please have a look at <http://en.wikipedia.org/wiki/Pollard_rho>

"The rho algorithm is based on Floyd's cycle-finding algorithm [...]" (which
can be found at [http://en.wikipedia.org/wiki/Floyd%27s_cycle-
finding_algorit...](http://en.wikipedia.org/wiki/Floyd%27s_cycle-
finding_algorithm#Tortoise_and_hare))

------
swombat
Absolutely, most programming interviews ARE a waste of time.

And so are most Ted Dziuba articles.

------
andrewf
The prospect of hiring someone who can't do the job well is terrifying.

Job interviews are about allaying this fear.

~~~
marketer
Andreessen has a great post about the process of job interviews:
<http://blog.pmarca.com/2007/06/how_to_hire_the.html> . He recommends not to
put too much weight on skill tests, and instead focus on things like drive,
passion, ethics, etc...

Having recently been through an interview that was a complete waste of time, I
can sympathize with the author of the post.

~~~
abstractbill
Right, but Andreessen also says, in that post:

 _For example, test programmers on basic algorithms -- linked lists, binary
searches.

Just in pseudocode -- it doesn't matter if they know the relevant Java library
calls.

It does matter if they are unable to go up to the whiteboard and work their
way through something that was covered in their first algorithms course._

------
forsaken
My interview for my current company was exactly like he was suggesting it
should go. I had some open source work they could look at. I had a degree so
they know I presumably could get through some technical stuff. We chatted at a
high level about technology. (Which javascript framework do you like? (Asked
to see if I had an opinion, not because any is necessarily better)). I think
that it has gotten to that point at a lot of legitimate companies, and the
ones who ask crazy questions like that, a lot of the time you don't want to
work for.

------
msluyter
A severe case of overgeneralization from a couple of suboptimal questions to
an overly broad conclusion. When I give interviews, I try to tailor questions
I ask to our environment and to the interviewer's skill set. I've also been in
a number of interviews where I was asked interesting and relevant questions.
If I were to generalize from my case, I'd say that tech interviews were
worthwhile, but that'd be just as dubious conclusion as the author's. We can
only conclude so much from anecdotal evidence and personal experience.

------
hypermatt
The O(N) one happened last week on an interview, I just smiled and let the
interviewer solve it and I still got the job. Not sure what the point of the
question was.

~~~
andreyf
So you had a bad interviewer... cycle detection is a really deep question,
read up on it:

<http://en.wikipedia.org/wiki/Cycle_detection>

------
gojomo
This sounds very familiar. Has he just republished an older work with a new
date?

------
known
To Interviewers:

Interview != Quiz

------
sabat
Most interviews are a waste of time, period. The question you're trying to
answer (as an interviewer) cannot be answered in an interview: is this person
intelligent, resourceful, and motivated? I know of no test outside of actual
employment that can answer that question.

