BlackRock interview question

1. Difference between Shallow copy and deep copy in C++/ 2. Implement a class based on the singleton pattern in Java. 3. Find the first common predecessor of a node in BST.