JAVA Technical Interview Questions
-
Q 1. What is the difference between JDK and JRE?
-
JDK (Java Development Kit) is used by developers for
creating Java applications and includes the necessary tools,
libraries, and compilers. -
JRE (Java Runtime Environment) is used by end-users to run
Java applications and provides the runtime environment and
essential class libraries, but does not include development tools.
-
Q 2. What are the benefits of using Java?
-
Portability: Java code can be run on any platform that has aJava Virtual Machine (JVM).
Security: Java has a built-in security model that helps toprotect users from malicious code.
Object-oriented: Java is an object-oriented programminglanguage, which makes it easy to create modular and reusable code.
Robust: Java is a robust language that is designed to bereliable and efficient.
Widely used: Java is a widely used language that has a large
community of developers and support resources.
-
Q 3. What are the different components of the Java platform?
-
The Java platform is a software environment that provides a
standard way for developing and running Java applications. It
consists of the following components
-
Java Virtual Machine (JVM)
Java Runtime Environment (JRE)
Java Development Kit (JDK)
-
Q 4. What are the different types of Java data types?
There are two types of data types in Java: primitive data types
and non-primitive data types.
boolean
byte
short
int
long
float
decimal places
double
char
- Primitive data types
String
Array
Class
Interface
Enum
-
Q 5. What are the different types of Java control statements?
-
There are three types of control statements in Java:
-
Decision-making statements (if, if else & switch)
-
Looping statements (while, do while & for)
-
Jump statements (continue & return
-
Q 6. What are the different types of Java exceptions?
-
Checked exceptions are exceptions that must be declared inthe method signature. If a checked exception is thrown in method, the method must either handle the exception ordeclare it to be thrown. If the method does not handle the exception, the compiler will generate an error.
There are two types of exceptions in Java: checked exceptions
and unchecked exceptions
-
Q 7. What are the different types of Java classes & Java
interfaces
-
Normal classes are the most common type of class in Java.They can have fields, methods, and constructors.Abstract classes are classes that cannot be instantiated. Theycan only be used as a base class for other classes.Normal interfaces are a collection of abstract methods. Aclass can implement an interface, therebyinheriting theabstract methods of the interface.Marker interfaces are interfaces that do not contain anymethods. They are used to indicate that a class has a certain property or behavior.
There are two main types of Java classes:
There are also two main types of Java interfaces:
-
Q 8. What are the different types of Java libraries & Java
frameworks?
-
A Java library is a collection of reusable Java classes andinterfaces.
A Java framework is a collection of reusable Java classes,interfaces, and code that provides specific functionality.
Apache Commons
Google Guava
Joda-Time
JUnit
Mockito
some examples of Java libraries:
Spring
Hibernate
JSF
-
Grails
Struts
some example
-
Q 9. What are the different types of Java tools?
-
User threads :are the threads that are created by the user or
application. They are high-priority threads and the JVM will
wait for any user thread to finish its task before terminating it.
Daemon threads: are the threads that are created to provide
services to user threads. They are low-priority threads and are
only needed while user threads are running. Once all user
threads have finished their execution, the JVM will terminate
Q 10. What are the different types of Java networking?even if there are daemon threads still running.
-
Q 10. What are the different types of Java networking?
-
Client-server networking is a type of networking where thereis a client application that requests a service from a serverapplication. The server application then provides the serviceto the client applicationPeer-to-peer networking is a type of networking where two ormore applications communicate directly with each otherwithout the need for a server
-
Object-Oriented Programming:
-
Q 1. What is the difference between Proceduralprogramming and OOP?
-
Procedural programming is a top-down approach toprogramming, where the program is divided into a series offunctions that each perform a specific task.OOP, on the other hand, is a bottom-up approach toprogramming, where the program is divided into objects thateach represent a real-world entity.
-
Q 2. What are the core concepts of OOP?
-
Abstraction: Abstraction is the process of hiding the
implementation details of an object from the user. This allows
the user to focus on the object’s functionality without having
to worry about how it works.
Encapsulation: Encapsulation is the bundling of data and
codes into a single unit. This makes it easier to maintain and
update the code, and it also makes it more difficult for users
to accidentally modify the data.
Inheritance: Inheritance is the ability of an object to inherit
the properties and methods of another object. This allows
developers to reuse code and create more complex objects
with fewer lines of code.
Polymorphism: Polymorphism is the ability of an object to
behave differently depending on its context. This allows
developers to write code that is more flexible and easier to
maintain.
-
Q 3. What is the difference between Overloading and Overriding?
-
Overloading refers to the ability to have multiple methods witthe same name, but different parameters. Overriding refers to the ability to have a method in a subclass
that has the same signature as a method in a superclass.
-
Q4. What is the difference between static and dynamic binding?
-
Static binding occurs when the compiler determines the method to be called at compile time. This is the most common type of binding in OOP, and it is used for both static and non-virtual methods.
Dynamic binding occurs when the method to be called is notdetermined until runtime. This is used for virtual methods,which allow for polymorphism
-
Q 7. When do you use interface and abstract class in Java?
-
Abstract classes and interfaces are both used to achieveabstraction in object-oriented programming.
Abstract classes are similar to normal classes, with thedifference that they can include abstract methods, which aremethods without a body. Abstract classes cannot beinstantiated.
Interfaces are a kind of code contract, which must beimplemented by a concrete class. Interfaces cannot have state, whereas the abstract class can have state with instance
variables.
-
Q 8. What are the challenges of using OOP in Java?
-
Complexity: OOP can make code more complex, especiallywhen dealing with large and complex systems.
Overhead: OOP can add some overhead to code, as objectsneed to be created and managed.
Testing: OOP can make code more difficult to test, as objectsneed to be tested in isolation and in combination.
Performance: OOP can impact performance, as objects canadd some overhead.