Pergunta de entrevista da empresa NeoSOFT

What is dependency injection ? And then diff between abstract and interface