Cognizant interview question

what is a stack? what is dynamic programming?