Does solving math problems make you a good programmer?
kaens: No, it shows that you're good at a particular type of problem-solving, which can be indicative of you being a good "programmer" all-around, as designing and implementing anything "larger" tends to involve the same type of mental processes used when you solve math problems like the ones you mention (at least from what I've seen).The problems that companies like Facebook put on their websites tend to be at least somewhat difficult - probably because they're dealing with rather non-trivial system design problems, and want to make sure you think in a way that will help them solve them, and don't want to limit themselves to the "I have x and y degrees" crowd.