Summary
This chapter covered the most popular questions about OOP fundamentals and 10 design coding challenges that are very popular in interviews. In the first part, we began with OOP concepts (object, class, abstraction, encapsulation, inheritance, polymorphism, association, aggregation, and composition), continued with the SOLID principles, and finished with an amalgam of questions combining OOP Concepts, SOLID principles, and design pattern knowledge. In the second part, we tackled 10 carefully crafted design coding challenges, including designing a jukebox, a vending machine, and the famous hash table.
Practicing these questions and problems will give you the ability to tackle any OOP problem encountered in an interview.
In the next chapter, we will tackle Big O notation and time.