IBM interview question

Design patterns