Fuel3D interview question

Explain the difference between weak, unique and shared pointers.