Object Oriented Programming (OOP) 1 Encapsulation 1 Polymorphism 1 Inheritance 1 Abstraction 2 Differences between Abstraction and Encapsulation 2 General Questions about Java 3 What is JVM ? Why is Java called the Platform Independent Programming Language? 3 What is the Difference between JDK and JRE ? What does the “static” keyword mean ? Can you override private or static method in Java ? Can you access non static variable in static context ? What are the Data Types supported by Java ? What is Autoboxing and Unboxing ? What is Function Overriding and Overloading in Java ? What is a Constructor, Constructor Overloading in Java and Copy-Constructor Does Java support multiple inheritance ? What is the difference between an Interface and an Abstract class ? What are pass by reference and pass by value ? Java Threads 6 What is the difference between processes and threads ? Explain different ways of creating a thread Which one would you prefer and why ? Explain the available thread states in a high-level What is the difference between a synchronized method and a synchronized block ? How does thread synchronization occurs inside a monitor ? What levels of synchronization can you apply ? What’s a deadlock ? How do you ensure that N threads can access N resources without deadlock ? Java Collections 8 What are the basic interfaces of Java Collections Framework ? Why Collection doesn’t extend Cloneable and Serializable interfaces ? What is an Iterator ? What differences exist between Iterator and ListIterator ? What is difference between fail-fast and fail-safe ? How HashMap works in Java ? What is the importance of hashCode() and equals() methods ? What differences exist between HashMap and Hashtable ? What is difference between Array and ArrayList ? When will you use Array over ArrayList ? What is difference between ArrayList and LinkedList ? What is Comparable and Comparator interface ? List their differences What is Java Priority Queue ? What do you know about the big-O notation and can you give some examples with respect to different data structures ? What is the tradeoff between using an unordered array versus an ordered array ? What are some of the best practices relating to the Java Collection framework ? What’s the difference between Enumeration and Iterator interfaces ? What is the difference between HashSet and TreeSet ?