When I google the question, I find that it's a question that Facebook has asked while interviewing potential engineers. There are also lot of potential solutions, including the one ForumsMods posted above (which is an algorithm called 3SUM,
http://en.wikipedia.org/wiki/3SUM). I think the point of the question is recognizing that the obvious solution (adding together every combination of 3 numbers) is not an efficient algorithm compared to other ways of doing it. I think if I wanted to hire a good software engineer I might ask some similar questions, but I'd probably wait until the interview or at least pick one that couldn't be solved so easily using a search engine.