This is the most commonly asked interview question. This interview question is being asked in almost all the dot net interviews. It is very important that we understand all the concepts of interfaces and abstract classes.
Interfaces are very powerful. If properly used, interfaces provide all the advantages as listed below.
1. Interfaces allow us to implement polymorphic behaviour. Ofcourse, abstract classes can also be used to implement polymorphic behaviour.
2. Interfaces allow us to develop very loosely coupled systems.
4. Interfaces enables us to implement multiple class inheritance in C#.
5. Interfaces are great for implementing Inverson of Control or Dependancy Injection.
6. Interfaces enable parallel application development.
If you can think of any other advantages of using interfaces, or if you can add more explanation, please feel free to do so using the form below.
For basic interview questions on interfaces, you can read this article.