Basic Java interview questions

  1. What is a Marker Interface? - An interface with no methods. Example: Serializable, Remote, Cloneable
  2. What interface do you implement to do the sorting? - Comparable
  3. What is the eligibility for a object to get cloned? - It must implement the Cloneable interface
  4. What is the purpose of abstract class? - It is not an instantiable class. It provides the concrete implementation for some/all the methods. So that they can reuse the concrete functionality by inheriting the abstract class.
  5. What is the difference between interface and abstract class? - Abstract class defined with methods. Interface will declare only the methods. Abstract classes are very much useful when there is a some functionality across various classes. Interfaces are well suited for the classes which varies in functionality but with the same method signatures.
  6. What do you mean by RMI and how it is useful? - RMI is a remote method invocation. Using RMI, you can work with remote object. The function calls are as though you are invoking a local variable. So it gives you a impression that you are working really with a object that resides within your own JVM though it is somewhere.
  7. What is the protocol used by RMI? - RMI-IIOP
  8. What is a hashCode? - hash code value for this object which is unique for every object.
  9. What is a thread? - Thread is a block of code which can execute concurrently with other threads in the JVM.
  10. What is the algorithm used in Thread scheduling? - Fixed priority scheduling.
  11. What is hash-collision in Hashtable and how it is handled in Java? - Two different keys with the same hash value. Two different entries will be kept in a single hash bucket to avoid the collision.
  12. What are the different driver types available in JDBC? - 1. A JDBC-ODBC bridge 2. A native-API partly Java technology-enabled driver 3. A net-protocol fully Java technology-enabled driver 4. A native-protocol fully Java technology-enabled driver For more information: Driver Description
  13. Is JDBC-ODBC bridge multi-threaded? - No
  14. Does the JDBC-ODBC Bridge support multiple concurrent open statements per connection? - No
  15. What is the use of serializable? - To persist the state of an object into any perminant storage device.
  16. What is the use of transient? - It is an indicator to the JVM that those variables should not be persisted. It is the users responsibility to initialize the value when read back from the storage.
  17. What are the different level lockings using the synchronization keyword? - Class level lock Object level lock Method level lock Block level lock
  18. What is the use of preparedstatement? - Preparedstatements are precompiled statements. It is mainly used to speed up the process of inserting/updating/deleting especially when there is a bulk processing.
  19. What is callable statement? Tell me the way to get the callable statement? - Callablestatements are used to invoke the stored procedures. You can obtain the callablestatement from Connection using the following methods prepareCall(String sql) prepareCall(String sql, int resultSetType, int resultSetConcurrency)
  20. In a statement, I am executing a batch. What is the result of the execution? - It returns the int array. The array contains the affected row count in the corresponding index of the SQL.
  21. Can a abstract method have the static qualifier? - No
  22. What are the different types of qualifier and what is the default qualifier? - public, protected, private, package (default)
  23. What is the super class of Hashtable? - Dictionary
  24. What is a lightweight component? - Lightweight components are the one which doesn’t go with the native call to obtain the graphical units. They share their parent component graphical units to render them. Example, Swing components
  25. What is a heavyweight component? - For every paint call, there will be a native call to get the graphical units. Example, AWT.
  26. What is an applet? - Applet is a program which can get downloaded into a client environment and start executing there.
  27. What do you mean by a Classloader? - Classloader is the one which loads the classes into the JVM.
  28. What are the implicit packages that need not get imported into a class file? - java.lang
  29. What is the difference between lightweight and heavyweight component? - Lightweight components reuses its parents graphical units. Heavyweight components goes with the native graphical unit for every component. Lightweight components are faster than the heavyweight components.
  30. What are the ways in which you can instantiate a thread? - Using Thread class By implementing the Runnable interface and giving that handle to the Thread class.
  31. What are the states of a thread? - 1. New 2. Runnable 3. Not Runnable 4. Dead
  32. What is a socket? - A socket is an endpoint for communication between two machines.
  33. How will you establish the connection between the servlet and an applet? - Using the URL, I will create the connection URL. Then by openConnection method of the URL, I will establish the connection, through which I can be able to exchange data.
  34. What are the threads will start, when you start the java program? - Finalizer, Main, Reference Handler, Signal Dispatcher
This entry was posted in Java. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

5 Comments on Basic Java interview questions

  1. Posted 5/16/2005 at 12:34 pm | Permalink

    Answer to question 31 is correct but doesn’t seem to be appropriate.
    The different states of thread are Ready, Waiting, Running and Dead

  2. Posted 7/28/2005 at 12:58 pm | Permalink

    Answer 8 incorrect, also collides with answer 11. See String.hashCode()
    Answer 10 wrong IMO. Platform dependent.
    Answer 22 default is often referred to as friendly (see Bruce Eckel)
    Answer 26 maybe add sandbox info. Webstart makes the differentiation difficult
    Answer 27 using multiple classloaders -> interesting for people using tomcat
    Answer 31 not complete / question incorrect :)
    Answer 32 I believe one can also write to a socket
    Answer 33 limitations of unsigned applets in the sandbox

    This addendum is not guaranteed to be correct and its only my opinion. The interviewer should have a clue about what he is asking, so I guess its ok to include technical information here

  3. ssrao
    Posted 11/15/2006 at 7:27 am | Permalink

    A.21 is wrong.

    Correct is–>Abstract class can have static qualifier.

  4. chinmay
    Posted 3/7/2007 at 2:31 am | Permalink

    Difference between interface and abstract:
    All the methods declared inside interface should be abstract, and there is no need to use the key word “abstract” for those method, but in case of abstract class atleast one method should be abstract,most importantly u have to use the “abstract” key word for that method ,besides that it may contain concreat methods.
    abstract( )methods generally contain only declaration part

  5. praveena
    Posted 11/20/2007 at 2:14 am | Permalink

    A.5 is not exact

    Actually abstract classes can contain complete(having method definition and method body) and incomplete methods(having method definition but not method body) where as interface contains only incomplete methods and by default all the methods are abstract and public.

    The main difference is that if some classes have the same functionaliy and some are different then we use abstract classes bcoz the same method can be used by all its subclasses and write its own implementation for the abstract methods.

    But interface is used only when all the classes having different implementation classes for the methods of that interface.

Post a Comment

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

*
*