BenchMatrix interview question

What is abstraction? What are design patterns