Pergunta de entrevista da empresa Verivox

when use Interface and when abstract class and difference between trait?