• Discuss the role of abstract classes and interfaces in SOLID principles.

  • You have a legacy system with many concrete classes . How would you introduce an abstraction layer using interfaces without modifying the existing code significantly?

  • Explain dependency injection and how interfaces facilitate it .

  • How do youunit test classesthat depend onabstract classes or interfaces?

  • Discuss the limitations of using interfaces. Expertise Level of Developer Required to Answer this Question

  • Discuss the limitations of using abstract classes .

  • Explain the concept of "is-a" and "has-a" relationships and how they relate to inheritance and interfaces.

  • Can you create an instance of an abstract class? Expertise Level: Mid Level

  • Can you have a protected abstract method? What does it imply?

  • When should you mark a method as abstract?

  • Explain the difference between abstract methods and virtual methods.

  • How would you implement a template method pattern using an abstract class in C?

  • How would you implement a strategy pattern using interfaces in C?

  • Design a class hierarchy for a zoo management system using abstract classes and interfaces.

  • Explain how abstract classes and interfaces contribute to code maintainability and extensibility.Mid-Senior Level

  • What are the performance implications of using abstract classes vs. interfaces ?

  • Can an interface be sealed? Why or why not? Expertise Level: Mid Level

  • Can an abstract class be sealed? Why or why not?

  • What is the purpose of the abstract keyword in C ? Mid Level

  • How do you handle versioning issues when adding new methods to an interface?

  • Can you have astatic methodin aninterface(pre-C8) and how is itdifferent in C8 and later?

  • Can you have a static method in an abstract class ?

  • What are the access modifiers allowed for methods in an abstract class?

  • What are theaccess modifiersallowed formethodsin aninterface?

  • Describe a real-world scenario where you would use an abstract class .