“Obviously the job requires some pretty serious math skills. As the first-line screener, my job is basically to do a sanity check and make sure that you meet the baseline we’re looking for, so that we don’t waste our time and your time with further interviews that aren’t going anywhere. I see you’ve got an impressive resume and a lengthy career, so please don’t be offended if my questions seem simple; it’s not ajudgementon you, but a reflection of the goal here. Any questions? No? Good.”

“So here’s my first questions: What’s one plus one?”

Loser answer number 1:

“Geez… I don’t think anybody’s asked me to add one and one since elementary school. Is that really something you do? I’ve been working in this field for twenty years now, and I don’t think I’ve had to know one plus one even once… any competent professional has Excel, or a calculator, or _something_that will take care of details like that for them. I’d go so far as to say that anybody who’s manually adding single digit integers like that probably should be fired.”

Loser answer number 2:

“Oh, I remember this one! I haven’t actually done one plus one since kindergarten, but I studied up on the basics before this interview, and I remember that the answer is two. Here, let me write a two for you… It’s kind of curvy around the top, I think, like this… no, more like… here we are, that’s a two.”

Loser answer number 3:

“Eleven. Yes, I’m sure. No, there are no problems with my answer. You put the two ones next to each other, and it’s eleven. What the hell is wrong with you?”

The humor here’s pretty obvious, right? No reasonable person misses the fundamental problem with these answers, I hope. Any yet if you shift the field to computer science, suddenly people think these sorts of shenanigans are reasonable.

Of course nobody would implement ELEMENTARY_DATA_STRUCTURE_1 by hand in this day and age; it’s in the standard library on any platform worth dealing with (well… maybe not Cocoa…) and the folks writing the library probably spent a lot more time debugging and optimizing than you’ll ever be able to devote. You don’t get asked to implement these things because the interviewer’s going to steal your code and check it in to source control.

And you also don’t get asked because, gosh darn it, we totally need an idiot with an eidetic memory who can vomit code snippets he doesn’t understand. We have Google for that! We’re not testing your memory, but your ability to understand basic computer science principles and - gasp - write code! If you don’t have the code paged into memory right now, from our perspective that’s a HUGE WIN. We want to watch you re-derive things from fundamentals, not regurgitate all over Collabedit.