Also, there are strategies for managing the time problem. 20 minutes is a bit fast for understand => ask questions => implement => test on this problem. But you can organize the code so that if you run out of time it's still clear you knew how to solve the problem and can code your way out of a wet paper bag. E.g., I would pass an answer that got everything correct but didn't get around to implementing isPalindrome() or isSoCS() before the 20 minutes was up, especially if the candidate could give a ~1 minute description of how to implement those functions. (I would also give more than 20 minutes.)