Dayforce Interview Question

What is encapsulation? What is an abstract class? Why would you use an interface? Have you ever written concurrent code, what are it's most common pitfalls?