Published: Monday, January 25, 2010
Last Updated: Sunday, August 15, 2010
Source: About Technical Debates
A great statement from Scott Guthrie in his article entitled About Technical Debates
There is never only “one right way” to develop something. As an opening interview question I sometimes ask people to sort an array of numbers in the most efficient way they can. Most people don’t do well with it.
This is usually not because they don’t know sort algorithms, but rather because they never think to ask the scenarios and requirements behind it – which is critical to understanding the most efficient way to do it. How big is the sequence of numbers? How random is the typical number sequence (is it sometimes already mostly sorted, how big is the spread of numbers, are the numbers all unique, do duplicates cluster together)? How parallel is the computer architecture? Can you allocate memory as part of the sort or must it be constant? Etc.
These are important questions to ask because the most efficient and optimal way to sort an array of numbers depends on understanding the answers