| Question | Answer |
|---|---|
| What is JDK, JRE, JVM? | JDK=JRE+devTools, JRE=JVM+lib, JVM=Interpreter |
| What is Bytecode? | intermediate code generated by the Java compiler(JDK) |
| What are types of comments in Java? | Single-line (//), Multi-line (/* */), Documentation (/** */). |
| What is Identifier? | name for variables, methods, classes, or other entities. |
| What is Literal? | value for variables |
| What is an Expression? | combination of variables, operators, and literal |
| What are Keywords in Java? | Reserved words |
| Write Java input syntax. | Scanner inp = new Scanner(System.in);String a = inp.nextLine(); |
| Write Java output syntax. | System.out.println("Hi") |
| What are Datatypes and its types? | Define the type of data |
| Java is not 100% OOPs language, why? | becz it supports primitive data types |
| What are Variables and its types? | name for the datatype |
| What is Operator and its types? | perform math operations |
| What is Array? | collection of similar datatype, fixed-size |
| What is String? | sequence of characters |
| Why is String immutable? | Becz of string pool |
| What is StringBuffer? | Thread-safe, mutable strings |
| What is StringBuilder? | Non-thread-safe, faster mutable strings. |
| What are types of String comparisons? | == (reference), .equals() (content), .compareTo() (lexicographical). |
| What is String Tokenizer? | split strings into tokens (e.g., words). |
| What is Static Variable & Class? | create only one time, called without reference |
| What is Static Block? | A block of code executed when the class is loaded into memory. |
| What is Final Variable, Method & Class? | assigned only once, cannot modify once it assigned |
| What is Final, Finalize, Finally? | |
| What is Constants? | Immutable. Declare as final static |
| What is Enum? | A special class to define constants |
| What is Package and Import? | Groups related classes and interfaces |
| What is Wrapper Class? | wrap around primitive datatype & give object appearence |
| What is Autoboxing & Unboxing? | Autoboxing: Primitive → Object. Unboxing: Object → Primitive |
| What is Typecasting? | Converting one data type to another |
| What is Generics? | type-safe to class |
| What is Exception Handling? | Mechanism to handle runtime errors |
| What are Checked and Unchecked Exceptions? | Compile-time (e.g., IOException). Runtime (e.g., NullPointerException). |
| What are throw and throws? | |
| When do ClassNotFoundException? | when a class is not found |
| When do NoClassDefFoundError occur? | when a compiled class is unavailable. |
| What is Serialization? | Converting an object to a byte stream. |
| Question | Answer |
|---|---|
| What is constructor and its types? | Special method to initialize objects |
| What is lambda expression? | A concise way to write functions using ()->{} syntax. |
| What is interface? and its types. | A contract for classes; types: Functional, Marker, Normal. |
| What is marker interface and example. | Interface with no methods; Example: Serializable. |
| What are the types of access specifier? | Public, Private, Protected, Default. |
| What are the seven methods of Object class? | toString(), hashCode(), equals(), clone(), getClass(), wait(), notify(). |
| What are the four ways to create object? | new, Reflection, Cloning, Deserialization. |
| What is object cloning? | Creating a copy of an object using the clone() method. |
| When garbage collection gets triggered? | When JVM runs out of memory or explicitly via System.gc(). |
| What is method and vararg? | Method: Block of code; Vararg: Variable-length arguments (...). |
| What are the types and subtypes of encapsulation? | Types: Data Encapsulation, Behavioral Encapsulation. |
| What are inheritance and its types? | Acquiring properties; types: Single, Multiple (via interface), Multilevel, Hierarchical. |
What is super and super()? |
super: Access parent class members; super(): Call parent constructor. |
| What is polymorphism and its types? | Single entity with many forms; types: Compile-time, Runtime. |
| What is abstract class? | Class with abstract methods, cannot be instantiated. |
| What is interface and its types? | A contract for classes; types: Functional, Marker, Normal. |
| What is IS-A and HAS-A relationship? | IS-A: Inheritance; HAS-A: Composition. |
| What is shallow and deep copy? | Shallow: Copies references; Deep: Copies entire objects. |
| Question | Answer |
|---|---|
| What is multithreading? | Executing multiple threads concurrently. |
| What is process and thread? | Process: Independent program; Thread: Lightweight process within a process. |
| What are the lifecycle in Thread? | New, Runnable, Running, Blocked/Waiting, Terminated. |
| What is thread priority? and its values. | Determines execution priority; Values: MIN(1), NORM(5), MAX(10). |
| What is synchronized method? | Ensures only one thread executes the method at a time. |
| What is synchronized block? | Limits synchronization to a specific block of code. |
| What is static synchronized? | Synchronizes static methods, locking the class object. |
| What are the Thread class methods? | start(), run(), sleep(), join(), interrupt(). |
| Explain wait, notify, notifyAll. | wait(): Pauses thread; notify(): Wakes one thread; notifyAll(): Wakes all threads. |
| What is deadlock, how to avoid? | Circular waiting of threads; Avoid by using proper locking order or timeout. |
| What is race condition? | Incorrect results due to concurrent access to shared resources. |
| What are the methods available in Thread Object? | wait(), notify(), notifyAll(), join(), sleep(), yield(). |
| What is volatile keyword? | Ensures visibility of changes to variables across threads. |
| How do you stop the thread in java? | Use flags or interruption (Thread.interrupt()); stop() is deprecated. |
| Explain about ExecutorService? | A framework for managing thread pools and task execution. |
| What is atomic variables? | Variables providing atomic updates to avoid race conditions. |
| List and explain thread-safe collections. | ConcurrentHashMap, CopyOnWriteArrayList, CopyOnWriteArraySet: Support safe multi-threaded operations. |
| Question | Answer |
|---|---|
| How to calculate new ArrayList size? and default size. | Default size: 10; New size: (oldCapacity * 3/2) + 1. |
| How does CopyOnWriteArrayList handle modifications? | Creates a new copy of the list on each modification. |
| How to convert a collection to iterator? | Use collection.iterator(). |
| Why String is popular HashMap key in Java? | Immutable, efficient hashCode() and equals() implementations. |
| What is the difference between ArrayList & LinkedList? | ArrayList: Dynamic array, faster random access; LinkedList: Doubly linked list, better for insert/delete. |
| What is Comparable & Comparator interface? | Comparable: Single sort order (compareTo()); Comparator: Custom sort order (compare()). |
| What is the difference between HashMap and Hashtable? | HashMap: Non-synchronized, allows nulls; Hashtable: Synchronized, no nulls. |
| What is Iterator and ListIterator? | Iterator: Traverse in one direction; ListIterator: Bidirectional traversal. |
| What is the difference between Collection and Collections? | Collection: Interface; Collections: Utility class for collection operations. |
| How HashMap handles collision? | Uses chaining (linked lists) in buckets. |
What is the difference between poll() and remove() in Queue? |
poll(): Returns null if queue is empty; remove(): Throws exception. |
| What is the difference between fail-fast and fail-safe iterator? | Fail-fast: Throws ConcurrentModificationException; Fail-safe: Works on a copy, no exception. |
| S. No | Question | Answer |
|---|---|---|
| 1 | How to calculate new ArrayList size? and default size. | Default size: 10; New size: (oldCapacity * 3/2) + 1. |
| 2 | How does CopyOnWriteArrayList handle modifications? | Creates a new copy of the list on each modification. |
| 3 | How to convert a collection to iterator? | Use collection.iterator(). |
| 4 | Why String is popular HashMap key in Java? | Immutable, efficient hashCode() and equals() implementations. |
| 5 | What is the difference between ArrayList & LinkedList? | ArrayList: Dynamic array, faster random access; LinkedList: Doubly linked list, better for insert/delete. |
| 6 | What is Comparable & Comparator interface? | Comparable: Single sort order (compareTo()); Comparator: Custom sort order (compare()). |
| 7 | What is the difference between HashMap and Hashtable? | HashMap: Non-synchronized, allows nulls; Hashtable: Synchronized, no nulls. |
| 8 | What is Iterator and ListIterator? | Iterator: Traverse in one direction; ListIterator: Bidirectional traversal. |
| 9 | What is the difference between Collection and Collections? | Collection: Interface; Collections: Utility class for collection operations. |
| 10 | How HashMap handles collision? | Uses chaining (linked lists) in buckets. |
| 11 | What is the difference between poll() and remove() in Queue? |
poll(): Returns null if queue is empty; remove(): Throws exception. |
| 12 | What is the difference between fail-fast and fail-safe iterator? | Fail-fast: Throws ConcurrentModificationException; Fail-safe: Works on a copy, no exception. |
| Question | Answer |
|---|---|
Is Empty .java file name a valid source file name? |
Yes |
| If I don’t provide any arguments on the command line | arg will be Empty |
What if I write static public void instead of public static void? |
Valid |
| Is constructor inherited? | No |
| Can you make a constructor final/static? | No, final not allowed |
| Can you make an abstract method static? | Not allowed |
| Default constructor won’t work if I give any one constructor explicitly? | Yes |
| Can we override the private and static methods? | No |
| Arrange the order of execution blocks. | Static, instance, constructor, main |
Can we execute a program without main() method? |
Yes, using static block |
| Can we override/overload main method? | override No, Overload No |
What if static modifier is removed from main method? |
NoSuchMethodError |
| Can we declare static variables and methods in abstract class? | Yes |
| Is method overloading possible with return type? Why? | No, it doesn’t distinguish methods |
| Can we use abstract and final in the same method? | No |
| Can we use static and abstract at the same time for a method? | No |
| Can we declare an interface method as static? | No |
| Can an interface be final? | No |
| Can we use private/protected for members of an interface? | No |
| What is readonly and writeonly class? | Not applicable in Java |
Do I need to import java.lang package? |
No, it’s default |
| Is it necessary that each try block must be followed by catch block? | No, finally can follow |
| Can finally block be used without catch? | Yes |
| Does multiple finally block allowed? | No |
| Is there any case where the finally block will not be executed? | Yes, System.exit() |
| Can exception be rethrown? | Yes, only unchecked exceptions |
How many objects are created in String a = new String(“ra”);? |
Two |
| How can we make an immutable class in Java? | Use final members and class |
| Can a class have an interface? | Yes, as a nested interface |
| Can an interface have a class? | Yes, static implicitly |
What is System.gc()? |
Suggests garbage collection |
| What are the 3 ways objects can be unreferenced? | Nullify reference, reassign, isolate |
| Is it possible to start a thread twice? | No |
Can we call the run() method instead of start()? |
Yes, but thread won’t start |
| Does each thread have its stack in multithreaded programming? | Yes |
| In which way of object creation constructor is not called? | Cloning |
| Can we import the same package/class two times? | Yes |
| Can there be an abstract method without an abstract class? | Yes, in an interface |
| Can we have multiple static blocks in a class? | Yes, executes sequentially |
| Does Functional interface can extend another interface ? | Yes, but parent should have one method |
Is null case-sensitive? What does null == null return? |
Null is not case-sensitive; null == null returns true. |