Wednesday, September 26, 2007

Java Interview Questions-11

Question: What is Serialization and deserialization?
Serialization is the process of writing the state of an object to a byte stream. Deserialization is the process of restoring these objects.

Question: what is tunnelling?
Tunnelling is a route to somewhere. For example, RMI tunnelling is a way to make RMI application get through firewall. In CS world, tunnelling means a way to transfer data.

Question: Does the code in finally block get executed if there is an exception and a return statement in a catch block?
If an exception occurs and there is a return statement in catch block, the finally block is still executed. The finally block will not be executed when the System.exit(1) statement is executed earlier or the system shut down earlier or the memory is used up earlier before the thread goes to finally block.

Question: How you restrict a user to cut and paste from the html page?
Using javaScript to lock keyboard keys. It is one of solutions.

Question: Is Java a super set of JavaScript?
No. They are completely different. Some syntax may be similar.

Question: What is a Container in a GUI?
A Container contains and arranges other components (including other containers) through the use of layout managers, which use specific layout policies to determine where components should go as a function of the size of the container.

Question: How the object oriented approach helps us keep complexity of software development under control?

We can discuss such issue from the following aspects:

o Objects allow procedures to be encapsulated with their data to reduce potential interference.

o Inheritance allows well-tested procedures to be reused and enables changes to make once and have effect in all relevant places.

o The well-defined separations of interface and implementation allows constraints to be imposed on inheriting classes while still allowing the flexibility of overriding and overloading.

Question: What is polymorphism?
Polymorphism allows methods to be written that needn't be concerned about the specifics of the objects they will be applied to. That is, the method can be specified at a higher level of abstraction and can be counted on to work even on objects of yet unconceived classes.

Question: What is design by contract?
The design by contract specifies the obligations of a method to any other methods that may use its services and also theirs to it. For example, the preconditions specify what the method required to be true when the method is called. Hence making sure that preconditions are. Similarly, postconditions specify what must be true when the method is finished, thus the called method has the responsibility of satisfying the post conditions.

In Java, the exception handling facilities support the use of design by contract, especially in the case of checked exceptions. The assert keyword can be used to make such contracts.

Question: What are use cases?
A use case describes a situation that a program might encounter and what behavior the program should exhibit in that circumstance. It is part of the analysis of a program. The collection of use cases should, ideally, anticipate all the standard circumstances and many of the extraordinary circumstances possible so that the program will be robust.

Question: What is the difference between interface and abstract class?

o interface contains methods that must be abstract; abstract class may contain concrete methods.

o interface contains variables that must be static and final; abstract class may contain non-final and final variables.

o members in an interface are public by default, abstract class may contain non-public members.

o interface is used to "implements"; whereas abstract class is used to "extends".

o interface can be used to achieve multiple inheritance; abstract class can be used as a single inheritance.

o interface can "extends" another interface, abstract class can "extends" another class and "implements" multiple interfaces.

o interface is absolutely abstract; abstract class can be invoked if a main() exists.

o interface is more flexible than abstract class because one class can only "extends" one super class, but "implements" multiple interfaces.

o If given a choice, use interface instead of abstract class.

No comments:

My Ad