GDP Labs interview question

Palindrome, dynamic programming, design patterns, OOP