"James A. Donald" <jamesd@echeque.com> wrote:
These are not tests of rote memorization. Someone who passes them by rote memorization is cheating. These are tests of ability to write a simple program.
You ask someone to write a bubble sort, not because anyone ever needs a bubble sort, but because the program you actually need someone to write cannot be looked up on the internet.
On 3/2/2017 6:52 PM, oshwm wrote:
Then what is the use of asking someone to write a bubble sort (which has been written a million times) - surely you should pick something that hasn't been written before?
It is convenient to ask someone to write a bubble sort because one can compactly express the problem. Another popular test is fizz buzz: Print out the integers 1 to 100, except that for each integer divisible by three print "fizz", for each integer divisible by five print "buzz" and for each integer divisible by both three and five, print "fizz buzz" There are a huge number of little tests like this, and because people are cramming on common ones like bubble sort and fizz buzz, you need to invent ever more obscure ones so that the cheaters will be unprepared. And, by and large, that is in fact what we are doing: Inventing ever more obscure tests to beat the cheaters. If your interviewees can guess the program they will be asked to write, you need to fire your interviewers.