Pergunta de entrevista da empresa Deutsche Bank

It is a blend of OOP concepts, SQL, behavioral and few puzzles.