Junior Java programmer interview questions

  1. What is the purpose of finalization? - The purpose of finalization is to give an unreachable object the opportunity to perform any cleanup processing before the object is garbage collected.
  2. What is the difference between the Boolean & operator and the && operator? - If an expression involving the Boolean & operator is evaluated, both operands are evaluated. Then the & operator is applied to the operand. When an expression involving the && operator is evaluated, the first operand is evaluated. If the first operand returns a value of true then the second operand is evaluated. The && operator is then applied to the first and second operands. If the first operand evaluates to false, the evaluation of the second operand is skipped.
  3. How many times may an object’s finalize() method be invoked by the garbage collector? - An object’s finalize() method may only be invoked once by the garbage collector.
  4. What is the purpose of the finally clause of a try-catch-finally statement? - The finally clause is used to provide the capability to execute code no matter whether or not an exception is thrown or caught.
  5. What is the argument type of a program’s main() method? - A program’s main() method takes an argument of the String[] type.
  6. Which Java operator is right associative? - The = operator is right associative.
  7. Can a double value be cast to a byte? - Yes, a double value can be cast to a byte.
  8. What is the difference between a break statement and a continue statement? - A break statement results in the termination of the statement to which it applies (switch, for, do, or while). A continue statement is used to end the current loop iteration and return control to the loop statement.
  9. What must a class do to implement an interface? - It must provide all of the methods in the interface and identify the interface in its implements clause.
  10. What is the advantage of the event-delegation model over the earlier event-inheritance model? - The event-delegation model has two advantages over the event-inheritance model. First, it enables event handling to be handled by objects other than the ones that generate the events (or their containers). This allows a clean separation between a component’s design and its use. The other advantage of the event-delegation model is that it performs much better in applications where many events are generated. This performance improvement is due to the fact that the event-delegation model does not have to repeatedly process unhandled events, as is the case of the event-inheritance model.
  11. How are commas used in the intialization and iteration parts of a for statement? - Commas are used to separate multiple statements within the initialization and iteration parts of a for statement.
  12. What is an abstract method? - An abstract method is a method whose implementation is deferred to a subclass.
  13. What value does read() return when it has reached the end of a file? - The read() method returns -1 when it has reached the end of a file.
  14. Can a Byte object be cast to a double value? - No, an object cannot be cast to a primitive value.
  15. What is the difference between a static and a non-static inner class? - A non-static inner class may have object instances that are associated with instances of the class’s outer class. A static inner class does not have any object instances.
  16. If a variable is declared as private, where may the variable be accessed? - A private variable may only be accessed within the class in which it is declared.
  17. What is an object’s lock and which object’s have locks? - An object’s lock is a mechanism that is used by multiple threads to obtain synchronized access to the object. A thread may execute a synchronized method of an object only after it has acquired the object’s lock. All objects and classes have locks. A class’s lock is acquired on the class’s Class object.
  18. What is the % operator? - It is referred to as the modulo or remainder operator. It returns the remainder of dividing the first operand by the second operand.
  19. When can an object reference be cast to an interface reference? - An object reference be cast to an interface reference when the object implements the referenced interface.
  20. Which class is extended by all other classes? - The Object class is extended by all other classes.
  21. Can an object be garbage collected while it is still reachable? - A reachable object cannot be garbage collected. Only unreachable objects may be garbage collected.
  22. Is the ternary operator written x : y ? z or x ? y : z ? - It is written x ? y : z.
  23. How is rounding performed under integer division? - The fractional part of the result is truncated. This is known as rounding toward zero.
  24. What is the difference between the Reader/Writer class hierarchy and the InputStream/OutputStream class hierarchy? - The Reader/Writer class hierarchy is character-oriented, and the InputStream/OutputStream class hierarchy is byte-oriented.
  25. What classes of exceptions may be caught by a catch clause? - A catch clause can catch any exception that may be assigned to the Throwable type. This includes the Error and Exception types.
  26. If a class is declared without any access modifiers, where may the class be accessed? - A class that is declared without any access modifiers is said to have package access. This means that the class can only be accessed by other classes and interfaces that are defined within the same package.
  27. Does a class inherit the constructors of its superclass? - A class does not inherit constructors from any of its superclasses.
  28. What is the purpose of the System class? - The purpose of the System class is to provide access to system resources.
  29. Name the eight primitive Java types. - The eight primitive types are byte, char, short, int, long, float, double, and boolean.
  30. Which class should you use to obtain design information about an object? - The Class class is used to obtain information about an object’s design.
This entry was posted in Java. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

4 Comments on Junior Java programmer interview questions

  1. BabuRajendraPrasad
    Posted 12/16/2004 at 3:50 am | Permalink

    I found this site while searching for java/j2ee faq. The faq made available at this site are very much useful to both beginners as well as experienced people. Beginners will benefit in their interviews and experienced people will benefit to get clarifications on most of issues.
    I am very much thankful to the team for their valuable effort.

  2. GS
    Posted 3/14/2005 at 1:45 pm | Permalink

    Answer to Q15…Difference between static and non-static inner class

    -Static inner class: does not have access to members of outer class, one can get access to outer class members only by creating an object of outer class.

    -non-static inner class: has access to all the members of outer class.

  3. Posted 5/26/2005 at 11:01 am | Permalink

    we need more questions for interview regarding J2EE and EJB.

  4. Posted 6/2/2005 at 7:23 am | Permalink

    These are interesting questions. I consider myself to be an experienced java programmer, but in fact I knew the answers to less than half of these questions! They are really poking around in various nitty-gritty technical aspects of java.

    I suppose the more experience you have with java, the more likely you are to encounter these issues, and therefore know the answers to these questions, but I think I would ask a different type of question if I was an interviewer. Especially if you’re looking for a *junior* java developer

Post a Comment

Your email is never published nor shared. Required fields are marked *