Fog Creek Software
Discussion Board

Rubik's Cube

I always give my interviewee a Rubik's Cube I keep on my desk, and ask him to attempt to solve it.

Do you have any good algorithm for it?.
My best time is 40 secs.

The Oracle
Thursday, April 7, 2005

This sounds like a classic example of the "see how smart *I* am" interview question. 

The primary thing you get out of handing them a Rubik's cube is an excuse to show off that you still remember how to solve a 20 year old puzzle (unless you actually think that whether or not I can still remember a sequence of "front, side, top, antiside, top, antiside, bottom, etc" moves that I figured out 20 years ago to rotate corners has any relationship to my coding skills).


Friday, April 8, 2005

You can't just solve it by remembering the sequence of move, of couse I'm gonna ask you some kind of implementation. If he's able to solve it by heart and
not able to give me a good algorithm, he gets no
credit. However, that's just an excuse to talk about
logic, it doesn't influence in my decision on whether I'd
would hire him..

Friday, April 8, 2005

This relates to programming, how?  Tell him to explain hash tables, linked lists, stacks, queues, trees, etc.  Maybe make him take a weighted graph and build a shortest path algorithm in C.

However, if you're stuck on 20 year old games, have the person roll asteriods over 20 times while you're at it.. ah, those were the days :>

Saturday, April 9, 2005

TheOracle seems an arrogant prick. Exactly the boss no human needs.

Colin Dowell
Saturday, April 9, 2005

TheOracle, is it a 2x2x2 Rubik's cube which you can solve in 40secs?

Monday, April 18, 2005

There's nothing wrong with asking people to try to come up with an idea for an algorithm to solve a rubik's cube right off the top of their head.  Gets them thinking.  The only people I know of who would seriously try to intimate that this has nothing to do with coding are what I'd term 'code monkeys'.  People who don't have any real skill at solving logical problems, they really only know how to write code to implement someone elses existing solution to a problem.  ie., they aren't the brains behind the operation.

Saturday, April 23, 2005

Nothing wrong with having someone think about how to solve a Rubik cube, and describe their thinking aloud. However just throwing them the cube and asking them to solve it is not going to get you good programmers. The only thing that will tell you is whether they have spent a lot of time working with Rubik cubes before, and that doesn't correlate.

My response to this as an interviewee is simple and twofold. First I ask you why you want to know about my Rubik cube solving ability. Second, when the interview with Oracle is over and I get handed back to the HR person for a final overview, I ask if there is any chance that Oracle will be my boss. If there is I decline the position there and then.

David Clayworth
Monday, April 25, 2005

Ha ha, good one.

Monday, April 25, 2005

*  Recent Topics

*  Fog Creek Home