Java Skills

Core Java Skills

  • Object-Oriented Programming (OOP) Concepts
  • Data Types, Variables, and Operators
  • Control Statements (Loops, Conditionals)
  • Exception Handling and Assertions
  • Java Collections Framework
  • Multithreading and Concurrency
  • Input/Output (I/O) Operations
  • Generics and Annotations

Java 11

  • Local-Variable Syntax for Lambda Parameters
  • HTTP Client API
  • Running Java File with a Single Command
  • New String Methods (e.g., isBlank, lines, strip)
  • Optional Class Enhancements
  • Immutable Collections with `of` Methods
  • New Stream API Methods (e.g., dropWhile, takeWhile)
  • Flight Recorder for Production Monitoring

Java 17

  • Sealed Classes
  • Pattern Matching for Switch (Preview)
  • Strong Encapsulation by Default
  • Removal of the Applet API
  • New/Enhanced API (e.g., RandomGenerator interface)
  • Text Blocks (Standard)
  • Enhanced Pseudorandom Number Generators
  • Foreign Function & Memory API (Incubator)

Java 21

  • Virtual Threads
  • Structured Concurrency (Preview)
  • Pattern Matching for Switch (Final)
  • Unnamed Patterns and Variables (Preview)
  • Record Patterns (Final)
  • Sequenced Collections
  • String Templates (Preview)
  • Scoped Values (Incubator)

Spring/Spring Boot

  • Dependency Injection, Aspect-Oriented Programming
  • Creating REST APIs with Spring Boot
  • Spring Boot Starters, Spring Security, Spring Data
  • Spring Cloud for microservices
  • Spring Actuator for Monitoring
  • Custom Annotations and Bean Scopes
  • Integration with NoSQL Databases
  • Testing with Spring Boot (MockMVC, TestRestTemplate)

JPA/JDBC

  • Experience with Hibernate and JPA for ORM
  • Understanding of JPA Entity Lifecycle, Queries, and Transactions
  • JDBC for direct database access and control
  • Database schema design and management
  • JPQL and Criteria API
  • Database Connection Pooling
  • Handling Lazy and Eager Fetching
  • Optimistic and Pessimistic Locking

Microservices

  • Designing and implementing scalable microservices architecture
  • Experience with RESTful services, APIs, and microservices patterns
  • Knowledge of containerization (Docker, Kubernetes)
  • Service Discovery and Load Balancing
  • API Gateway and Circuit Breaker Pattern
  • Asynchronous Communication (e.g., Kafka)
  • Event Sourcing and CQRS
  • Distributed Tracing and Monitoring

Testing

  • JUnit for Unit Testing
  • Mockito for Mocking Dependencies
  • Spock/Groovy for BDD and TDD
  • Test-Driven Development (TDD) Practices
  • Integration Testing with Spring Boot
  • Mocking External Services and APIs
  • Code Coverage and Static Analysis Tools
  • Performance and Load Testing
  • Sonar Vulnerability Scans