What is a design pattern(DP)? What DPs do you know? Describe me the design pattern X, please. These are the questions you can hear in many technical interviews for object-oriented(OO) developer positions. I’ve heard many opinions for and against DP, but I think this is a must to know for a developer. It is not necessary to know all of them or even know implementation details by heart. It’s enough to know what the DP is about and what it actually does, and you can google the implementation details when you need it.