CLI Expense Tracker
Terminaldan idarə olunan şəxsi xərc izləmə tətbiqi qur.
İlk kod sətrindən sistem dizaynına — addım-addım öyrən.
Kod yazmağa başlamazdan əvvəl problemi düzgün anla, hissələrə böl və həll yolunu aydın addımlara çevir.
Gündəlik həyatdan bir problem seç; input, output və məhdudiyyətləri yaz, həlli pseudocode ilə qur və ən az üç fərqli ssenari üzərində addım-addım yoxla.
Kodun işlədiyi kompüteri anla: məlumatın necə təmsil olunduğunu, proqramın CPU, RAM və əməliyyat sistemi ilə necə əlaqə qurduğunu öyrən.
Kompüterində CPU, RAM, disk və əməliyyat sistemi məlumatlarını tap; işləyən bir Java prosesinin yaddaş və CPU istifadəsini müşahidə edib qısa hesabat yaz.
Java kodunu oxumaq və ilk proqramını sərbəst yazmaq üçün əsas anlayışlar.
Terminaldan məbləğ və kateqoriya qəbul edən, xərcləri toplayan proqram yaz.
Problemi obyektlərə böl və məsuliyyətləri aydın modelləşdir.
Account, SavingsAccount və PaymentService modellərini qur; rollarını izah et.
Dəyişikliklərini izlə və komanda işinin əsaslarını mənimsə.
Yeni branch-də funksiya əlavə et, konflikt yarat və həll edərək əsas branch-ə birləşdir.
Məlumatın xüsusiyyətinə uyğun kolleksiya seç.
Xərcləri Map ilə kateqoriyaya qruplaşdır; təkrar elementləri Set ilə aşkarlamağı yoxla.
Xətanı təxmin etmək əvəzinə onun səbəbini tap.
Yanlış giriş və mövcud olmayan fayl hallarını idarə et; problemi debugger ilə izlə.
Kolleksiyalar üzərində çevirmə və hesablama əməliyyatlarını ifadəli yaz.
Tranzaksiyaları valyutaya görə qruplaşdır və hər qrup üçün ümumi məbləği hesabla.
Eyni anda işləyən tapşırıqların paylaşdığı vəziyyəti təhlükəsiz idarə et.
İki paralel əməliyyatın sayğacı səhv artırmasını göstər, sonra problemi düzəlt.
Kodun JVM daxilində necə icra olunduğunu və yaddaşın necə idarə edildiyini anla.
Obyektləri limitsiz saxlayan cache yarat; profiler ilə artan yaddaşı tap və ölçülü cache ilə düzəlt.
Dəyişiklik gələndə kodun hansı hissəsinin dəyişməli olduğunu düşün.
Kart və bank transferi üçün ödəniş üsullarını Strategy pattern ilə ayır.
Tətbiqin yığılmasını kompyuterdən asılı olmayan prosesə çevir.
Layihəni core və cli modullarına böl, bir komanda ilə build və testləri işə sal.
Həlli kodlamazdan əvvəl əməliyyat sayını, yaddaş xərcini və uyğun yanaşmanı müəyyən et.
Eyni massiv problemini brute force və sliding window ilə həll edib nəticələri müqayisə et.
Sürətli giriş, sayma və uyğunlaşdırma tələb edən problemlər üçün əsas strukturları seç.
Mətndə sözlərin tezliyini hesabla və ən çox təkrarlanan sözləri qaytar.
Ardıcıl məlumat və LIFO/FIFO axınlarını uyğun strukturla idarə et.
Mötərizələrin balansını stack ilə yoxla və növbəti böyük elementi tap.
İyerarxik və əlaqəli məlumatlarda traversal və ən yaxşı namizəd seçimini tətbiq et.
Şəhərlər qrafında BFS ilə ən az dayanacaqlı marşrutu tap.
Klassik alqoritmləri və böyük problemi kiçik alt problemlərə bölmə yanaşmasını mənimsə.
Binary search ilə ilk uyğun elementi tap, sonra coin change problemini memoization ilə həll et.
Relational məlumat üzərində düzgün və aydın sorğular yaz.
İstifadəçinin aylıq xərclərini və ən böyük 3 tranzaksiyasını qaytaran SQL yaz.
Biznes qaydalarını cədvəl və məhdudiyyətlərlə ifadə et.
Order, OrderItem və Product üçün sxem qur; tarixi qiymətin harada saxlanacağını əsaslandır.
Paralel dəyişikliklərin məlumatı ziddiyyətli etməsinə mane ol.
İki paralel köçürmə ilə balans yarışını təkrarla; uyğun locking strategiyası ilə həll et.
Sorğunu sürətləndirməzdən əvvəl icra planını oxu.
Böyük tranzaksiya cədvəlində yavaş sorğunu ölç, indeks əlavə et və planları müqayisə et.
Tətbiqlə baza arasındakı əlaqəni və sxem dəyişikliklərini idarə et.
Yeni sütunu migration ilə əlavə et və JDBC ilə təhlükəsiz parametrli axtarış qur.
Obyektlərin həyat dövrünü və asılılıqlarını Spring ilə idarə et.
Bildiriş servisinə email adapterini constructor ilə ötür; test profilində saxta adapter qoş.
API davranışını müştərilər üçün proqnozlaşdırıla bilən et.
Tapşırıq yaratmaq, yeniləmək və səhifələnmiş siyahı üçün endpoint-lər dizayn et.
ORM rahatlığından istifadə et, yaratdığı SQL-i də başa düş.
N+1 problemi yarat, SQL sayını ölç və uyğun fetch strategiyası ilə düzəlt.
Biznes əməliyyatının harada başlayıb bitdiyini dəqiq müəyyənləşdir.
Order və OrderItem yaradılmasını atomik et; ortada xəta olduqda rollback-i test et.
API müqaviləsini aydınlaşdır və digər servislərlə əlaqəni idarə et.
Xarici valyuta API-si üçün timeout və xəta xəritələməsi olan adapter yaz.
Kimlik və icazəni ayrı məsuliyyətlər kimi qur.
İstifadəçinin başqasının abonəliyini ID dəyişərək görə bilmədiyini test et.
Token əsaslı giriş axınlarının məsuliyyətlərini başa düş.
Yanlış audience, bitmiş müddət və dəyişdirilmiş imza olan token-lərin rədd edilməsini yoxla.
Testləri kodun quruluşuna deyil, gözlənilən davranışına bağla.
Endirim hesablaması üçün sərhəd dəyərlərini və səhv input-ları parameterized test et.
Ayrı-ayrı hissələrin birlikdə düzgün işlədiyini təsdiqlə.
Baza constraint-i pozulan və xarici servis gecikən hallarda API cavabını yoxla.
Hücum səthini azalt və məlumat çıxışını nəzarətdə saxla.
Rate limit tətbiq et, SQL parametr bağlamasını yoxla və loglardan token-ləri çıxar.
Servisləri texniki qatlara deyil, biznes məsuliyyətlərinə görə ayır.
Sifariş, ödəniş və inventory sərhədlərini çək; hər bazanın sahibini müəyyənləşdir.
Hadisələri itki, təkrar və gecikmə ehtimalını nəzərə alaraq emal et.
Eyni event-i iki dəfə göndər və biznes əməliyyatının yalnız bir dəfə tətbiq olunduğunu yoxla.
Sürət qazanarkən məlumatın köhnəlmə riskini idarə et.
Məhsul məlumatı üçün cache qur, eyni vaxtda cache miss olduqda bazaya yükü ölç.
Bir asılılığın problemi bütün tətbiqi dayandırmasın.
Gecikən xarici servis simulyasiya et; timeout və bulkhead ilə təsir dairəsini məhdudlaşdır.
Bir neçə servisi əhatə edən əməliyyatda aralıq halları modelləşdir.
Ödəniş alınıb stok ayrılmadıqda kompensasiya axınını və təkrar icranı modelləşdir.
Tətbiqin runtime mühitini başa düş və təkrarlana bilən et.
API və PostgreSQL-i konteynerlərdə işə sal; məlumatın restart-dan sonra qaldığını yoxla.
Tətbiqin replika, konfiqurasiya və həyat dövrünü idarə et.
İki replika yerləşdir və rolling update zamanı davam edən sorğuların davranışını ölç.
Dəyişikliyi testdən deploy-a qədər təkrarlana bilən axına sal.
Hər dəyişiklikdə test edən, image yığan və versiyalı artifact yaradan pipeline qur.
İstifadəçinin problemini log, metrika və trace ilə izləyə bil.
Bir sorğunun servislərdən keçən trace-ini izlə və ən çox vaxt alan hissəni tap.
Təzyiq altında fərziyyə qur, ölç və kök səbəbi təsdiqlə.
DB pool dolmasını simulyasiya et; metrikalarla səbəbi tap və düzəlişdən sonra yenidən ölç.
Proqram təminatını ideyadan production-a və sonrakı dəstəyə qədər komanda ilə planlı şəkildə çatdır.
Kiçik backend funksiyası üçün user story və acceptance criteria yaz, işi backlog-a böl və bir həftəlik sprint planı ilə retrospective qeydi hazırla.
Komponent seçməzdən əvvəl tələbləri və iş yükünü hesabla.
10 milyon istifadəçi fərziyyəsi ilə bildiriş sayı, pik RPS və saxlama ehtiyacını hesabla.
Yük və nasazlıq artanda sistemin necə davranacağını planla.
Bir region əlçatmaz olduqda oxu və yazı əməliyyatlarının davranışını dizayn et.
Hər məlumat axını üçün doğruluq və əlçatanlıq gözləntisini müəyyənləşdir.
Balans və tövsiyə axınlarının consistency tələblərini ayrı yaz və seçimlərini əsaslandır.
Yüksək səviyyəli dizaynı aydın müqavilələrə və məsuliyyətlərə çevir.
Bildirişin created, queued, sent və failed vəziyyətlərini və icazəli keçidlərini modelləşdir.
Dəqiqlikdən kiçik güzəştin yaddaş və sürətə təsirini anla.
Bloom filter ilə lazımsız baza axtarışlarını azalt; false positive faizi və yaddaş istifadəsini ölç.
Autocomplete, chat və agent rejimlərini fərqləndir; tapşırığa uyğun kömək səviyyəsini seç.
Kiçik Java metodunu əvvəl özün, sonra AI köməyi ilə yaz. Eyni testlərlə doğruluğu, sərf olunan vaxtı və kod fərqini müqayisə et.
Yaxşı nəticə üçün aydın tapşırıq, düzgün repo konteksti və ölçülə bilən qəbul meyarları hazırla.
Filtrləmə endpoint-i üçün spesifikasiya yaz. Agentə uyğun model, controller və test nümunəsini ver; koddan əvvəl plan və açıq suallar istə.
Agentin işini kiçik və izlənilə bilən addımlara böl; qərar və dəyişikliklərə nəzarəti saxla.
Bir backend funksiyasını üç kiçik addıma böl. Hər addımın diff və test nəticəsini yoxlamadan növbəti addıma keçmə; yekunda PR təsviri hazırla.
AI-nin inandırıcı izahını sübut sayma: davranışı test, sənədlər və runtime nəticələri ilə yoxla.
AI-nin yaratdığı filtr koduna boş dəyər, sərhəd və başqa istifadəçinin məlumatı üçün testlər yaz. Tapılan səhvi düzəlt və bütün regression testlərini yenidən işə sal.
Agentə kontekst və alət verərkən giriş sərhədlərini, məxfi məlumatları və xarici təsirləri idarə et.
Test reposu üçün icazə cədvəli hazırla: oxumaq, fayl dəyişmək, komanda işlətmək və deploy. Etibarsız sənəddəki təlimatı tapşırıqdan ayır; real secret əvəzinə nümunə dəyərlərdən istifadə et.
Terminaldan idarə olunan şəxsi xərc izləmə tətbiqi qur.
Böyük mətn fayllarını paralel analiz edən alət hazırla.
Müxtəlif data strukturları və alqoritmləri real ssenaridə müqayisə edən Java tətbiqi qur.
Hesablar arasında atomik köçürmə edən kiçik backend qur.
İstifadəçi və layihələr üzrə tapşırıqların idarəetmə API-sini qur.
Rol və sahiblik qaydaları ilə qorunan abonəlik API-si hazırla.
Sifariş, ödəniş və bildiriş axınını hadisələrlə əlaqələndir.
Bir API-ni təkrarlana bilən deploy və müşahidə imkanları ilə hazırla.
Push, SMS və email üçün miqyaslanan bildiriş platforması dizayn et.
Əvvəlki backend layihənə AI dəstəyi ilə prioritet və filtr funksiyası əlavə et. Məqsəd AI servisi qurmaq deyil, işlək funksiyanı yoxlanıla bilən proseslə hazırlamaqdır.