0% found this document useful (0 votes)
22 views

Java Interview Question

Uploaded by

rajeshpushp21
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Java Interview Question

Uploaded by

rajeshpushp21
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

.

Basic Java Syntax and Language Fundamentals

Q1: What is Java, and what are some of its key features?
Java is a high-level, object-oriented, platform-independent programming language. Key
features include:

● Platform independence (Write Once, Run Anywhere)


● Object-oriented
● Automatic memory management (Garbage Collection)
● Robust and secure
● Multithreading support
● Rich API and built-in libraries.

Q2: What are the differences between JDK, JRE, and JVM?

● JVM (Java Virtual Machine): Executes Java bytecode. It's platform-specific.


● JRE (Java Runtime Environment): Provides libraries and JVM for running Java
programs.
● JDK (Java Development Kit): Includes JRE and tools for developing Java
applications (e.g., javac, javadoc).

Q3: Explain the difference between a compiled and an interpreted language. Is Java
compiled or interpreted?

● Compiled: Converts source code into machine code (e.g., C++).


● Interpreted: Executes code line-by-line (e.g., Python).
Java is both: it’s compiled to bytecode and then interpreted by the JVM.

Q4: How does Java achieve platform independence?


Java programs compile into bytecode (a universal intermediate language), which runs on
any JVM regardless of the platform.

Q5: What is the main() method in Java, and why is it important?


The main() method is the entry point for any Java program:

java
Copy code
public static void main(String[] args) { ... }

It's where program execution begins.

Q6: What is platform independence in Java?


Java’s bytecode can run on any operating system with a compatible JVM, making it
platform-independent.
Q7: What is JVM, and is it platform-independent?
JVM is not platform-independent—it’s specific to each operating system. However, the
bytecode it executes is platform-independent.

Q8: What is the difference between JDK and JVM?

● JVM: Executes bytecode.


● JDK: A development kit that includes the JVM, compiler (javac), and other tools.

Q9: What is the difference between JVM and JRE?

● JVM: Runs Java applications.


● JRE: Includes the JVM and standard libraries required for execution.

Q10: Which class is the superclass of all classes?


The Object class is the root of Java’s class hierarchy.

Q11: Why doesn’t Java support multiple inheritance?


To avoid ambiguity (e.g., Diamond Problem). Instead, Java uses interfaces for multiple
inheritance.

Q12: Why is Java not a pure object-oriented language?


Java uses primitive data types (e.g., int, double), which are not objects.

2. Data Types and Variables

Q1: What are the primitive data types in Java?

● Integral: byte, short, int, long


● Floating-point: float, double
● Character: char
● Boolean: boolean

Q2: Explain the difference between int and Integer.

● int: Primitive type.


● Integer: Wrapper class for int. It provides utility methods and works in collections.

Q3: What are static variables and methods? Give an example.

● Static variables: Shared by all instances of a class.


● Static methods: Called without creating an instance of the class.
Example:

java
Copy code
class Example {
static int count = 0;
static void displayCount() {
System.out.println(count);
}
}

Q4: What is typecasting, and how is it done in Java?


Typecasting converts one data type to another.

● Implicit: Smaller to larger type (e.g., int to float).


● Explicit: Larger to smaller type (e.g., float to int).
Example:

java
Copy code
int a = 10;
float b = (float) a; // Explicit casting

3. Control Structures

Q1: Describe the different control structures in Java (if, switch, loops).

● if/else: Executes code based on a condition.


● switch: Selects a block to execute from multiple options.
● Loops: Repeatedly execute a block (for, while, do-while).

Q2: What is the difference between for, while, and do-while loops?

● for: Known iterations.


● while: Executes while a condition is true.
● do-while: Executes at least once.

Q3: What is the use of break and continue in loops?

● break: Exits the loop.


● continue: Skips to the next iteration.

Q4: Can you give an example of a switch statement?

java
Copy code
int day = 3;
switch (day) {
case 1: System.out.println("Monday"); break;
case 2: System.out.println("Tuesday"); break;
default: System.out.println("Other day");
}

4. Object-Oriented Programming (OOP)

Q1: What is Object-Oriented Programming (OOP), and its four principles?

● Encapsulation: Hiding details with access modifiers.


● Inheritance: Reusing code via parent-child relationships.
● Polymorphism: Same method behaves differently (overloading/overriding).
● Abstraction: Focus on what an object does, not how.

If you want detailed explanations or coding examples for specific sections, let me know!

4o

You said:
explain remaning

ChatGPT said:
ChatGPT

Let’s continue with the remaining sections and questions from the list.

4. Object-Oriented Programming (OOP) Continued

Q2: Explain encapsulation with an example.


Encapsulation hides the internal state of an object and protects it from unauthorized access
using access modifiers (private, public, etc.).
Example:

java
Copy code
class Employee {
private int salary; // Private variable

public void setSalary(int salary) { // Setter


this.salary = salary;
}
public int getSalary() { // Getter
return salary;
}
}

Q3: What is inheritance, and how does Java implement it?


Inheritance allows a child class to inherit fields and methods from a parent class using the
extends keyword.
Example:

java
Copy code
class Parent {
void display() { System.out.println("Parent class method"); }
}
class Child extends Parent {
void show() { System.out.println("Child class method"); }
}

Q4: What is polymorphism, and what are its types?


Polymorphism allows a single method to perform different behaviors.

● Compile-time (Method Overloading): Methods with the same name but different
parameters.
● Runtime (Method Overriding): A subclass provides a specific implementation of a
method declared in its superclass.

Q5: What is abstraction, and how is it achieved in Java?


Abstraction hides implementation details and only exposes essential features.

● Achieved by:
○ Abstract classes (abstract keyword)
○ Interfaces

Q6: What is overloading and overriding in Java?

● Overloading: Same method name, different parameters.


● Overriding: Redefining a method from the parent class in the child class.

Q7: Can we overload the main() method?


Yes, but only the signature public static void main(String[] args) is used as
the entry point.
Q8: Can we have multiple public classes in a Java source file?
No, a file can have only one public class, and the file name must match the public class
name.

Q9: What is a Java package, and which package is imported by default?

● A package groups related classes and interfaces.


● The java.lang package is imported by default.

Q10: What are access modifiers?

● Public: Accessible everywhere.


● Private: Accessible only within the class.
● Protected: Accessible within the package and by subclasses.
● Default: Accessible within the package.

Q11: What is the final keyword?

● Final variable: Value cannot be changed.


● Final method: Cannot be overridden.
● Final class: Cannot be subclassed.

Q12: What is static keyword?


Defines variables or methods that belong to the class, not an instance.

Q13: What is finally and finalize() in Java?

● Finally: Block of code that always executes after a try-catch.


● Finalize: Method called before an object is garbage collected.

Q14: Can we declare a class as static?


Yes, a nested class can be static. It cannot access non-static members of the outer class
directly.

Q15: What is static import?


Allows importing static members of a class to use without class qualification.
Example:

java
Copy code
import static java.lang.Math.PI;
System.out.println(PI);

5. Classes and Objects

Q1: What is a class, and how is it different from an object?


● A class is a blueprint for creating objects.
● An object is an instance of a class.

Q2: What is the difference between a constructor and a method in Java?

● Constructor: Initializes an object. Has no return type and the same name as the
class.
● Method: Defines behavior. Can have a return type.

Q3: Can you overload constructors in Java?


Yes, constructors can be overloaded by using different parameters.

Q4: Explain the concept of this keyword.


this refers to the current instance of the class.

Q5: What is the purpose of the super keyword?


super refers to the parent class and is used to:

● Access parent class members.


● Invoke the parent class constructor.

6. Interfaces and Abstract Classes

Q1: What is an interface, and how is it different from an abstract class?

● Interface: Defines only abstract methods (by default). Allows multiple inheritance.
● Abstract Class: Can have both abstract and concrete methods.

Q2: Can an interface extend another interface?


Yes, interfaces can extend other interfaces.

Q3: What are default methods in interfaces, and when are they used?
Default methods allow adding new methods to interfaces without breaking existing
implementations.
Example:

java
Copy code
interface Example {
default void display() { System.out.println("Default Method"); }
}

Q4: Why can't you instantiate an abstract class?


Because it may contain incomplete (abstract) methods without implementation.
Q5: Can an interface implement or extend another interface?
Interfaces can extend other interfaces but cannot implement them.

7. Exception Handling

Q1: What is an exception, and how is it different from an error?

● Exception: Recoverable condition during runtime (e.g.,


FileNotFoundException).
● Error: Irrecoverable issue (e.g., OutOfMemoryError).

Q2: What are try, catch, finally, and throw?

● Try: Code block to test for exceptions.


● Catch: Handles exceptions.
● Finally: Executes regardless of exception.
● Throw: Used to explicitly throw exceptions.

Q3: What is the difference between checked and unchecked exceptions?

● Checked: Handled during compile-time (e.g., IOException).


● Unchecked: Occur during runtime (e.g., NullPointerException).

Q4: What is try-with-resources?


Automatically closes resources (e.g., files, connections) when used inside a try block.

8. Collections Framework

Q1: What is the Java Collections Framework?


A set of classes and interfaces for managing groups of objects (e.g., List, Set, Map).

Q2: What is the difference between ArrayList and LinkedList?

● ArrayList: Fast random access, slower insert/delete.


● LinkedList: Faster insert/delete, slower random access.

Q3: What are Set, List, and Map in Java?

● Set: Unique elements (HashSet, TreeSet).


● List: Ordered, allows duplicates (ArrayList, LinkedList).
● Map: Key-value pairs (HashMap, TreeMap).
If you want more details or examples on a specific section (e.g., multithreading, Java 8
features), let me know!

4o

You said:
remaining explaning

ChatGPT said:
ChatGPT

Let's continue with the remaining sections and their explanations.

9. Multithreading

Q1: What is a thread in Java?


A thread is the smallest unit of execution in a program. In Java, threads allow for concurrent
execution of tasks within a program.

Q2: Explain the difference between Thread and Runnable.

● Thread: A class used to create a new thread by extending it.


● Runnable: An interface used to define a task that can be executed by a thread.
Preferred for better flexibility and avoiding inheritance limitations.

Example:

java
Copy code
class MyThread extends Thread {
public void run() {
System.out.println("Thread is running");
}
}

class MyRunnable implements Runnable {


public void run() {
System.out.println("Runnable is running");
}
}

Q3: What is the purpose of the synchronized keyword?


It ensures thread safety by allowing only one thread to access a block of code or a method
at a time.
Example:

java
Copy code
synchronized void increment() {
// Critical section
}

Q4: What are the differences between wait() and sleep()?

● wait(): Pauses the thread until notified. Requires a synchronized block.


● sleep(): Pauses the thread for a specified duration. Does not release locks.

Q5: How can you achieve thread safety in Java?

● Using synchronized blocks or methods.


● Using thread-safe collections like ConcurrentHashMap.
● Using classes like ReentrantLock.

10. Java 8 Features

Q1: What are lambda expressions, and how are they used in Java 8?
A lambda expression is a concise way to represent a functional interface (interface with a
single abstract method).
Example:

java
Copy code
List<Integer> numbers = Arrays.asList(1, 2, 3);
numbers.forEach(n -> System.out.println(n));

Q2: Explain the purpose of the Stream API.


The Stream API provides a functional approach to processing collections of data using
methods like filter, map, and reduce.

Q3: What are functional interfaces in Java?


Interfaces with a single abstract method (e.g., Runnable, Callable, Consumer).

Q4: What is the Optional class in Java 8?


Optional helps to handle null values gracefully by preventing NullPointerException.
Example:
java
Copy code
Optional<String> name = Optional.ofNullable(null);
System.out.println(name.orElse("Default"));

Q5: How is the forEach() method used in collections?


The forEach() method iterates over elements of a collection and applies a lambda
expression.
Example:

java
Copy code
numbers.forEach(n -> System.out.println(n));

11. Java Memory Management

Q1: Explain the structure of Java memory (stack and heap).

● Stack: Stores method calls and local variables.


● Heap: Stores objects and instance variables.

Q2: What is garbage collection in Java?


Garbage collection automatically removes unused objects from memory to free up space.

Q3: What is the purpose of the finalize() method?


It is called by the garbage collector before an object is removed from memory.

Q4: What are strong, weak, soft, and phantom references?

● Strong: Normal references preventing garbage collection.


● Weak: Eligible for garbage collection when not in use.
● Soft: Retained until memory is needed.
● Phantom: Used to track object cleanup.

12. Miscellaneous

Q1: What is the difference between String, StringBuilder, and StringBuffer?

● String: Immutable.
● StringBuilder: Mutable and not thread-safe.
● StringBuffer: Mutable and thread-safe.
Q2: How do you handle file I/O in Java?
Using classes like File, FileReader, FileWriter, and BufferedReader.
Example:

java
Copy code
File file = new File("example.txt");
FileWriter writer = new FileWriter(file);
writer.write("Hello, world!");
writer.close();

Q3: How do you perform database operations in Java (basic JDBC)?

1. Load the JDBC driver.


2. Establish a connection using DriverManager.
3. Execute queries using Statement or PreparedStatement.
4. Close the connection.
Example:

java
Copy code
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/db",
"user", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM table");

Q4: What is the enum type, and how do you use it?
An enum defines a set of constants.
Example:

java
Copy code
enum Day { MONDAY, TUESDAY, WEDNESDAY }
Day today = Day.MONDAY;

Q5: How do you prevent a class from being subclassed?


Use the final keyword.
Example:

java
Copy code
final class MyClass { }
Q6: What is the ternary operator in Java?
It is a shorthand for if-else.
Example:

java
Copy code
int max = (a > b) ? a : b;

Q7: What does the super keyword do?

● Accesses members of the parent class.


● Invokes the parent class constructor.

Q8: What are break and continue statements?

● break: Exits a loop or switch statement.


● continue: Skips the current iteration and moves to the next.

Q9: What is the this keyword?


Refers to the current instance of the class.

Q10: What is a default constructor?


A constructor provided by Java when no constructor is explicitly defined.

Q11: Can we have try without a catch block?


Yes, but only if it has a finally block.

Q12: What is serialization and deserialization?

● Serialization: Converting an object into a byte stream.


● Deserialization: Reconstructing the object from a byte stream.

Q13: How to run a JAR file through the command prompt?


Use:

bash
Copy code
java -jar filename.jar

Q14: What is the use of the System class?


Provides utilities like input/output, garbage collection, and environment access
(System.out.println, System.gc()).
Q15: What is the instanceof keyword?
Tests whether an object is an instance of a specific class or subclass.
Example:

java
Copy code
if (obj instanceof String) { System.out.println("It's a String!"); }

Q16: Can we use String with a switch case?


Yes, since Java 7.

Q17: Is Java pass-by-value or pass-by-reference?


Java is strictly pass-by-value.

Q18: What is the difference between heap and stack memory?

● Heap: Stores objects.


● Stack: Stores method calls and local variables.

Q19: Where is the Java compiler stored?


The Java compiler (javac) is part of the JDK.

Coding Problems

1. Check if a number is prime


2. Reverse a string
3. Check if a string is a palindrome
4. Find the factorial using recursion
5. Implement bubble/selection sort

You might also like