

Can interview puzzles help find startup ideas? - nicholasjbs
http://www.unschooled.org/2010/12/can-interview-puzzles-help-find-startup-ideas/

======
nicholasjbs
Since my server is down for the count right now, here's the text of the post:

\---

I think there might be value to those dumb interview puzzles after all. Let me
explain.

Last week there was a Hacker News link to a post about a 140 interview
questions Google supposedly asks. I read over some of them and was quickly
drawn in. Not because I expect to be interviewing for a job, but because a
puzzle like that is like a virus that infects my mind. It spreads until it’s
my top idea, and then holds up residence until I solve it.

After figuring out a few of them and being frustrated by how long they took
me, I wondered if there were general strategies I could use to solve them.

One pattern quickly jumped out at me: Almost all of these puzzles exploit
blind spots in our thinking. Their answers frequently lie in assumptions we
don’t even know we’re making.

Have you heard the one about the four travelers who each walk at different
speeds and have to cross a bridge in 17 minutes?

It’s easy as soon as you realize you don’t have to send the same person back
right after he crosses, and that you don’t just want to optimize for the
return-trip time.

Or what about the one where you have to find which of eight balls is heavier
than the others, using a balance exactly twice? It’s straightforward as soon
as you stop assuming you should use a divide-and-conquer approach and weigh
all the balls in your first weighing.

Naval Ravikant and Andrew Parker both blogged about how many popular web
services have sprung from challenging assumptions about privacy. This is a
specific instance of what I’m talking about. We make certain assumptions about
privacy without always examining why we’ve made them.

Frequently it’s the case that the assumption was valid when we first made it,
but technological or social change has rendered it invalid. We still have lots
of those floating around our culture. How could we not? It’s not like all of
society is a giant decision-making machine that reevaluates every statement we
hold to be true the second a new technology pops up. As a whole, society goes
through this process gradually, as someone inevitably notices the
contradiction or error in our thinking and a new order begins to spread. Jobs
did this with the assumption that computers weren’t for personal use. Gates
did this with the assumption that the money was to be made in the hardware
rather than the OS business.

If you want to build a company that changes the world, look for these
assumptions. They’re in our collective blind spots. Places we don’t want to
look or places we look past every day. They’re buried treasures, because the
first person to identify one gets first mover advantage and a window of time
in which others haven’t realized what they previously held to be true isn’t.

~~~
ojbyrne
The eight balls thing is still divide and conquer - the insight is that you
can divide into 3 groups, not 2.

~~~
nicholasjbs
You're right.

I think the eight balls problem is particularly interesting, since it feels
like it was designed to exploit the way most CS people think.

~~~
richieb
Originally this puzzle was with 12 gold coins and three weighings...

------
MichaelGlass
I guess I'm not impressed by first mover advantage. I like second mover
advantage. First mover advantage is subject to too many problems. Confirmation
bias. Unseen players which make the better solution infeasible. etc.

In the end, execution is key. I value polish over cleverness. Someone who can
execute quickly and cleanly is who I want. Testing for those qualities is more
difficult and interactive than simple interview questions.

~~~
nicholasjbs
I don't think it's so much first-mover versus second-mover advantage but
rather an overall question of timing. I agree that being first doesn't matter
if the market and timing aren't right.

~~~
myoung8
The first-mover's Achilles heel, though, is that you're the one who has to
affect behaviorial change, which is the hardest part about building a company
that is trying to fundamentally change the way people, well, behave.

------
byoung2
I just had an interview with a few of these types of questions (find if the
permutations of a given word are in a list of words, write an algorithm to
fetch objects from an arbitrarily large list given that we can fetch a max of
100 at a time and users can scroll through results 10 at a time...blah blah
blah). I had good enough answers and I got the job. Guess what I had to do for
my first project...

~~~
jules
An application that scrolls trough a list of words that are permutations of a
given word 10 at a time?

~~~
byoung2
It was a photo galley app...the words in the list were tags that the user
types in, and the fetching of objects was to pull images from an Api using
Ajax to prefetch images and dynamically add them to the gallery as the user
scrolls.

------
philwelch
The page isn't loading for me right now, so all I have to go on is the title,
which gives the unfortunate impression that we should be doing "wash all the
windows in Seattle for a single fixed price" startups!

~~~
nicholasjbs
Agh, sorry! Looking into it. I have WP SuperCache installed so I don't know
what's going on.

~~~
patio11
Turn off Apache KeepAlive.

You aren't pegging the CPU, are you? Right now, you're probably using 0% CPU
or thereabouts, and you don't have a problem caching can solve. What you _do_
have is a limited pool of connections. Having KeepAlive on causes any browser
that grabs a connection for any reason to hold onto it for a few extra
seconds, to improve its performance on subsequent requests for e.g. static
resources. Unfortunately, if you have more clients than you can service, they
all get to wait until the keepalive period is over so that one connection gets
released, immediately satisfies an additional client with cached data, and
then does nothing for another few seconds. This looks to people in the queue
like your server died.

Apache KeepAlive defaults to on in several popular distributions, including
Ubuntu last time I checked. That default interacts very, very poorly with
common conditions for blogs in 2010.

~~~
nicholasjbs
Thanks. I just turned KeepAlive off.

(Edit: I don't think this was the original problem, since when the site went
down the CPU _was_ in fact pegged. Regardless, it sounds like I should have
KeepAlive off.)

