Jan 15, 2011

50 Java Questions

The following are the most commonly asked questions in a Java interview. These are all actual exam question which I have been asked in various interviews (around 20 interviews) and are in fact have been asked repeatedly in those interviews be it telephonic or f2f interviews. Even now I also ask questions from these topics and you can expect to be asked 5-10 questions out of these.

I am not providing answers for these as it will be reinventing of wheel. You can Google these questions as it is and find answers to them. Don't forget to write sample programs around each of these question. I am sure you will come to know more if you practice yourself.

1) What are the four principles of Object Oriented Languages like Java?
2) Is Java a pure object oriented language?
3) How will you write an immutable class?
4) What is the difference between Comparable and Comparator interfaces in Java?
5) What is hashcode and equals contract?
6) What is the difference between == and equals method?
7) What are wrapper classes? Why they are declared as final classes?
8) What is the difference between String and StringBuffer classes?
9) What is the way to store the integer value in a string object to an integer variable?
10) What are sorted collections in Java?
11) Why is String class declared as final class?
12) What is JDBC API?


13) What are checked and unchecked exceptions?
14) What is final, finally and finalize?
15) What is weakhashmap?
16) What is the purpose of reflection API?
17) What is serialVersionUID?
18) What is bucketing in Java?
19) How does Java manages the threads?
20) What are memory leaks and how to detect/avoid them?
21) What is the order of execution of blocks in a Java program?
22) What are the exception related rules in overloading and overriding?
23) What are the different ways of creating a thread?
24) What is inter thread communication?
25) What are instance and class level locks? What is synchronization?
26) What is the difference between IS-A and HAS-A relationship?
27) What is cloning and CloneNotSupported Exception?
28) What is the difference between JAR, WAR and EAR files?
29) What are the coding standards for naming variables, constants, methods and classes?
30) What is a literal and what is special about String literals?
31) What is flyweight design pattern?
32) How will you create a Singleton class? Is it thread safe?
33) What is the difference between throw and throws clause?
34) Can one access the private members of class using reflection API?
35) What is the purpose of instanceof operator?
36) Under what circumstances, the finally block in a program may not run?
37) What is the difference between private, protected, default and public access specifiers?
38) What are this and super keywords?
39) What are transient and volatile keywords?
40) How many package statements can a program have?
41) Are all the classes specified in import statement actually imported?
42) Can an inheritance relationship exist between two interfaces?
43) What is Unicode?
44) What are annotations in Java?
45) What are the various forms of polymorphism?
46) What is the meaning of various keywords specified in creating the main method?
47) What is the purpose of ^ operator?
48) What is the difference between pass by value and pass by reference?
49) What are the various types of inner classes?
50) What are the various memory areas in JVM and what kind of information is stored in each of them?

26 comments:

  1. Hi,

    Just to add now days people ask
    Why String is immutable in Java
    quite a lot which is quite logical because String is most used class in any java application.

    Thanks
    Javin
    FIX Protocol tutorial

    ReplyDelete
  2. Very good list. Should add to it why String is final.

    ReplyDelete
  3. Thanks for such a big response to this post.
    @javarevisited, @gautam

    The question about final sting class is already there in the list at number 11

    ReplyDelete
  4. What correlation have you seen between people who can provide correct answers to these questions and people who are effective Java programmers?

    ReplyDelete
  5. @pholser, the interview questions are purely theoretical in nature and writing Java programs is about using these concepts.

    For example, if someone doesn't know about serialVersionUID, how can make use of this feature of serialization.

    So it does make a difference to know the answers to these questions.

    But the worst part is that about 75-80% are not even aware of answers to these questions leave aside writing good programs.

    ReplyDelete
  6. Thanks for the list, some of them I definitely was rusty on. Thanks for the refresh =)

    I think that someone should seriously just ask someone about design patterns in java. I mean... the flyweight is great, but honestly the amount of developers Ive found doing MAJOR serverside back-end development and have no concept of a factory, or strategy pattern bewilders the mind.

    It seems that the problem with java is that the developers do not grow up with the design patterns in mind unlike a language like grails or ruby. I think a thorough study of some of the standard java libraries like the BufferedReaders and the IO system using the decorator pattern should be a major study by any developer.

    ReplyDelete
  7. nice post sandeep.

    It took 2 days for me to recap all answers for all the questions.

    Thanks
    Prasanth Jalasutram
    http://prasanthaboutjava.blogspot.com/

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. "What is the difference between pass by value and pass by reference?"

    One is a way of passing parameters in Java - the other isn't.

    This question shouldn't be asked since it implies that Java has more than one way of passing parameters.

    A better question is: "Is Java pass by reference or pass by value?" or maybe, maybe, "What is the difference between passing an object by reference and passing an object reference by value?"

    I'm amazed no one ever asks "What is the difference between pass-by-name and pass-by-result" in a Java context. It is just as valid a question, as the one about "by-value/by-ref".

    What is the difference between pass by value and pass by reference?

    ReplyDelete
  10. Good post, should mention StringBuilder in place of StringBuffer.

    ReplyDelete
  11. Good post, should mention StringBuilder in place of StringBuffer.

    ReplyDelete
  12. nice post sandeep.

    It took 2 days for me to recap all answers for all the questions.

    Thanks
    Prasanth Jalasutram
    http://prasanthaboutjava.blogspot.com/

    ReplyDelete
  13. Thanks for the list, some of them I definitely was rusty on. Thanks for the refresh =)

    I think that someone should seriously just ask someone about design patterns in java. I mean... the flyweight is great, but honestly the amount of developers Ive found doing MAJOR serverside back-end development and have no concept of a factory, or strategy pattern bewilders the mind.

    It seems that the problem with java is that the developers do not grow up with the design patterns in mind unlike a language like grails or ruby. I think a thorough study of some of the standard java libraries like the BufferedReaders and the IO system using the decorator pattern should be a major study by any developer.

    ReplyDelete
  14. @pholser, the interview questions are purely theoretical in nature and writing Java programs is about using these concepts.

    For example, if someone doesn't know about serialVersionUID, how can make use of this feature of serialization.

    So it does make a difference to know the answers to these questions.

    But the worst part is that about 75-80% are not even aware of answers to these questions leave aside writing good programs.

    ReplyDelete
  15. Thanks for such a big response to this post.
    @javarevisited, @gautam

    The question about final sting class is already there in the list at number 11

    ReplyDelete
  16. Hi,

    Just to add now days people ask
    Why String is immutable in Java
    quite a lot which is quite logical because String is most used class in any java application.

    Thanks
    Javin
    FIX Protocol tutorial

    ReplyDelete
  17. "What is the difference between pass by value and pass by reference?"

    One is a way of passing parameters in Java - the other isn't.

    This question shouldn't be asked since it implies that Java has more than one way of passing parameters.

    A better question is: "Is Java pass by reference or pass by value?" or maybe, maybe, "What is the difference between passing an object by reference and passing an object reference by value?"

    I'm amazed no one ever asks "What is the difference between pass-by-name and pass-by-result" in a Java context. It is just as valid a question, as the one about "by-value/by-ref".

    What is the difference between pass by value and pass by reference?

    ReplyDelete
  18. hi friends,
    nice efforts...very useful questions
    i have seen someother website for java programming interview questions and answers.you can download it in pdf.
    cheers.hope you love it and all the best for your interview preparation.
    here is the link
    java programming interview questions and answers

    ReplyDelete
  19. Very good standard collection

    ReplyDelete
  20. Hi..

    Thanks a lot for sharing the valuable information...

    Get the Latest Interview questions on  .net, php, java, core java, c, c++, ccna, oracle and many more....
    here is the link for the latest interview questions on core java for both experienced and beginners..

    core java interview questions and answers for experienced

    ReplyDelete
  21. check more interview questions at http://www.javacpass.com/javacpass/interviews.aspx

    ReplyDelete
  22. Check new Java related tutorials, Blogs and Articles on www.javacpass.com

    ReplyDelete
  23. a very good basic java question  and dedicated java forum. interested Java beginners can join here  and contribute to the community.Its a fresh startup but would be encouraging if java contribters join this group

    ReplyDelete
  24. Hi there, awesome site. I thought the topics you posted on were very interesting. I tried to add your RSS to my feed reader and it a few. take a look at it, hopefully I can add you and follow.

    ReplyDelete
  25. Hi

    I read this post 2 times. It is very useful.

    Pls try to keep posting.

    Let me show other source that may be good for community.

    Source: Research technician interview questions

    Best regards
    Jonathan.

    ReplyDelete