With the Backend (Java) online Training Program, you will practically master both fundamental and advanced Java concepts, learn to write and optimize database queries using SQL, and build real backend applications and REST APIs with Spring Boot.
You will strengthen your engineering skills through multithreading and performance optimization techniques, and ultimately gain hands-on experience in testing, clean code practices, and deploying applications with Docker preparing you for real-world work environments.
March 2026
6 months
10-15
on Tuesday at 19:00-21:00 , on Saturday at 10:00-12:00
20 years and older
Knowledge of English at least Intermediate level
To have a personal computer or a laptop ; Strong motivation to learn programming, active participation in classes, and a disciplined approach to technical topics are required
Readiness for intensive training
Students will apply fundamental and advanced Java concepts in real-world projects, preparing them for professional backend development roles.
Through SQL and database knowledge, they will gain the ability to manage data efficiently, write optimized queries, and improve system performance.
By building real backend applications and REST APIs using Spring Boot, they will develop practical skills aligned with industry demands.
They will learn to design high-performance and scalable systems by mastering engineering concepts such as multithreading and concurrency.
By applying unit testing, debugging techniques, and clean code principles, they will be able to write high-quality, maintainable software.
Using Docker and modern development tools, they will gain hands-on experience in deploying applications and working in real-world project environments.
Number of modules
1. Java Platform Architecture
- JVM Architecture
- JRE vs JDK
- Java Compilation Flow (.java → .class → bytecode → execution)
2. Memory Management
- Stack vs Heap Memory
3. Language Fundamentals
- OOP Principles
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
- Interfaces vs Abstract Classes
- Pass byValue vs Reference Semantics in Java
4. Generics & TypeSystem
- Generic Classes and Methods
- Bounded Types
- Wildcards (? extends, ? super) Type Erasure
- Common Generic Pitfalls
5. Java Collections Framework
- Collection Hierarchy Overview
- List, Set,Queue, Map Interfaces
- ArrayList vs LinkedList
- equals(), hashCode() Contracts
- HashSet vs TreeSet
- HashMap vs ConcurrentHashMap
- Internal Working of HashMap (hashing, buckets, resizing)
- Fail-Fast vs Fail-Safe Iterators
- Custom Comparator & Comparable
6. Functional Programming in Java
- Lambda Expressions
- Functional Interfaces
- Stream API Intermediate vs Terminal Operations
- Parallel Streams
- Collectors
7. Multithreading & Concurrency
- Thread Lifecycle
- Runnable vs Callable
- Thread Safety Principles
- Synchronization
- synchronized
- Locks (ReentrantLock, ReadWriteLock)
- ExecutorService
- CompletableFuture
- Volatile Keyword Atomic Variables
- Deadlock, Livelock, Starvation
- Thread Pool Sizing Strategies
8. Garbage Collection
- Object Lifecycle
- Strong, Weak, Soft, Phantom References
- Memory Leaks in Java
- Garbage Collection Concepts
- Minor GC vs Major GC vs Full GC Stop-The-World
- GC Algorithms (Serial, Parallel, G1, ZGC)
- OutOfMemoryError Analysis
1. SQL Basics
- SELECT, INSERT, UPDATE, DELETE
- WHERE, AND / OR
- ORDER BY
- IN, EXISTS
2. Aggregation
- COUNT, SUM, AVG, MIN, MAX
- GROUP BY
- HAVING
3. Joins
- INNER JOIN
- LEFT / RIGHT JOIN
- FULL JOIN
5. Constraints & Keys
- PRIMARY KEY
- FOREIGN KEY
- UNIQUE
- NOT NULL
6. Indexing
- Index
- B-Tree index (concept)
7. Transactions
- BEGIN / COMMIT / ROLLBACK
- ACID
- Isolation levels (overview)
1. Spring Boot Fundamentals
- Spring vs Spring Boot
- Auto Configuration
- application.yml
2. JPA & Hibernate
- ORM Concepts
- Entity Lifecycle
- @Entity, @Id, @GeneratedValue
- Relationships (@OneToMany, @ManyToOne, etc.)
- Fetch Types (LAZY vs EAGER)
- Cascade Types
- @Enumerated, @Embedded
- Dirty Checking
- First-Level Cache
- N+1 Problem & Solutions
3. Transactions & Locking
- @Transactional
- Propagation
- Isolation
- Optimistic Locking (@Version)
- Pessimistic Locking
4. Spring Data JPA
- JpaRepository
- Derived Queries
- JPQL vs Native Query
- Pagination & Sorting
- Projections
5. Web Layer (REST)
- @RestController
- CRUD APIs
- Request / Response Mapping
6. Validation & Exception Handling
- Bean Validation
- @ControllerAdvice
7. Testing & Monitoring (Overview)
- @SpringBootTest
- Actuator
- Unit Testing JUnit
- Mockito
- Service layer
- Repositorylayer
8. Docker və Containerization
- What is Docker
- Writing a Dockerfile
- Containerizing a Spring Boot application
- Using Docker Compose