Basic Interview
Basic Interview
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
Q: What is JVM?
A: JVM stands for Java Virtual Machine. It's a piece of software sitting between OS and your
application, and it knows how to run portable applications in various OS.
Q: Which version of JDK/JRE do you use?
A: For Sun's JDK, JDK 1.1, JDK 1.2, JDK 1.3, JDK 1.4, JDK 5 (a.k.a. JDK 1.5), JDK 6 are valid
answers. It's possible you may be using IBM's JVM, or BEA's JRockit JVM, or Apple's JVM.
java.io.IOException java.lang.IllegalStateException
java.io.FileNotFoundException java.lang.IllegalArgumentException
javax.servlet.ServletException java.lang.ArrayIndexOutOfBoundsException
Q: Can you explain primitives and their wrapper types (primitives vs wrappers)?
A: It's a bit hard to define a primitive. Just give some examples: boolean, char, int, short, float,
double, long, and their corresponding wrapper types are Boolean, Character, Integer, Short,
Float, Double, and Long. Primitives are not object types, and therefore you can't invoke any
methods on them. Primitives are small values and can usually be directly operated on without the
overhead of an object. But sometimes we do need an object representation, e.g., when storing
them in a collection, hence the need for wrapper classes.
Starting from JDK 5, thanks to autoboxing, primitives and their wrapper classes can be used
interchangeable in most cases.
10)What is casting?
Ans: Casting is used to convert the value of one type to another.
11)How many ways can an argument be passed to a subroutine and explain them?
Ans: An argument can be passed in two ways. They are passing by value and passing by
reference.Passing by value: This method copies the value of an argument into the formal
parameter of the subroutine.Passing by reference: In this method, a reference to an
argument (not the value of the argument) is passed to the parameter.
finalize( ) : finalize( ) method is used just before an object is destroyed and can be called
just prior to garbage collecollection
finally : finally, a key word used in exception handling, creates a block of code that will
be executed after a try/catch block has completed and before the code following the
try/catch block. The finally block will execute whether or not an exception is thrown. For
example, if a method opens a file upon exit, then you will not want the code that closes
the file to be bypassed by the exception-handling mechanism. This finally keyword is
designed to address this contingency.
15)What is UNICODE?
Ans: Unicode is used for internal representation of characters and strings and it uses 16
bits to represent each other.
16)What is Garbage Collection and how to call it explicitly?
Ans: When an object is no longer referred to by any variable, java automatically reclaims
memory used by that object. This is known as garbage collection.System.gc() method
may be used to call it explicitly.
Volatile: Volatile modifier applies to variables only and it tells the compiler that the
variable modified by volatile can be changed unexpectedly by other parts of the program.
Anonymous class : Anonymous class is a class defined inside a method without a name
and is instantiated and declared in the same place and cannot have explicit