I know something about interface, abstract
But actually I want to know

When a interviewer ask or in a seminar, in a class,
1.what is interface?
2.what is abstract?
3.what are the definition of interface and abstract in the case of client/server and in core java part
4.difference is the difference of interface and abstract
5.why interface
6.why abstract ETC

please give me details theory, example, any link etc

Thanks & Regards
Manoj