Frage im Vorstellungsgespräch bei Tata Consultancy Services

How do you design a thread-safe singleton? Functional interfaces and lambda expressions. Dependency Injection and Inversion of Control.