I was interviewed for the position of Java Developer and I had to cover Java Basics Memory Management, Garbage Collection, Collections Framework, Generics, Threads, Concurrency, Deadlocks, Making Objects Thread Safe Unit Testing, Spy, Mock, Stub Spring Framework, life cycle of bean, scope of bean Dependency Injection, SOLID principles ORM (Hibernate) Indexing in DB and some general things and good practices of Software Engineering