The document provides 20 basic Java interview questions for software development engineers in test (SDET) roles. The questions cover topics such as Java access specifiers, object-oriented programming principles, the differences between inner classes and subclasses, overloading and overriding methods, threads and exceptions, and collections. The document is intended to help SDETs prepare for technical interviews by providing example questions and explanations of core Java concepts.
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Top 20 basic java interview questions for SDET
1. Top 20 Basic Java Interview
Questions for SDET
By DevLabs Alliance
Visit us at: www.devlabsalliance.com
Email: training@devlabsalliance.com
Contact: +91 9717514555
2. Java Interview Questions for SDET
1. What are the various access specifiers for Java classes?
There are 4 types of access specifiers in java:
• Public: Public class, public methods, or public variables can be accessible from
anywhere.
• Protected: Protected methods or fields can be accessed from the same class, or
subclass or from the class within the same package.
• Private: Private methods or fields can be accessed only from the same class to which
they belong.
• Default: Default methods or Default fields or Default class can be accessible only from
the same class or from the same package.
3. Java Interview Questions for SDET
2. Explain OOPS principles in Java.
The OOPS principles in Java are as follows:
• Abstraction: Abstraction is used to hide internal details and showing only the
functionality. In Java, we use abstract class and interface to achieve abstraction.
• Encapsulation: Encapsulation means to bind or wrap code and data together into a
single unit. A Java class is the example of Encapsulation.
• Polymorphism: Polymorphism means that one task is performed in different ways.
There are 2 types of Polymorphism: Run-time Polymorphism and Compile-Type
polymorphism.
• Inheritance: Inheritance means acquiring all the properties and behavior of an object.
It provides code re-usability.
4. Java Interview Questions for SDET
3. What is the difference between an Inner class and a sub-class?
An inner class is defined as a class which is nested within another class. An inner class can
access all methods and variables that are defined in the outer class.
Sub-class is defined as a class which is inherited from some another class which is called as
super class. A sub class can access only public and protected method and fields of its super
class.
5. Java Interview Questions for SDET
4. Can we overload main() method?
Yes, we can overload main() method like other methods.
But when we run the program, the program doesn’t execute the overloaded main method,
so we need to call the overloaded main method from the actual main method only.
6. Java Interview Questions for SDET
5. What is Final keyword in Java?
In Java, Final keyword can be used with variable, method and class.
If a variable is declared using Final keyword, then its value can be assigned only once and
after assignment it can’t be changed.
If a method is declared using Final keyword, then this method cannot be overridden by the
subclasses.
If a class is declared using Final keyword, then this class cannot be inherited.
7. Java Interview Questions for SDET
6. What is the difference between an Abstract Class and Interface?
Abstract Class Interface
It can have abstract and non-abstract methods It can have abstract methods only
Abstract keyword is used to declare abstract class Interface keyword is used to declare interface.
It can extend another Java class and implement
multiple Java interfaces.
It can extend another Java interface only
It can have class members like private, protected,
etc.
Members of Interface are public by default
It can have final, non-final, static and non-static
variables
It has only static and final variables.
It can provide the implementation of interface It can’t provide the implementation of abstract
class
8. Java Interview Questions for SDET
7. What is the difference between Local variables and Instance variables?
Local Variables: Local Variables are defined within a block or method or constructor.
These variables are created when the block is entered and destroyed after exiting from the
block. We can access these variables only within the block where they are declared.
We cannot use any access specifier with local variables.
Instance Variables: Instance variables are declared in a class outside any method, block or
constructor.
These variables are created when an object of the class is created and destroyed when the
object is destroyed. We can access these variables only by creating objects.
We can use access specifiers for instance variables. If no access specifier is specified then
the default access specifier is used.
9. Java Interview Questions for SDET
8. Can we declare the main method of our class as private?
Main method must always be public static in order to run any application correctly in Java.
If main method is declared as private, then it will not give any compilation error but the
program will not get executed and will give run-time error.
10. Java Interview Questions for SDET
9. What do you mean by Constructor and what is the need of
Constructor?
Constructor is defined as a member function in a class which has the same name as of class.
It is automatically called at the run-time whenever an object class is created.
It don’t have any return type.
Need of Constructor:
There might be a situation where exposing the class variable to the main program is not
secured. At that time the class variables can be declared as private because the private
variables are not accessible from the other class.
In such a situation, if constructors are defined, then the main method need not to access
the class variables directly.
11. Java Interview Questions for SDET
10. How many types of constructors are used in Java?
There are 2 types of constructors in Java:
• Default Constructor: In Java, Default constructor is the one which does not accept any
input. It is used to initialize the instance variable with the default values and is majorly
used for object creation. A default constructor is invoked implicitly by the compiler if no
constructor is defined by the user.
• Parameterized Constructor: In Java, Parameterized constructor is the one which is
capable of initializing the instance variables with the given values. In other words, those
constructors that accept the arguments are called parameterized constructors.
12. Java Interview Questions for SDET
11. What is the difference between this() and super() in Java?
this() and super() both are used to call the constructor.
this() super()
It represents the current instance of a class. It represents the current instance of parent class.
It is used to call the default constructor of the
same class.
It is used to call the default constructor of the
parent class.
It is used for pointing the instance of a current
class.
It is used to point the instance of parent class.
It is used to access methods of the current class. It is used to access the methods of parent class.
13. Java Interview Questions for SDET
12. Is it necessary for a try block to be followed by a catch block in Java
for Exception handling?
Try block always needs to be followed by either catch block or finally block or both.
If any exception is thrown from try block, then it should either be caught in catch block or if
any specific tasks needs to be performed before abortion, then they are put in a finally
block.
14. Java Interview Questions for SDET
13. What is a Thread?
Thread is a piece of code which can be executed independently.
In Java all program has atleast one thread called as main thread that is created by JVM. The
main thread is used to invoke the main() method of program.
Threads are executed concurrently.
15. Java Interview Questions for SDET
14. What are the various ways to create a Thread?
The user can create their own threads by following 2 ways:
• By extending Thread class:
public class Test extends Thread{
public void test2(){
}
}
• By Implementing Runnable Interface:
public class Test implements Runnable{
public void test2(){
}
}
16. Java Interview Questions for SDET
15. Explain Thread life cycle in Java.
New: In this state, the thread has been created but start() method is not invoked yet.
Runnable: The thread is in runnable state after start() method is invoked, but before the
invocation of run() method.
Running: The thread is in running state after invocation of run() method.
Blocked: The thread is alive but it is not eligible to run.
Terminated: The thread is in terminated state when the run() method is completed.
New Runnable Running Terminated
Blocked
Wait/sleep
Start() Exit method
17. Java Interview Questions for SDET
16. What is Method Overloading?
Method Overloading is a feature that allows a class to have more than one method with
the same name and different parameters.
We can overload the method by either changing number of arguments or changing the
data type.
public class Test{
public static int add(int a, int b) {return a+b};
public static int add(int a, int b, int c) {return a+b+c};
}
public class TestOverloadingMethod{
public static void main(String[] args){
System.out.println(Test.add(10,11));
System.out.println(Test.add(10,11,12));
}
}
18. Java Interview Questions for SDET
17. What is Method Overriding?
Method Overriding is a feature that allows a sub-class(child class) to have the same method
(with same name and same parameters) as that in the super class(parent class).
Method Overriding is used for run time polymorphism.
public class Vehicle{
void run(){System.out.println("Vehicle is running");
}}
//Creating a child class
class Bike extends Vehicle{
public static void main(String args[]){
//creating an instance of child class
Bike obj = new Bike();
//calling the method with child class instance
obj.run();
}
}
19. Java Interview Questions for SDET
18. What is meant by Collections in Java?
Collection is a group of objects represented as a single unit. It is a framework that provides
an architecture to store the objects and manipulate a group of objects.
Collections are used to perform the following operations:
• Searching
• Sorting
• Manipulation
• Insertion
• Deletion
20. Java Interview Questions for SDET
19. What is meant by Exception?
Exception is a problem that occurs when the normal flow of program is disrupted and
therefore program or application terminates abnormally.
Exceptions are a subclass of java.lang.Exception
To maintain the normal flow of application we can handle the Exception through Exception
handling.
Exception handling is a process to handle run-time errors such as IOException,
SQLException, etc.
21. Java Interview Questions for SDET
20. What are the types of Exception?
There are two types of Exception:
• Checked Exceptions: Checked Exceptions are the exceptions that are checked at the
time of compilation by compiler. These type of exceptions should be handled by the
programmer.
Eg.: FileNotFoundException, SQLException,etc.
• Unchecked Exceptions: Unchecked Exceptions are the exceptions that are not checked
at the time of compilation but they occurs at the time of execution. They are also called
as Runtime Exceptions.
Eg.: ArithmeticException, NullPointerException.
22. Visit us at: www.devlabsalliance.com
Email: training@devlabsalliance.com
Contact: +91 9717514555