Java Full Stack Developer Interview Q&A
### Core Java Questions:
1. **What are the key features of Java?**
- Java is object-oriented, platform-independent, robust, secure, multi-threaded, and supports automatic garbage
collection.
2. **Explain the difference between JDK, JRE, and JVM.**
- JDK (Java Development Kit) includes JRE and development tools.
- JRE (Java Runtime Environment) provides libraries and JVM for running Java applications.
- JVM (Java Virtual Machine) converts bytecode into machine code for execution.
3. **What is the difference between ArrayList and LinkedList?**
- `ArrayList` is faster for searching but slow for insert/delete operations.
- `LinkedList` is slower for searching but better for frequent insertions and deletions.
4. **What are Java Streams, and how do they differ from Collections?**
- Streams process data in a functional way, supporting operations like filter, map, and reduce.
- Collections store and manage data in-memory.
5. **What is the significance of the 'final' keyword in Java?**
- Used to declare constants, prevent method overriding, and prevent inheritance.
6. **Explain the concept of multithreading and how it improves performance.**
- Multithreading allows concurrent execution of tasks, improving CPU utilization and responsiveness.
---
### Spring Boot & Microservices Questions:
1. **What is Spring Boot, and why is it preferred?**
- Spring Boot simplifies application development with auto-configuration and embedded servers.
2. **What is dependency injection in Spring?**
- A design pattern where Spring injects dependencies automatically instead of creating them manually.
3. **Explain the architecture of Microservices and its benefits.**
- Microservices decompose applications into small, independent services for better scalability and maintenance.
4. **What are the differences between Monolithic and Microservices architecture?**
- Monolithic: A single large codebase; harder to scale.
- Microservices: Independent services; easier to scale and maintain.
5. **How does Spring Boot handle REST API development?**
- Uses `@RestController`, `@RequestMapping`, and JSON serialization for building APIs.
---
This document contains detailed Q&A for Java Full Stack Developer interviews. Good luck!