Given a set of n steps and the constraint that you can skip steps up to a maximum of m steps at a time, how many different ways are there to climb the full set of stairs?
This question is usually given with a fixed value of m. This simplifies the question slightly by fixing that variable. Supporting any value of m is a trivial modification. I did add it in my solution because it allowed me to test different combinations in my tests. But adding support for any value of m in an interview setting would probably be considered over-engineering.
The hardest part for me was accepting the base case. I found it difficult to get my head around the idea that there is 1 way to climb a staircase with 0 steps. I can almost get there by thinking of it as a staircase with a null set of steps. But it's still odd to me. Once I got my head around that though, the rest of the solution came together pretty easily.