Interview Guide
Comprehensive interview preparation resources covering Java, Spring Framework, and System Design topics.
Core Java Interview Topics
Java Fundamentals
Core concepts including OOP, inheritance, polymorphism, and encapsulation
Collections Framework
ArrayList, HashMap, TreeSet, and understanding time complexity
Multithreading
Thread lifecycle, synchronization, concurrent collections, and executors
JVM Internals
Memory management, garbage collection, and JVM tuning strategies
Stream API
Functional programming, lambda expressions, and stream operations
Exception Handling
Checked vs unchecked exceptions, custom exceptions, and best practices
Design Patterns
Singleton, Factory, Builder, Observer, and Strategy patterns
Java 8+ Features
Optional, CompletableFuture, new Date/Time API, and records
Generics & Annotations
Type parameters, wildcards, custom annotations, and reflection
Spring Framework Topics
Spring Core
IoC container, dependency injection, and bean lifecycle management
Spring Boot
Auto-configuration, starters, actuators, and production-ready features
Spring MVC
Request handling, REST controllers, validation, and error handling
Spring Data JPA
Repository pattern, query methods, transactions, and auditing
Spring Security
Authentication, authorization, JWT, OAuth2, and security filters
Spring AOP
Aspect-oriented programming, cross-cutting concerns, and advice types
Spring Cloud
Microservices patterns, service discovery, and config management
Spring Batch
Batch processing, job configuration, readers, processors, and writers
Testing in Spring
Unit tests, integration tests, MockMVC, and test containers
System Design Topics
Scalability
Horizontal vs vertical scaling, load balancing, and caching strategies
Database Design
SQL vs NoSQL, sharding, replication, and CAP theorem
Microservices
Service decomposition, API gateway, and inter-service communication
Message Queues
Kafka, RabbitMQ, event-driven architecture, and async processing
Caching Strategies
Redis, Memcached, cache invalidation, and distributed caching
API Design
REST principles, versioning, rate limiting, and documentation
Distributed Systems
Consistency models, consensus algorithms, and fault tolerance
Security Architecture
Authentication flows, encryption, and secure communication
Monitoring & Logging
Observability, metrics, distributed tracing, and alerting
CAP Theorem
Consistency, Availability, Partition Tolerance trade-offs in distributed systems