Pergunta de entrevista da empresa Ancestry

What is the difference between an interface and an abstract class and where and why would you use them?