HCLTech interview question

When interfaces are used and when abstract classes are used ?