dynamic programming (solving overlapping subproblems) 1D solves problems by breaking them into overlapping subproblems and storing solutions to avoid recomputation. You use it when optimal solutions depend on optimal solutions to smaller instances. It transforms exponential recursive solutions into polynomial time by using a 1D array for memoization.
You'll see this in sequence optimization and counting problems. If you can explain these concepts in your own words, you'll solve related problems faster under interview pressure.