I don't think much of the Codechef problems that people ask about here. They all seem like really contrived, esoteric problems. If I were hiring, I'd be interested in the candidate's knowledge of common data structures and algorithms, not esoteric ones.
I'll give an example of an interview question that I was asked 25 years ago. I liked it so much that I usually ask it myself.
You've given a large text file with a list of words. You're goal is to print out the all the unique words and how many times they occur, one per line. The output should be sorted by the number of times they occur. |
This is a whiteboard problem. I'm not looking for code, just for the approach and an algorithm. It can be solved with basic data structures that any CS grad should know. It can be solved efficiently or inefficiently.
Returning to codechef, I think it can be useful as a vehicle to practice programming. The problems are interesting in the same way that mathematical problems and puzzles are interesting, but like I said, many of the problems seem very esoteric. If you can't think up a fast algorithm to solve the problem, them move on to another problem.
Take a look at projecteuler.net instead. I did dozens of those problems and found them fun and interesting. When you complete a problem successfully, you get access to other people's answers. Sometimes you'll find a really clever and simple answer that you hadn't though of.