Typical java interview questions sorted by experience
Junior
* Name some of the characteristics of OO programming languages
* What are the access modifiers you know? What does each one do?
* What is the difference between overriding and overloading a method in Java?
* What’s the difference between an Interface and an abstract class?
* Can an Interface extend another Interface?
* What does the static word mean in Java?
* Can a static method be overridden in Java?
* What is Polymorphism? What about Inheritance?
* Can a constructor be inherited?
* Do objects get passed by reference or value in Java? Elaborate on that.
* What’s the difference between using == and .equals on a string?
* What is the hashCode() and equals() used for?
* What does the interface Serializable do? What about Parcelable in Android?
* Why are Array and ArrayList different? When would you use each?
* What’s the difference between an Integer and int?
* What is a ThreadPool? Is it better than using several “simple” threads?
* What the difference between local, instance and class variables?
Mid
* What is reflection?
* What is dependency injection? Can you name a few libraries? (Have you used any?)
* What are strong, soft and weak references in Java?
* What does the keyword synchronized mean?
* Can you have “memory leaks” on Java?
* Do you need to set references to null on Java/Android?
* What does it means to say that a String is immutable?
* What are transient and volatile modifiers?
* What is the finalize() method?
* How does the try{} finally{} works?
* What is the difference between instantiation and initialisation of an object?
* When is a static block run?
* Why are Generics are used in Java?
* Can you mention the design patterns you know? Which of those do you normally use?
* Can you mention some types of testing you know?
Senior
* How does Integer.parseInt() works?
* Do you know what is the “double check locking” problem?
* Do you know the difference between StringBuffer and StringBuilder?
* How is a StringBuilder implemented to avoid the immutable string allocation problem?
* What does Class.forName method do?
* What is Autoboxing and Unboxing?
* What’s the difference between an Enumeration and an Iterator?
* What is the difference between fail-fast and fail safe in Java?
* What is PermGen in Java?
* What is a Java priority queue?
* *s performance influenced by using the same number in different types: Int, Double and Float?
* What is the Java Heap?
* What is daemon thread?
* Can a dead thread be restarted?
Source: medium.
Junior
* Name some of the characteristics of OO programming languages
* What are the access modifiers you know? What does each one do?
* What is the difference between overriding and overloading a method in Java?
* What’s the difference between an Interface and an abstract class?
* Can an Interface extend another Interface?
* What does the static word mean in Java?
* Can a static method be overridden in Java?
* What is Polymorphism? What about Inheritance?
* Can a constructor be inherited?
* Do objects get passed by reference or value in Java? Elaborate on that.
* What’s the difference between using == and .equals on a string?
* What is the hashCode() and equals() used for?
* What does the interface Serializable do? What about Parcelable in Android?
* Why are Array and ArrayList different? When would you use each?
* What’s the difference between an Integer and int?
* What is a ThreadPool? Is it better than using several “simple” threads?
* What the difference between local, instance and class variables?
Mid
* What is reflection?
* What is dependency injection? Can you name a few libraries? (Have you used any?)
* What are strong, soft and weak references in Java?
* What does the keyword synchronized mean?
* Can you have “memory leaks” on Java?
* Do you need to set references to null on Java/Android?
* What does it means to say that a String is immutable?
* What are transient and volatile modifiers?
* What is the finalize() method?
* How does the try{} finally{} works?
* What is the difference between instantiation and initialisation of an object?
* When is a static block run?
* Why are Generics are used in Java?
* Can you mention the design patterns you know? Which of those do you normally use?
* Can you mention some types of testing you know?
Senior
* How does Integer.parseInt() works?
* Do you know what is the “double check locking” problem?
* Do you know the difference between StringBuffer and StringBuilder?
* How is a StringBuilder implemented to avoid the immutable string allocation problem?
* What does Class.forName method do?
* What is Autoboxing and Unboxing?
* What’s the difference between an Enumeration and an Iterator?
* What is the difference between fail-fast and fail safe in Java?
* What is PermGen in Java?
* What is a Java priority queue?
* *s performance influenced by using the same number in different types: Int, Double and Float?
* What is the Java Heap?
* What is daemon thread?
* Can a dead thread be restarted?
Source: medium.
👍7❤2😁1
Master Java programming in 15 days with Free Resources 😄👇
Days 1-3: Getting Started
1. Day 1: Install Java Development Kit (JDK) on your computer and set up your development environment.
2. Day 2: Learn the basics of Java syntax, variables, data types, and how to write a simple "Hello, World!" program.
3. Day 3: Dive into Java's Object-Oriented Programming (OOP) concepts, including classes and objects.
Days 4-6: Control Flow and Data Structures
4. Day 4: Study control flow structures like if statements, loops (for, while), and switch statements.
5. Day 5: Learn about data structures such as arrays and ArrayLists for handling collections of data.
6. Day 6: Explore more advanced data structures like HashMaps and Sets.
Days 7-9: Methods and Functions
7. Day 7: Understand methods and functions in Java, including method parameters and return values.
8. Day 8: Learn about method overloading and overriding, as well as access modifiers.
9. Day 9: Practice creating and using methods in your Java programs.
Days 10-12: Exception Handling and File I/O
10. Day 10: Study exception handling to deal with runtime errors.
11. Day 11: Explore file input/output to read and write data to files.
12. Day 12: Combine exception handling and file I/O in practical applications.
Days 13-15: Advanced Topics and Projects
13. Day 13: Learn about Java's built-in libraries, such as the Collections framework and the java.util package.
14. Day 14: Explore graphical user interfaces (GUI) using Java Swing or JavaFX.
15. Day 15: Work on a Java project to apply what you've learned. Build a simple application or program of your choice.
Here you can find Java Programming Books & Notes for FREE: 👇
https://t.me/Java_Programming_Notes
FREE RESOURCES TO LEARN JAVA
Introduction to Programming in Java
Java Tutorial for complete beginners
Java Developer: Realistic Approach
Project Ideas for Java
Free Website to Practice Java
Join @free4unow_backup for more free courses
ENJOY LEARNING👍👍
Days 1-3: Getting Started
1. Day 1: Install Java Development Kit (JDK) on your computer and set up your development environment.
2. Day 2: Learn the basics of Java syntax, variables, data types, and how to write a simple "Hello, World!" program.
3. Day 3: Dive into Java's Object-Oriented Programming (OOP) concepts, including classes and objects.
Days 4-6: Control Flow and Data Structures
4. Day 4: Study control flow structures like if statements, loops (for, while), and switch statements.
5. Day 5: Learn about data structures such as arrays and ArrayLists for handling collections of data.
6. Day 6: Explore more advanced data structures like HashMaps and Sets.
Days 7-9: Methods and Functions
7. Day 7: Understand methods and functions in Java, including method parameters and return values.
8. Day 8: Learn about method overloading and overriding, as well as access modifiers.
9. Day 9: Practice creating and using methods in your Java programs.
Days 10-12: Exception Handling and File I/O
10. Day 10: Study exception handling to deal with runtime errors.
11. Day 11: Explore file input/output to read and write data to files.
12. Day 12: Combine exception handling and file I/O in practical applications.
Days 13-15: Advanced Topics and Projects
13. Day 13: Learn about Java's built-in libraries, such as the Collections framework and the java.util package.
14. Day 14: Explore graphical user interfaces (GUI) using Java Swing or JavaFX.
15. Day 15: Work on a Java project to apply what you've learned. Build a simple application or program of your choice.
Here you can find Java Programming Books & Notes for FREE: 👇
https://t.me/Java_Programming_Notes
FREE RESOURCES TO LEARN JAVA
Introduction to Programming in Java
Java Tutorial for complete beginners
Java Developer: Realistic Approach
Project Ideas for Java
Free Website to Practice Java
Join @free4unow_backup for more free courses
ENJOY LEARNING👍👍
👍11❤2
🌟 Difference Between Method and Constructor 🌟
Understanding Methods and Constructors is crucial for programming! Here's a simple comparison to help you:
📌 Method:
- The name does not need to be the same as the class name.
- Methods have a return type.
- You can call a method multiple times.
📌 Constructor:
- The name must be the same as the class name.
- Constructors do not have a return type.
- A constructor is called automatically when an object is created.
👩💻 Key Insight: Constructors initialize objects, while methods define object behavior.
#OOPsConcepts
Understanding Methods and Constructors is crucial for programming! Here's a simple comparison to help you:
📌 Method:
- The name does not need to be the same as the class name.
- Methods have a return type.
- You can call a method multiple times.
📌 Constructor:
- The name must be the same as the class name.
- Constructors do not have a return type.
- A constructor is called automatically when an object is created.
👩💻 Key Insight: Constructors initialize objects, while methods define object behavior.
#OOPsConcepts
❤8👍3
Pick one correct answer from below :
Anonymous Quiz
17%
int [] arr;
22%
int arr [];
6%
int arr();
55%
Both a) and b)
👍4
📌 Rules to Remember While Writing a Switch Case in Java
Here are key points to keep in mind when using
1️⃣ No Duplicate Values:
- Each
2️⃣ Matching Data Types:
- The
3️⃣ Constants or Literals Only:
- Variables are not allowed in a
4️⃣ Break Statement:
- It is used to terminate execution and prevents the code from falling through to the next case.
5️⃣ Optional Break:
- If
6️⃣ Default Statement:
- It’s optional and can appear anywhere in the block to handle unmatched cases.
💡 Tip: Always use
#JavaTips #SwitchCase
Here are key points to keep in mind when using
switch cases in Java:1️⃣ No Duplicate Values:
- Each
case must have a unique value.2️⃣ Matching Data Types:
- The
case values must match the data type of the variable in the switch.3️⃣ Constants or Literals Only:
- Variables are not allowed in a
case. Use constants or literals.4️⃣ Break Statement:
- It is used to terminate execution and prevents the code from falling through to the next case.
5️⃣ Optional Break:
- If
break is not included, the execution will move to the next case.6️⃣ Default Statement:
- It’s optional and can appear anywhere in the block to handle unmatched cases.
💡 Tip: Always use
break to avoid unintentional behavior unless fall-through logic is required!#JavaTips #SwitchCase
👍5👏4
👍8❤4
🌟 Top 10 Java Frameworks You Should Know 🌟
Here’s a quick guide to the most popular Java frameworks every developer should explore:
1️⃣ Spring: A powerful, versatile framework for building web applications and enterprise-level projects.
2️⃣ Hibernate: Simplifies database operations with its ORM (Object Relational Mapping) capabilities.
3️⃣ Struts: Ideal for creating scalable and maintainable enterprise-ready Java web applications.
4️⃣ Google Web Toolkit (GWT): Perfect for creating complex browser-based applications, especially with Java-to-JavaScript compilation.
5️⃣ JavaServer Faces (JSF): Simplifies web app development by connecting UI components to server-side data.
6️⃣ Grails: A Groovy-based framework designed for simplifying Java app development.
7️⃣ Vaadin: Focuses on modern web application development with an appealing UI and seamless integration.
8️⃣ Blade: A lightweight and high-performance framework for building fast REST APIs.
9️⃣ Dropwizard: Combines libraries to quickly create reliable, production-ready applications.
🔟 Play: A reactive web application framework that supports both Java and Scala.
💡 Explore these frameworks to stay ahead in your Java development journey! 🚀
#JavaFrameworks
Here’s a quick guide to the most popular Java frameworks every developer should explore:
1️⃣ Spring: A powerful, versatile framework for building web applications and enterprise-level projects.
2️⃣ Hibernate: Simplifies database operations with its ORM (Object Relational Mapping) capabilities.
3️⃣ Struts: Ideal for creating scalable and maintainable enterprise-ready Java web applications.
4️⃣ Google Web Toolkit (GWT): Perfect for creating complex browser-based applications, especially with Java-to-JavaScript compilation.
5️⃣ JavaServer Faces (JSF): Simplifies web app development by connecting UI components to server-side data.
6️⃣ Grails: A Groovy-based framework designed for simplifying Java app development.
7️⃣ Vaadin: Focuses on modern web application development with an appealing UI and seamless integration.
8️⃣ Blade: A lightweight and high-performance framework for building fast REST APIs.
9️⃣ Dropwizard: Combines libraries to quickly create reliable, production-ready applications.
🔟 Play: A reactive web application framework that supports both Java and Scala.
💡 Explore these frameworks to stay ahead in your Java development journey! 🚀
#JavaFrameworks
👍3👏1
What is the output of the below Java code?
Anonymous Quiz
58%
Hello World
26%
World
8%
Run time error
8%
Compilation error
👍5🔥1
public class Solution {
public static void main(String args[]) {
int x = 6; int y = 5;
if(++y == x--) { System.out.println("Hello World"); }
else { System.out.println("World"); }
}
}👍20🔥5❤1👎1🤩1
🔐 Top 10 Features That Make Java Secure 🔐
Java is renowned for its robust security, thanks to these features:
👉 1. JVM (Java Virtual Machine):
Isolates the code execution environment, protecting the host system from malicious code.
👉 2. Security APIs:
Built-in libraries for encryption, authentication, and secure communication (e.g., Java Cryptography Architecture).
👉 3. Security Manager:
Controls application actions at runtime, like file and network access.
👉 4. Void of Pointers:
Eliminates direct access to memory, reducing vulnerability to memory corruption.
👉 5. Memory Management:
Automated garbage collection prevents memory leaks and other misuse.
👉 6. Compile-Time Checking:
Catches errors early, ensuring code integrity before execution.
👉 7. Cryptographic Security:
Advanced encryption and secure data transmission with tools like SSL and digital signatures.
👉 8. Java Sandbox:
Isolates code execution, restricting access to critical system resources.
👉 9. Exception Handling:
Helps prevent unexpected crashes by managing runtime errors effectively.
👉 10. Java Class Loader:
Dynamically loads classes securely, preventing unauthorized code execution.
💡 These features make Java a trusted choice for secure and reliable application development.
#LearnJava
Java is renowned for its robust security, thanks to these features:
👉 1. JVM (Java Virtual Machine):
Isolates the code execution environment, protecting the host system from malicious code.
👉 2. Security APIs:
Built-in libraries for encryption, authentication, and secure communication (e.g., Java Cryptography Architecture).
👉 3. Security Manager:
Controls application actions at runtime, like file and network access.
👉 4. Void of Pointers:
Eliminates direct access to memory, reducing vulnerability to memory corruption.
👉 5. Memory Management:
Automated garbage collection prevents memory leaks and other misuse.
👉 6. Compile-Time Checking:
Catches errors early, ensuring code integrity before execution.
👉 7. Cryptographic Security:
Advanced encryption and secure data transmission with tools like SSL and digital signatures.
👉 8. Java Sandbox:
Isolates code execution, restricting access to critical system resources.
👉 9. Exception Handling:
Helps prevent unexpected crashes by managing runtime errors effectively.
👉 10. Java Class Loader:
Dynamically loads classes securely, preventing unauthorized code execution.
💡 These features make Java a trusted choice for secure and reliable application development.
#LearnJava
👍1🥰1
Which of the following is not a Java features?
Anonymous Quiz
9%
Dynamic
25%
Architecture Neutral
61%
Use of pointers
4%
Object-oriented
👍14👎2