Pergunta de entrevista da empresa CONET

How does the lazy loading approach work? How do you make thread-safe code? Which types of locking mechanisms do you know in C#? How can you relate SOLID principles and dependency injection?