Levi9 interview question

How does immutability work in Java? Differences between primitive types and objects? Any useful design patterns?