I've Read 20+ Core Java Books - Here Are My BEST 5 Recommendations for Beginners in 2026

Hello guys, I have shared a lot of books related to Java and related technologies in the past, like books and online courses to learn Spring, Hibernate, JVM internals,  Java Performance tuning, Multi-threading, and Concurrency, Design patterns, Data structure, and Algorithms, etc., but I haven't shared books for core Java books for beginners yet. Even though I have mentioned a couple of popular titles every now and then, I really didn't have a complete compilation of essential core Java books for beginners. Since Java is one of the most popular programming languages and very useful for getting a job as a Software developer, it has become a choice of programming language to start learning coding and application development, it makes sense to start well with core Java.

Does Effective Java Book Still Relevant in 2027? Review

Effective Java is probably one of the most read books on Java technology and has been regarded by many programmers as the best book for Java developers. Though, recently many Java programmers have asked me whether Effective Java is still relevant in the era of Java 21? Or is there any better book on the same topic. The question is logical because It's been quite some time since the 3rd edition of Effective Java released and also the most recent Java 10 to Java 21 has changed how you code Java. Many idioms and design patterns of good old days now become redundant and can be done easily with the new Java features and feature, but does that mean "Effective Java" is not relevant now? Well, No, not at all. Effective Java is still relevant and a must-read for Java programmers due to several reasons, which you will see in this article.

Top 6 Online Course to learn from Java 9 to Java 26 in 2026 - Best of Lot

Hello guys, even though Java 15 is available now, many developers are still on Java 8 and not really caught up with changes in Java 9, 10, 11, 12, 13, or Java 14. If you are also in the same boat and want to start with Java 9 features, you have come to the right place. This article will share some of the best online courses to learn changes in Java 9, 10, 11, and later add more classes for Java 12, 13, 14, and 15. These JDK releases are packed with powerful features like modules, API enhancements like factory methods for an immutable list, set, and map, some changes on stream API and optional class, new features on process API, etc. 

Top 10 Free Courses for Java Developers to Learn Online in 2026 - Best of Lot

Hello guys, the Internet is full of useful resources, and no matter what you want to learn, there is something useful available for free. You just need to commit your time and effort. But at the same time, it's challenging to choose from the massive sea of free tutorials and courses on the internet. If you are not careful, you will spend most of your time browsing and changing classes without learning anything. That's where a curated list helps. Curation is my hobby and passion. I love to read books and courses which allows me to curate useful resources and share them with you guys.

Top 10 Books Every Java Developers Must Read

Hello guys, If you are a Java developer and wondering what to read, then you have come to the right place. In this article, I will share 10 books on Java, Spring, and related technology a Java developer can read. I have included books for both experienced Java developer who is more inclined to learn about architecture stuff,  developing for Cloud, Microservice, Java 9 to Java 21 features, and Spring 6 features and thinking of learning Kotlin to improve their productivity. Still, I have not forgotten junior and less experienced Java developers or some thinking of starting their journey into the Java world

Book Review - Is Effective Java 3rd Edition Really Worth It?

Hello guys, you might have heard about Effective Java, one of the most recommended books for Java programmers. This is one of those books which every Java developer wants to read because it will not teach you syntax but how and when to use a particular feature. After the huge success of Effective Java 1st Edition and 2nd Edition, the 3rd edition of Effective Java released a couple of years ago.  After 10 years of long wait by Java programmers from all over the world, finally, an updated version of, probably, the most popular Java book on the planet is released and I am going to talk about this new version of Effective Java, I mean Effective Java 3rd Edition in this article and share my thought that why its a must-read book for every Java developer around the world.

17 Free Java Programing Books for Beginners - download, pdf and HTML

Every Java programmer loves free eBooks on Java, don't you? When I shared my collection of top 10 Java programming books, one of my readers asked me to share some free Java books as well. Doing a quick search on the internet reveals lots of free books, resources, and tutorials to learn Java. I have chosen some of the good Java books, which are FREE, available for download or you can read it online in HTML or PDF format. These books are an excellent resource for any Java beginners, as well as an experienced programmer, and since they are free, it makes absolute sense to have a look on this before buying any other book in Java.

Top 5 Books to Learn Core Java for Beginners in 2026 - Best of lot

I receive half a dozen emails every day asking about which is the best to learn Java from scratch? Which book should I read in 2026 to learn Java? Or Which is the best Java for beginners? When I receive such an email, before giving my recommendation, I ask two questions, first do you have any programming experience? like, Are you coming from C, C++, or Python background? Or you are a fresher with no experience in programming, just a couple of classes on data structure and algorithm and operating systems in college.

12 Must Read Advance Java Books for Intermediate Programmers - Part 1

I often receive loads of email about Java books and courses recommendations, something like, I have 2 years of experience in Java and Spring, which Java books should I read to become an expert Java programmer, or I have 5 years of experience in core Java and want to become a Java expert, which books or courses should I refer? These are just some of the examples, but most of the requests are like that. It's interesting that most of the email I receive is not from beginners, I mean those who want to learn Java from scratch, but, from Java developers who have 2 to 3 years of experience. I call them Intermediate Java programmers because they are in the state of their career where they know how to program in Java, but they are not experts yet.

12 Advanced Java programming Books for Experienced Programmers - Part 2

This is the second part of 12 must-reads advanced Java programming books for intermediate and experienced Java programmers. In the first part, I have shared books to learn and master concurrency, performance, design patterns, and Java collection framework, which is essential for every Java developer irrespective of experience. On the other hand, In this article, I will talk about more advanced concepts, like security, Java 8, best practices, etc., which are more important for senior Java developers. As an experienced Java developer, a lot is expected of you. Junior developers look at you for guidance, and project managers look at you to solve problems and bail them out at critical junctures.

3 Best Books to Learn Java Programming for Beginners

Hello guys, if you want to learn Java from scratch and looking for the best Java books then you have come to the right place. Earlier, I have shared the free Java courses for beginners, and today, I am going to share the best books to learn Java from scratch. There is no doubt that the best book to learn Java for beginners is indeed Head First Java, 3rd Edition. It's interesting, informative, and yet easy to read, which is what a beginner wants. The only drawback of this book was that there is was 3rd Edition available until a couple of months ago but now that drawback has also gone as the 3rd Edition of Head First Java is now available and it covers Java SE 17, not the latest version of Java but the most popular one which is live on many places and have long term support

How to check if two String variables are same in Java? equals(), equalsIgnoreCase() and == operator Example

There are multiple ways to compare two strings alphabetically in Java e.g. == operator, equals() method or compareTo() method, but which one is the best way to check if two strings are equal or not? Programmers often confused between == operator and equals() method, and think that comparing strings using == operator should be faster than equals() method, and end up using that. Though they are not completely wrong, they often missed the point that == operator is designed to compare object equality, not String equality, which is actually defined in equals()method and compare Strings alphabetically. 

The Ultimate Java Interview Preparation Guide for 2026: Books, Courses, and Must-Know Topics

Java Interviews are a little bit different than traditional programming interviews on tech giants and product-based companies like Google, Amazon, Microsoft, or Facebook. First, even though it has questions from Data Structures and Algorithms like String or Array, you can still manage to clear Java interviews if you are not an expert on them. The questions are a little bit easier and more practical than those companies. Another essential thing about Java interviews are questions based upon Java programming language and JDK API. Since Java is also an Object-oriented programming language, you will find lots of OOP questions there.

Best Java Fundamentals Course in 2026? Angie Jones on Frontend Masters Reviewed

Is the “Java Fundamentals” Course by Angie Jones on Frontend Masters Worth It?

Hello guys, today I am going to review a Java course from Frontend Master created by none other than, Java Champion, Angie Jones.

I was initially surprised to find this course on Frontend Maser because I always thought Frontend Master is more about JavaScript and related technologies.

As I said, For long time, I thought Frontend Masters is just for frontend web development but I was pleasantly surprised to find the backend related course, particularly one which is focused on Java and even more because it was created by Angie who I have been following on Twitter for a long time.

Anyway, Frontend Masters is renowned for providing high-quality programming courses, and “Java Fundamentals” is no exception. Similar to frontend masters popular web development courses, this one is also a gem and one of the best online courses to learn Java.

In this article, we will delve into the course content, instructor credentials, teaching approach, and the overall value it provides to help you determine if it’s worth your investment.

Review — Is Java Fundamentals by Angie Jones on Frontend Masters worth it?

The “Java Fundamentals” course on Frontend Masters, taught by Angie Jones, aims to equip beginners and individuals seeking to refresh their Java skills with a solid foundation in Java programming.

The course covers crucial concepts, syntax, and best practices necessary for building Java applications.

1. Instructor Credentials — Who is Angie Jones?

If you don’t know, Angie Jones is a distinguished software engineer, automation expert, and international speaker with extensive experience in the industry.

She has worked for notable tech companies such as IBM, Twitter, and Apple, specializing in Java programming and automation testing.

She is also one of the popular Java champion and runs testautomation site for quite sometime where he provide training on Java to automation tester.

Angie’s expertise and professional background make her a suitable instructor for the “Java Fundamentals” course.

2. Course Content and Structure

The course is structured to cover Java fundamentals systematically. It starts with an introduction to Java, explaining its benefits and how it fits into the programming landscape.

From there, it delves into key topics such as variables, data types, control flow, object-oriented programming principles, exception handling, input/output operations, and more.

Angie Jones ensures that each concept is explained clearly and provides practical examples to illustrate their usage. The course also includes coding exercises and quizzes to help reinforce learning and test your understanding of the material.

The course content is structured systematically to cover Java fundamentals comprehensively. Here’s an overview of the topics covered:

Introduction
Angie Jones introduces the course, provides her professional background, and guides learners through the setup process, including installing IntelliJ and Java.

Conditions & Loops
This section covers essential concepts such as variables, control flow, if statements, switch statements, loops (while, do-while, and for), and nested loops.

Methods, Objects & Data Types:
Angie delves into methods, object-oriented programming principles, variable scope, constructors, instantiating objects, sending and receiving objects, records, wrapper classes, and more.

Arrays & Text Processing
This section explores arrays, random number generation, working with strings, text blocks, and string manipulation using StringBuilder.

Inheritance
Angie covers the topic of inheritance, discussing how classes extend other classes, overriding methods, overloading methods, limiting access, and sealed classes.

Polymorphism & Abstraction
In this part, you will understand polymorphism, type casting, instanceof operator, abstract classes, interfaces, and multiple inheritance.

Data Structures
This segment provides an overview of Set, List, Queue, and Map data structures, along with their usage and operations.

Functional Interfaces & Streams
Angie introduces functional interfaces, streams, intermediate and terminal operations, filtering, mapping, reducing, and utilizing the collect operation.

Exceptions
Error handling is an important part of processional coding and in this part you will learn exception handling, checked and unchecked exceptions, multiple exception handling, file handling, throwing and rethrowing exceptions.

Teaching Approach

Angie Jones employs an engaging teaching style, breaking down complex concepts into easily understandable parts.

She emphasizes practical applications of Java, illustrating real-world scenarios and best practices.

The course includes coding exercises, demonstrations, and explanations to ensure learners comprehend the material thoroughly.

Value and Benefits

One of the thing you should look before joining any course is the value it provide as there are a lot of option of and you cannot try everything. The “Java Fundamentals” course on Frontend Masters offers several benefits:

1.Comprehensive Coverage
The course covers a wide range of fundamental Java topics, providing a solid foundation for further Java development or automation testing.

2. Practical Examples
Angie Jones focuses on real-world applications and industry best practices, enabling learners to understand how Java concepts are implemented in professional scenarios.

3. Experienced Instructor
If you don’t know Angie is a Java Champion and also running test automation training for a long time. With Angie Jones’ industry expertise and extensive experience in Java programming, learners can benefit from her valuable insights and guidance.

5. Interactive Learning
The course incorporates coding exercises, quizzes, and demonstrations, allowing learners to actively participate, reinforce their understanding, and assess their progress.

6. Reputation and Platform Quality
Frontend Masters has a strong reputation for delivering high-quality courses, ensuring that the “Java Fundamentals” course maintains a standard of excellence.

Here is the link to join this course — “Java Fundamentals”

Conclusion

That’s all about this awesome course to learn Java on Frontend Masters. The “Java Fundamentals” course by Angie Jones on Frontend Masters is a valuable investment for beginners and those seeking to enhance their Java programming skills.

Angie’s expertise, the course’s comprehensive content, practical examples, and interactive learning approach provide learners with a solid foundation in Java.

While the course offers substantial value, supplementing it with additional practice, resources, and real-world projects will further enhance your skills and proficiency in Java programming.

You can learn more about this course here — “Java Fundamentals”

Other Frontend Masters Resources you may like to read

Thank you for reading this article till the end. If you like these Frontend masters courses then please share with your friends and colleagues. If you have any questions or doubts then feel free to ask.

P. S. — If you are keen to level up your frontend skills then joining frontend master can be a great first step as they have awesome courses to learn valuable frontend skills, you can join Frontend Masters now and even get a 17% discount on their annual plan.

    50+ Core Java Interview Questions for 1 to 3 Years Experienced Developers

    Disclosure: This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article.

    Java Interview qustions

    Hello devs, are you preparing for Java developer interviews? If Yes, here is a list of some useful Java interview questions for experienced Java programmers having experience in range of 2 to 5 years.

    As an experienced developer you are expected to learn about OOP concepts, Java basics, Java Collection framework, Multi-threading and Concurrency utilities introduced in Java 5 and 6, Debugging Java application, Algorithm and Data structure, Some questions on design patterns, JVM and Garbage collection and couple of puzzles.

    Actually its mix of everything you do in your day to day work.

    If you are going for Java developer with some exposure on web development you will also be asked about popular Java frameworks like Spring, Hibernate, Struts 2.0 and others.

    If you have more than 5 years of experience you can also expect questions about build tools like Maven, ANT and Gradle, Java best practices, Unit testing and JUnit and your experience about solving production issues.

    One of the most common question I have faced is talking about the last production problem you have faced and how did you solved it.

    If you are asked same question, give them step by step detail, right from analyzing problem to tactical fix to strategic solution.

    In this article, I am going to share my list of Java Interview question for Java guys having 2 to 5 years of experience. Since I had similar experience couple of year ago, I know what questions are asked and keeping a list for your own always helps when you start looking for new challenge in your career.

    I am not providing answers of these question in this post due to two reasons, questions are quite simple and you guys probably know the answer, second providing answer means I cannot use this post for my own preparation later, which is more important.

    Though, I could write another article answering all these question if anyone request or I feel people need it.

    By the way, if you are new to Java programming language or want to improve Java skills then you can also checkout sites like CodeGym, ZTM and karpado to learn Java by building Games and projects.

    Grokking the Java Interview book

    Java Interview Questions for 1 to 2 years Experienced

    This list contains questions from different topics e.g. OOP concepts, multi-threading and concurrency, Java collections, Web services, Spring, Hibernate, Database and JDBC, it doesn't cover all topics you need to prepare.

    I will add few more topics later when I have some time, for now, try to answer these questions without doing Google :)

    Java Interview questions on OOP Concepts

    Here are a couple of questions on OOP design, SOLID principle and baseic programming concepts

    1. What is the difference between loose coupling and tight coupling?
    Loose coupling allows components to interact with each other with minimal dependencies, while tight coupling creates strong dependencies between components.

    2. What is the difference between cohesion and coupling?
    Cohesion refers to the degree to which elements within a module belong together, while coupling refers to the degree of interdependence between modules.

    3. What is Liskov Substitution principle? Can you explain with an example?
    Liskov Substitution principle states that objects of a superclass should be replaceable with objects of its subclasses without affecting the correctness of the program.

    For example, if you have a class hierarchy with a superclass "Shape" and subclasses "Circle" and "Square", any method that works with Shape should also work with Circle or Square without causing errors.

    4. What is the difference between abstract class and interface in Java?
    Abstract classes can have both abstract and concrete methods, while interfaces can only have abstract methods. Additionally, a class can implement multiple interfaces but can only extend one abstract class.

    5. What is the difference between composition, aggregation, and association?
    Composition implies a strong ownership relationship where the lifetime of the contained object is dependent on the container.

    Aggregation implies a weaker relationship where the contained object can exist independently of the container. Association implies a relationship between two classes without any ownership or lifecycle dependency.


    Java Interview questions on Collections

    Now, let's see a few questions form Collections and Stream

    1. Difference between List, Set, and Map in Java?
    Lists maintain elements in sequential order and allow duplicates (e.g., ArrayList, LinkedList). Sets do not allow duplicates and do not guarantee order (e.g., HashSet, TreeSet). Maps store key-value pairs and do not allow duplicate keys (e.g., HashMap, TreeMap).

    2. Difference between synchronized and concurrent collection in Java?
    Synchronized collections use explicit locking to achieve thread-safety, allowing only one thread to modify the collection at a time. Concurrent collections use non-blocking algorithms and are designed for high concurrency, allowing multiple threads to modify the collection concurrently without explicit locking.

    3. How does the get method of HashMap work in Java?
    The get method of HashMap calculates the hash code of the provided key, determines the index in the underlying array based on the hash code, and then searches for the key at that index. If found, it returns the corresponding value; otherwise, it returns null.

    4. How is ConcurrentHashMap different from Hashtable? How does it achieve thread-safety?
    ConcurrentHashMap allows concurrent access to the map without blocking, while Hashtable uses synchronized methods to achieve thread-safety, resulting in potential performance bottlenecks. ConcurrentHashMap achieves thread-safety by dividing the map into segments, each with its lock, allowing multiple threads to modify different segments concurrently.

    5. When to use LinkedList over ArrayList in Java?
    Use LinkedList when frequent insertion and deletion operations are required, as LinkedList provides constant-time insertion and deletion at any position. Use ArrayList when random access and iteration are frequent, as ArrayList provides constant-time access by index.


    Java Interview questions on Concurrency and Threads

    Now, its time to see questions from Java multithreading and concurrency concepts:

    1. How do notify and notifyAll work, and what's the difference between them? Why prefer notifyAll to notify?
    Both notify and notifyAll are methods in Java used to wake up threads waiting on a monitor (i.e., waiting to acquire an object's lock). notify wakes up one randomly selected thread, while notifyAll wakes up all waiting threads. notifyAll is preferred because it ensures that all waiting threads are notified, preventing potential indefinite waiting and improving system responsiveness.

    2. What is a race condition and how do you avoid it?
    A race condition occurs when the outcome of a program depends on the timing or interleaving of multiple threads. To avoid race conditions, you can use synchronization mechanisms like locks, semaphores, or atomic operations to ensure that critical sections of code are executed atomically or only by one thread at a time.

    3. What is a deadlock and how do you avoid it?
    Deadlock occurs when two or more threads are stuck waiting for each other to release resources that they need to proceed. To avoid deadlock, you can use techniques such as resource ordering, avoiding nested locks, or using timeouts for acquiring locks. Additionally, designing code with a clear and consistent locking order can help prevent deadlocks.

    4. What are some of the high-level concurrency classes provided by java.util.concurrent and how do they work?
    Some high-level concurrency classes provided by java.util.concurrent include ExecutorService, ThreadPoolExecutor, CountDownLatch, Semaphore, CyclicBarrier, BlockingQueue, and ConcurrentHashMap. These classes provide thread-safe implementations of common concurrency patterns and mechanisms like thread pools, synchronization primitives, and concurrent data structures.

    5. Can you implement a producer-consumer solution in Java?
    Yes, here is the code:

    
    
    import java.util.concurrent.ArrayBlockingQueue;
    
    class Producer implements Runnable {
        private final ArrayBlockingQueue<Integer> queue;
        private int count = 0;
    
        Producer(ArrayBlockingQueue<Integer> queue) {
            this.queue = queue;
        }
    
        public void run() {
            try {
                while (true) {
                    queue.put(produce());
                    Thread.sleep(1000); // Simulate some work
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            }
        }
    
        private int produce() {
            System.out.println("Producing: " + count);
            return count++;
        }
    }
    
    class Consumer implements Runnable {
        private final ArrayBlockingQueue<Integer> queue;
    
        Consumer(ArrayBlockingQueue<Integer> queue) {
            this.queue = queue;
        }
    
        public void run() {
            try {
                while (true) {
                    consume(queue.take());
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
            }
        }
    
        private void consume(int item) {
            System.out.println("Consuming: " + item);
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<>(10);
            Producer producer = new Producer(queue);
            Consumer consumer = new Consumer(queue);
    
            Thread producerThread = new Thread(producer);
            Thread consumerThread = new Thread(consumer);
    
            producerThread.start();
            consumerThread.start();
        }
    }
    
    
    
    

    Java Interview questions on Database, SQL, and JDBC

    JDBC is used for connecting database from Java program, let's ee a few questions on Database and JDBC
    1. How do you prevent SQL injection attacks?
    To prevent SQL injection attacks, use parameterized queries (prepared statements) with bound parameters, input validation, and escape characters. Avoid dynamic SQL queries constructed by concatenating user input.

    2. What is the difference between WHERE and HAVING clause? The WHERE clause filters rows before the grouping and aggregation process, while the HAVING clause filters aggregated data after the grouping process based on specified conditions.

    3. What are transactions? What is ACID?
    Transactions are a set of SQL statements that are executed as a single unit of work. ACID is an acronym for Atomicity, Consistency, Isolation, and Durability, which are properties that ensure the reliability of transactions in a database system.

    4. Difference between truncate, delete, and drop clause in SQL?

    • TRUNCATE: Removes all rows from a table but retains the table structure and any associated constraints or indexes.
    • DELETE: Removes specific rows from a table based on a condition, but retains the table structure and associated constraints.
    • DROP: Deletes an entire table, including its structure, data, and associated constraints and indexes.

    5. What are window functions? How do they work?
    Window functions perform calculations across a set of rows related to the current row within a query result set. They allow you to perform aggregate functions (such as SUM, AVG, COUNT) over a specified window or subset of rows, defined by the OVER clause. Window functions operate on a set of rows and return a single value for each row based on that set of rows. They are often used for tasks such as ranking, aggregation, and calculating running totals.

    See, Grokking the SQL Interview book if you need more questions on Database and SQL

    SQL Interview questions books

    Java Interview questions on Hibernate

    Now, its time to see questions from Hibernate, one of the popular Java framework:

    1. When is it better to use plain SQL instead of ORM?
    It's better to use plain SQL when:

    • Complex queries need to be optimized for performance.
    • The database schema or query requirements are not well-supported by the ORM framework.
    • Direct control over SQL statements, database connections, or transactions is required.

    2. Difference between sorted and ordered collection?
    In Java, a sorted collection maintains elements in a specific order defined by a comparator or by the natural ordering of elements, while an ordered collection maintains elements in the order they were inserted.

    3. How does second level cache work?
    Second level cache in Hibernate stores objects in a shared cache region, typically across multiple sessions. When an entity is queried for the first time, it is fetched from the database and stored in the second level cache. Subsequent queries for the same entity can then be satisfied from the cache instead of hitting the database, improving performance.

    4. What is the difference between save() and persist() in Hibernate?
    Both save() and persist() methods in Hibernate are used to save an entity to the database. However, save() returns the generated identifier immediately, while persist() doesn't guarantee immediate execution of the SQL INSERT statement; it may be executed later during flush time. Additionally, persist() is part of the JPA specification, while save() is specific to Hibernate.

    5. What is the difference between Hibernate and MyBatis?

    • Hibernate is a full-fledged ORM framework that maps Java objects to database tables, manages database connections, and provides various querying mechanisms. MyBatis, on the other hand, is a lightweight persistence framework that uses SQL mapping files to map Java objects to SQL queries.
    • Hibernate is typically used for domain-driven development, where object-oriented modeling is prominent, while MyBatis is often preferred for projects where direct control over SQL queries is required, such as legacy database systems or complex SQL scenarios.
    • Hibernate provides caching mechanisms, automatic dirty checking, and transaction management, while MyBatis offers more control over SQL queries and mappings, allowing developers to write SQL queries directly.

    Java Interview questions on Web Services and Microservices

    Now, let's see questions form Microservice architecture and REST web services

    1. Difference between SOAP-based and REST-based web services? SOAP is protocol-based with rigid structure, while REST is architectural style based on stateless communication with flexible endpoints.

    2. What is SOAP Envelope?
    It encapsulates the entire SOAP message and defines its structure.

    3. How to implement security in RESTful web service?
    Implement SSL/TLS for encryption and authentication.

    4. What is Payload in REST?
    It's the data transmitted in the body of the HTTP request or response.

    5. What is Microservices? It's an architectural style where applications are composed of small, independent services.

    6. What is the difference between Microservices and REST? Microservices refer to architectural design, while REST is an architectural style for networked applications.

    7. What is the difference between Monolithic and Microservices?
    Monolithic has single codebase, while Microservices have multiple, independent components; Monolithic can have higher latency.

    8. What problem does SAGA pattern solve?
    It manages distributed transactions in Microservices architecture.

    9. What is service discovery in Microservices?
    It's the mechanism for locating services dynamically within a Microservices architecture.

    10. What are common Microservices Patterns you have used in your project?
    Service Registry, Circuit Breaker, API Gateway.


    Java and Spring Interview Preparation Material

    Before any Java and Spring Developer interview, I always read the Grokking the Java Interview and Grokking the Spring boot Interviw

    Here are few more questions from these books:

    Java object oriented questions

    and,

    Spring boot interview questions

    And, if you are new to Java then you can also checkout sites like CodeGym, ZTM and karpado to learn Java by building Games and projects.

     
    Thank you guys for now. You can find the answers in web easily but if there are enough interest, I can also update the post. Let me know if you have also asked these questions before. If anyone knows answer, can also post as comment.

    Good luck for your Java Interview.

    By the way, if you are new to Java programming language or want to improve Java skills then you can also checkout following best Java courses to get better: