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

Java Interview Question

Uploaded by

rajeshpushp21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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
We take content rights seriously. If you suspect this is your content, claim it here.
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