Yol xəritələri · L1
Junior Java Developer
Junior Java developer artıq sintaksisi bilir və kiçik tapşırıqları həll edə bilir. Bu mərhələdə əsas məqsəd düzgün, oxunaqlı və yoxlanıla bilən kod yazmaq, real layihədə komanda ilə işləməyi öyrənməkdir.
Əvvəlki səviyyədən fərqi
Tutorial bitirmiş şəxs verilmiş addımları təkrarlayır və kod işləyən kimi dayanır. Junior developer isə kodun niyə işlədiyini izah edə bilir, xətanı özü araşdırır, kodu test və Pull Request ilə təhvil verir və review qeydlərindən nəticə çıxarır.
Gözlənilən biliklər
- Java əsasları: tiplər, OOP, interface, record, immutability və equals/hashCode müqaviləsi
- Collections: List, Set, Map seçimi və onların mürəkkəbliyi
- Exception-ların düzgün istifadəsi: checked və unchecked fərqi, cause ilə sarma
- Stream API-nin oxunaqlı istifadəsi və onun məhdudiyyətləri
- SQL: SELECT, JOIN, GROUP BY, INSERT/UPDATE, primary və foreign key, index anlayışı
- Spring Boot əsasları: controller, service, repository qatları və dependency injection
- REST: HTTP metodları, status kodları, JSON, sadə validation
- Git və Pull Request axını: branch, commit, merge conflict, review
Praktik bacarıqlar
- Kiçik REST servisini sıfırdan yazıb PostgreSQL ilə işlətmək
- JUnit ilə unit test yazmaq və sadə asılılıqları mock etmək
- Stack trace və log-lardan xətanın yerini tapmaq
- Debugger ilə addım-addım icranı izləmək
- Dəyişənlərə, metodlara və siniflərə mənalı adlar vermək
- Kiçik, bir məqsədli Pull Request hazırlamaq və review qeydlərinə cavab vermək
Tipik səhvlər
- Mutable obyekti HashMap açarı kimi istifadə etmək və equals/hashCode-u uyğunlaşdırmamaq
- Exception-ı tutub səssizcə yeganə catch blokunda buraxmaq
- Entity-ni birbaşa API cavabı kimi qaytarmaq
- Bütün məntiqi controller-in içinə yazmaq
- Testi yalnız «işləyir» görmək üçün əl ilə yoxlamaqla əvəz etmək
Öyrənmə prioritetləri
- 1Java və OOP əsaslarını möhkəmləndirməkCollections, exception, equals/hashCode və immutability. Bunlar sonrakı bütün mərhələlərin zəminidir.
- 2SQL-i ciddi öyrənməkJOIN, aqreqasiya və index anlayışı. Backend işinin böyük hissəsi verilənlərlə bağlıdır.
- 3Spring Boot-da qatları ayırmaqController, service və repository məsuliyyətlərini ayırın, DTO istifadə edin, validation əlavə edin.
- 4Test yazmaq vərdişiHər yeni məntiq üçün ən azı bir unit test. Testi kodun dizaynını yoxlayan alət kimi görün.
- 5Git, Pull Request və Docker ilə rahat işləməkKiçik commit-lər, aydın PR təsviri və local mühiti docker compose ilə qaldırmaq.
Arxitektura yetkinliyi
Junior səviyyədə sistem arxitekturasını dizayn etmək gözlənilmir. Lakin kodun qatlara bölünməsini, asılılıq istiqamətini və niyə məntiqin controller-də yox, service-də yerləşdiyini başa düşmək vacibdir. Mövcud strukturu pozmadan ona uyğun kod əlavə edə bilmək və uyğunsuzluğu görəndə sual verə bilmək yetərlidir.
Nümunə suallar
- equals və hashCode niyə birlikdə override olunmalıdır?
- ArrayList və LinkedList-i nə zaman seçərdiniz?
- Checked və unchecked exception arasında fərq nədir?
- INNER JOIN ilə LEFT JOIN nəticəsi nə ilə fərqlənir?
- Spring-də dependency injection nə problemi həll edir?
- Pull Request-i nə üçün kiçik saxlamaq lazımdır?
Özünüz edə biləcəyiniz tapşırıqlar
- Sifariş (Order) üçün CRUD REST API yazın: controller, service, repository və DTO ayrı olsun.
- Eyni verilənlər üzərində üç SQL sorğusu yazın: JOIN, GROUP BY və alt sorğu ilə. EXPLAIN nəticəsinə baxın.
- Mutable açarla HashMap-də itən elementi təkrarlayan test yazın, sonra record ilə düzəldin.
- Öz layihənizi Dockerfile və docker compose ilə bir əmrlə qaldırın.
Bu səviyyə üçün məqalələr
- Java CoreJava-da equals və hashCode müqaviləsi
- Java CoreDüzgün Java kolleksiyasını seçmək
- Java CoreJava servislərində exception dizaynı
- Spring BootSpring Boot tətbiqində layer-lər: controller, service, repository
- SQL və performansSQL indekslər və PostgreSQL EXPLAIN ilə izah
- Test strategiyasıSpring Boot backend üçün praktik test strategiyası
- DockerJava servisləri üçün Docker
Uyğun proqramlar
Bu səviyyəyə nə qədər yaxınsınız?
Bacarıq testi cavablarınıza əsaslanan şəxsi boşluq hesabatı hazırlayır. Nəticə tövsiyədir, sertifikat deyil.