I recently attended an interview and they asked me the question \"Why Interfaces are preferred over Abstract classes?\"
I tried giving a few answers like:
You only get one shot at inheritance. If you make an abstract class rather than an interface, someone who inherits your class can't also inherit a different abstract class.