Pregunta de entrevista de Verivox

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