# cau hoi java

1. **20 câu hỏi về Java Methods**:
    
    * Variable Argument Passing
        
    * Pass by Value
        
    * Pass by Reference
        
    * Method Overloading
        
2. **30 câu hỏi về Java Classes**:
    
    * Accessibility
        
    * The Object Class
        
    * Constructors
        
    * Initialization
        
    * Classes
        
    * Nested Classes
        
    * Anonymous and Local Classes
        
    * Abstract Classes
        
    * Final Class
        
    * Super Keyword
        
    * Finalize
        
3. **20 câu hỏi về Java Generics**:
    
    * Why Generics
        
    * Raw Types
        
    * Generic Types
        
    * Bounded Types
        
    * Type Inference
        
    * Erasure
        
    * Bridge Methods
        
    * Wildcard
        
    * The Get & the Put Principle
        
    * Reification
        
4. **20 câu hỏi về Java Multi-Threading**:
    
    * Fundamentals
        
    * Thread Safety
        
    * Mutexes vs Semaphores
        
    * Synchronized
        
    * Volatile
        
    * Wait() and Notify()
        
    * More on Threading
        
5. **20 câu hỏi về Java Memory Management**:
    
    * Memory Areas
        
    * Reference Strengths
        
    * Garbage Collection
        
    * Memory Tuning
        
6. **20 câu hỏi về Java Exceptions**:
    
    * Exceptions
        
    * Checked vs Unchecked
        
    * Catch Block
        
    * More on Exceptions
        
7. **20 câu hỏi về Java Reflection and Serialization**:
    
    * Introduction
        
    * java.lang.Class
        
    * Class Modifiers
        
    * Instantiation using Reflection
        
    * Classloaders
        
    * Serialization Basics
        
    * More on Serialization
        
8. **20 câu hỏi về Miscellaneous Topics**:
    
    * Types
        
    * Keywords
        
    * Annotations
        
    * Boxing
        
    * Unboxing
        
    * Package
        
    * Strings
        
    * Casting
        
9. **30 câu hỏi về Java in Practice**:
    
    * Object Creation
        
    * Using Objects
        
    * Designing Classes
        
    * Inheritance vs Composition
        
    * Interfaces vs Abstract Classes
        
    * Using Generics
        
    * Enums & Annotations
        
    * Method Design
        
    * General Best Practices
        
    * Exceptions Handling
        
    * Concurrency
