
Life, the Universe and Technical Interviews - sahlhoff
http://diegobasch.com/life-the-universe-and-technical-interviews
======
tempestn
I tend to ask what I think is a rather simpler question in most interviews:
find the sum of the two largest (most positive) numbers in an array of
arbitrary integers. Consider the efficiency of your solution for very large
arrays.

It is amazing how many seemingly knowledgeable, intelligent people cannot do
this. And the vast majority of those who do, do it by sorting the array,
efficiency be damned.

Actually, I'd like a bit of feedback here. Is this something any decent
developer should be able to do with ease? Should it be obvious that it can be
done much more efficiently without running a sort on the array? Admittedly
there are minor gotchas with things like the initial conditions, but still,
I've been flabbergasted by how few people can even get close to a solution,
let alone a bug-free and efficient one.

~~~
Retric
I have seen plenty of useful code far worse than sorting such an array. IMO,
someone missing the 'obvious' choice in an interview question is completly
reasonable.

Thinking back how many people verified that the array was non empty and it had
more than one element? I call it the toy problem mindset, when coding you
consider things deeply but in meetings your looking for roadblocks not optimal
solutions.

PS: From a preformace standpoint sorting your array is relativly better than
ant of the posted solutions. Even though the article links to a much faster
method. Aka there x log x solutions when a log x solution exists.

~~~
tempestn
Most people didn't think to check that the array had at least two elements,
but more did that than managed to correctly loop through it.

I'm not sure what your PS is referring to. Which posted solutions, and what
article?

~~~
Retric
link at the top...

"life the universe and technical interviews" [http://diegobasch.com/life-the-
universe-and-technical-interv...](http://diegobasch.com/life-the-universe-and-
technical-interviews).

Every solution has a loop 1 to 1000000 which is N but then they check every
digit which is a log N making them N log N solutions. But there are Log N
solutions that avoid checking every possibility.

Ex:

s dup if 10 /mod recurse + then ; : f 0 1000000 0 do i s 42 = if 1 + then loop
;

------
autarch
FizzBuzz is a reasonable way to find people who can't code. I've been
surprised to find people with resumes that appeared decent who couldn't
complete FizzBuzz even given 20 minutes of time to do it in.

