Capgemini interview question

What is an interface? and why do we use it in programming.