#Java Interview Questions and Answers
##Expectations
- Good Java Knowledge
- Source code
##Questions
###Java Platform
- 1.Why is Java so popular?
- 2.What is platform independence?
- 3.What is bytecode?
- 4.Compare JDK vs JVM vs JRE.
- 5.What are the important differences between C++ and Java?
- 6.What is the role for a classloader in Java?
###Wrapper Classes
- 7.What are Wrapper classes?
- 8.Why do we need Wrapper classes in Java?
- 9.What are the different ways of creating Wrapper class instances?
- 10.What are differences in the two ways of creating Wrapper classes?
- 11.What is auto boxing?
- 12.What are the advantages of auto boxing?
- 13.What is casting?
- 14.What is implicit casting?
- 15.What is explicit casting?
###Strings
- 16.Are all String’s immutable?
- 17.Where are String values stored in memory?
- 18.Why should you be careful about String concatenation(+) operator in loops?
- 19.How do you solve above problem?
- 20.What are differences between String and StringBuffer?
- 21.What are differences between StringBuilder and StringBuffer?
- 22.Can you give examples of different utility methods in String class?
###Object oriented programming basics
- 23.What is a class?
- 24.What is an object?
- 25.What is state of an object?
- 26.What is behavior of an object?
- 27.What is the super class of every class in Java?
- 28.Explain about toString method ?
- 29.What is the use of equals method in Java?
- 30.What are the important things to consider when implementing equals method?
- 31.What is the Hashcode method used for in Java?
- 32.Explain inheritance with examples.
- 33.What is method overloading?
- 34.What is method overriding?
- 35.Can super class reference variable can hold an object of sub class?
- 36.Is multiple inheritance allowed in Java?
- 37.What is an interface?
- 38.How do you define an interface?
- 39.How do you implement an interface?
- 40.Can you explain a few tricky things about interfaces?
- 41.Can you extend an interface?
- 42.Can a class extend multiple interfaces?
- 43.What is an abstract class?
- 44.When do you use an abstract class?
- 45.How do you define an abstract method?
- 46.Compare abstract class vs interface?
- 47.What is a constructor?
- 48.What is a default constructor?
- 49.Will this code compile?
- 50.How do you call a super class constructor from a constructor?
- 51.Will this code compile?
- 52.What is the use of this()?
- 53.Can a constructor be called directly from a method?
- 54.Is a super class constructor called even when there is no explicit call from a sub class constructor?
###Advanced object oriented concepts
- 55.What is polymorphism?
- 56.What is the use of instanceof operator in Java?
- 57.What is coupling?
- 58.What is cohesion?
- 59.What is encapsulation?
- 60.What is an inner class?
- 61.What is a static inner class?
- 62.Can you create an inner class inside a method?
- 63.What is an anonymous class?
###Modifiers
- 64.What is default class modifier?
- 65.What is private access modifier?
- 66.What is default or package access modifier?
- 67.What is protected access modifier?
- 68.What is public access modifier?
- 69.What access types of variables can be accessed from a class in same package?
- 70.What access types of variables can be accessed from a class in different package?
- 71.What access types of variables can be accessed from a sub class in same package?
- 72.What access types of variables can be accessed from a sub class in different package?
- 73.What is the use of a final modifier on a class?
- 74.What is the use of a final modifier on a method?
- 75.What is a final variable?
- 76.What is a final argument?
- 77.What happens when a variable is marked as volatile?
- 78.What is a static variable?
###conditions & loops
- 79.Why should you always use blocks around if statement?
- 80.Guess the output
- 81.Guess the output
- 82.Guess the output of this switch block.
- 83.Guess the output of this switch block?
- 84.Should default be the last case in a switch statement?
- 85.Can a switch statement be used around a String
- 86.Guess the output of this for loop
- 87.What is an enhanced for loop?
- 88.What is the output of the for loop below?
- 89.What is the output of the program below?
- 90.What is the output of the program below?
###Exception handling
- 91.Why is exception handling important?
- 92.What design pattern is used to implement exception handling features in most languages?
- 93.What is the need for finally block?
- 94.In what scenarios is code in finally not executed?
- 95.Will finally be executed in the program below?
- 96.Is try without a catch is allowed?
- 97.Is try without catch and finally allowed?
- 98.Can you explain the hierarchy of exception handling classes?
- 99.What is the difference between error and exception?
- 100.What is the difference between checked exceptions and unchecked exceptions?
- 101.How do you throw an exception from a method?
- 102.What happens when you throw a checked exception from a method?
- 103.What are the options you have to eliminate compilation errors when handling checked exceptions?
- 104.How do you create a custom exception?
- 105.How do you handle multiple exception types with same exception handling block?
- 106.Can you explain about try with resources?
- 107.How does try with resources work?
- 108.Can you explain a few exception handling best practices?
###Miscellaneous topics
- 109.What are the default values in an array?
- 110.How do you loop around an array using enhanced for loop?
- 111.How do you print the content of an array?
- 112.How do you compare two arrays?
- 113.What is an enum?
- 114.Can you use a switch statement around an enum?
- 115.What are variable arguments or varargs?
- 116.What are asserts used for?
- 117.When should asserts be used?
- 118.What is garbage collection?
- 119.Can you explain garbage collection with an example?
- 120.When is garbage collection run?
- 121.What are best practices on garbage collection?
- 122.What are initialization blocks?
- 123.What is a static initializer?
- 124.What is an instance initializer block?
- 125.What is tokenizing?
- 126.Can you give an example of tokenizing?
- 127.What is serialization?
- 128.How do you serialize an object using serializable interface?
- 129.How do you de-serialize in Java?
- 130.What do you do if only parts of the object have to be serialized?
- 131.How do you serialize a hierarchy of objects?
- 132.Are the constructors in an object invoked when it is de-serialized?
- 133.Are the values of static variables stored when an object is serialized?
###Collections
- 134.Why do we need collections in Java?
- 135.What are the important interfaces in the collection hierarchy?
- 136.What are the important methods that are declared in the collection interface?
- 137.Can you explain briefly about the List interface?
- 138.Explain about ArrayList with an example?
- 139.Can an ArrayList have duplicate elements?
- 140.How do you iterate around an ArrayList using iterator?
- 141.How do you sort an ArrayList?
- 142.How do you sort elements in an ArrayList using comparable interface?
- 143.How do you sort elements in an ArrayList using comparator interface?
- 144.What is vector class? How is it different from an ArrayList?
- 145.What is linkedList? What interfaces does it implement? How is it different from an ArrayList?
- 146.Can you briefly explain about the Set interface?
- 147.What are the important interfaces related to the Set interface?
- 148.What is the difference between Set and sortedSet interfaces?
- 149.Can you give examples of classes that implement the Set interface?
- 150.What is a HashSet?
- 151.What is a linkedHashSet? How is different from a HashSet?
- 152.What is a TreeSet? How is different from a HashSet?
- 153.Can you give examples of implementations of navigableSet?
- 154.Explain briefly about Queue interface?
- 155.What are the important interfaces related to the Queue interface?
- 156.Explain about the Deque interface?
- 157.Explain the BlockingQueue interface?
- 158.What is a priorityQueue?
- 159.Can you give example implementations of the BlockingQueue interface?
- 160.Can you briefly explain about the Map interface?
- 161.What is difference between Map and sortedMap?
- 162.What is a HashMap?
- 163.What are the different methods in a Hash Map?
- 164.What is a TreeMap? How is different from a HashMap?
- 165.Can you give an example of implementation of navigableMap interface?
- 166.What are the static methods present in the collections class?
###Advanced collections
- 167.What is the difference between synchronized and concurrent collections in Java?
- 168.Explain about the new concurrent collections in Java?
- 169.Explain about copyonwrite concurrent collections approach?
- 170.What is compareandswap approach?
- 171.What is a lock? How is it different from using synchronized approach?
- 172.What is initial capacity of a Java collection?
- 173.What is load factor?
- 174.When does a Java collection throw UnsupportedOperationException?
- 175.What is difference between fail-safe and fail-fast iterators?
- 176.What are atomic operations in Java?
- 177.What is BlockingQueue in Java?
###Generics
- 178.What are Generics?
- 179.Why do we need Generics? Can you give an example of how Generics make a program more flexible?
- 180.How do you declare a generic class?
- 181.What are the restrictions in using generic type that is declared in a class declaration?
- 182.How can we restrict Generics to a subclass of particular class?
- 183.How can we restrict Generics to a super class of particular class?
- 184.Can you give an example of a generic method?
###Multi threading
- 185.What is the need for threads in Java?
- 186.How do you create a thread?
- 187.How do you create a thread by extending thread class?
- 188.How do you create a thread by implementing runnable interface?
- 189.How do you run a thread in Java?
- 190.What are the different states of a thread?
- 191.What is priority of a thread? How do you change the priority of a thread?
- 192.What is executorservice?
- 193.Can you give an example for executorservice?
- 194.Explain different ways of creating executor services.
- 195.How do you check whether an executionservice task executed successfully?
- 196.What is callable? How do you execute a callable from executionservice?
- 197.What is synchronization of threads?
- 198.Can you give an example of a synchronized block?
- 199.Can a static method be synchronized?
- 200.What is the use of join method in threads?
- 201.Describe a few other important methods in threads?
- 202.What is a deadlock?
- 203.What are the important methods in Java for inter-thread communication?
- 204.What is the use of wait method?
- 205.What is the use of notify method?
- 206.What is the use of notifyall method?
- 207.Can you write a synchronized program with wait and notify methods?
###Functional Programming - Lamdba expressions and Streams
- 208.What is functional programming?
- 209.Can you give an example of functional programming?
- 210.What is a stream?
- 211.Explain about streams with an example?
- what are intermediate operations in streams?
- 212.What are terminal operations in streams?
- 213.What are method references?
- 214.What are lambda expressions?
- 215.Can you give an example of lambda expression?
- 216.Can you explain the relationship between lambda expression and functional interfaces?
- 217.What is a predicate?
- 218.What is the functional interface - function?
- 219.What is a consumer?
- 220.Can you give examples of functional interfaces with multiple arguments?
- 221.What are the new features in Java 5?
- 222.What are the new features in Java 6?
- 223.What are the new features in Java 7?
- 224.What are the new features in Java 8?