HSBC interview question

What is dynamic programming? How and where do you use it