tl;dr:1st in a 4 part series on how to approach every programming interview, regardless of topic, starting with a framework for how to inspect the problem at hand: "Did I explicitly state what the input was? Did I clarify what the desired output was? Did I construct a simple example that could be solved by hand?"