Rehber

Çalışma planı: 12 haftada algoritma, sistem tasarımı, pratik görevler ve davranışsal hazırlık

Tam zamanlı çalışan bir backend geliştirici için hafta hafta 12 haftalık (sıkıştırılmış 10 haftalık) hazırlık planı: NeetCode 150 desenleri, 2-3 günde bir sistem tasarımı case'i, çok aşamalı pratik görevler, STAR hikâyeleri ve İngilizce; şirkete göre öncelik tablosu, günlük rutin ve mock mülakat önerileri.

Bu rehberde

Bu plan tam zamanlı çalışan, 5 yıllık bir Java/Spring backend geliştirici için yazıldı: haftada yaklaşık 15-18 saat (hafta içi günde 2 saat, hafta sonu iki gün 3-4 saat). Hedef, aynı dönemde birbirinden farklı formatlara hazırlanmak: Meta ve Google'ın klasik algoritma turları, Amazon'un Leadership Principle ağırlıklı davranışsal turu ve LLD sorusu, OpenAI ve Anthropic'in çok aşamalı pratik görevleri, Spring tabanlı live coding görevleri ve hepsinin sistem tasarımı turu.

Plan dört paralel hat üzerine kurulu ve her hafta dördüne de dokunur:

  1. Algoritma: NeetCode 150 listesi desen desen, kitabın problem bölümündeki desen sınıflandırmasıyla.
  2. Sistem tasarımı: Her 2-3 günde bir case (haftada 2-3), 45 dakikalık mülakat formatında.
  3. Pratik ve LLD: Bu sitedeki altı çok aşamalı görev ve nesne tasarımı soruları, süre tutarak.
  4. Davranışsal ve İngilizce: Haftada 1-2 STAR hikâyesi ve her gün kısa İngilizce konuşma pratiği.

Başlamadan: başlangıç ölçümü

İlk hafta sonu (ya da plana başlamadan önceki gün) bir saatlik dürüst bir ölçüm yap; plandaki ağırlıkları buna göre kaydıracaksın.

ÖlçümNasılHedef (12. hafta)
Algoritma hızıDaha önce görmediğin iki orta (medium) problem, toplam 45 dakika, IDE tamamlaması kapalıİki medium 35-40 dakikada, testleriyle
Pratik görevin-memory-veritabani görevini 90 dakika süreyle çöz; kaç seviye bitti?90 dakikada 4 seviye, testleriyle
Sistem tasarımıBir case'i (ör. URL kısaltıcı) 45 dakikada kendi kendine sesli anlat ve kaydetGereksinim, kapasite, API, veri modeli, derinlemesine iki konu 45 dakikada
Davranışsal"Tell me about yourself" ve bir çatışma hikâyesini İngilizce kaydet8-10 hikâyelik banka, her biri 2-3 dakika
İngilizceKayıtta dolgu kelime sayısı ve uzun duraksama sayısıAkıcı, kısa cümlelerle, teknik terimleri doğru telaffuzla

12 haftalık plan

NeetCode 150, neetcode.io'daki 150 problemlik ve desenlere göre gruplanmış listedir; LeetCode'un en çok sorulan problemlerinin dengeli bir alt kümesi olduğu için hazırlıkta yaygın bir omurgadır. Haftada 12-15 problem çözersen 10-11 haftada liste biter; kalan zaman tekrar ve şirket listelerine kalır. Sistem tasarımı case'leri ve pratik görevler bu sitenin içerikleriyle ve kitabın bölümleriyle eşleştirildi.

HaftaAlgoritma (NeetCode 150 grupları)Sistem tasarımı (2-3 case)Pratik / LLDDavranışsal ve İngilizce
1Arrays & Hashing, Two PointersÇerçeve ve kapasite tahmini; URL kısaltıcıin-memory-veritabani Seviye 1-2 (süresiz, öğrenerek)Ham madde listesi: son 4 yılın projeleri; "Tell me about yourself" ilk kayıt
2Sliding Window, StackRate limiter (Bölüm 19); key-value storein-memory-veritabani tamamı, 90 dk süreliHikâye × kategori matrisi; 2 hikâye kartı
3Binary Search, Linked ListBildirim servisi; news feedbanka-hesap-sistemi 90 dk süreli; Bölüm 22'yi tekrar oku2 hikâye kartı (çatışma, başarısızlık)
4TreesChat/mesajlaşma; distributed cacherate-limiter-sinifi; ilk mock (kodlama)2 hikâye kartı (sahiplik, incident)
5Tries, Heap / Priority QueueArama otomatik tamamlama; trending/top-Klog-analizcisiAmazon 16 LP eşlemesi; boş sütunlar için hikâye
6Backtracking, Graphs (BFS/DFS)Ödeme sistemi ve ledger (Bölüm 22, 13); idempotencydevam-ettirilebilir-iterator; mock (davranışsal, İngilizce)2 hikâye kartı (belirsizlik, sıkı deadline)
7Graphs devam (topolojik sıralama, Union-Find)Ride-hailing ve konum (Uber tarzı); geo-indekspark-yeri-ood; bir LLD daha (asansör ya da kütüphane)2 hikâye kartı (mentorluk, yöneticiyle anlaşmazlık)
8Advanced Graphs (Dijkstra, MST)Bilet satış / flash sale (Bölüm 20); dağıtık kilitLLD: LRU cache + bir oyun (satranç ya da tic-tac-toe); mock (sistem tasarımı)2 hikâye kartı (veriyle karar, yetkisiz etki)
91-D Dynamic ProgrammingDosya depolama / video yükleme; CDNAltı pratik görevden en zayıf ikisini yeniden, süre tutarakTüm hikâyelerin 60 sn ve 4 dk versiyonları
102-D Dynamic Programming, GreedyWeb crawler; metrik/izleme sistemiŞirket raporlarındaki bir pratik görev; tam döngü mock (4 tur)"Neden bu şirket?" cevapları, şirket başına
11Intervals, Math & Geometry, Bit ManipulationHedef şirketlerin sık sorulan 2-3 case'i, zayıf olanlarHedef şirket formatında 1 görev (ör. Spring refactor kata)Takip sorusu provası: her hikâyeye 3 takip sorusu
12Yeni problem yok: yanlış yapılanları yeniden çöz, şirket listeleriTekrar: kendi notlarından 4 case'i 30 dakikada anlat1 pratik görev, sadece ısınma2 mock; son 2 gün hafif tekrar ve dinlenme

10 haftalık sıkıştırılmış sürüm: 1-2. haftaları birleştir (Arrays & Hashing, Two Pointers, Sliding Window; URL kısaltıcı ve rate limiter), 9-10. haftaları birleştir (DP 1-D ve 2-D tek haftada, Greedy'yi 11. haftaya kaydır). Bedeli: DP ve Greedy'de tekrar zamanı azalır; Meta ve Amazon hedefliyorsan bu kabul edilebilir, Google hedefliyorsan DP'yi kısaltma.

Bir hafta kaçırırsan planı kaydırma, kısalt: o haftanın sistem tasarımı case'lerini bir sonraki haftanın listesine ekleme, en önemli olanı seç ve diğerini 12. haftanın tekrar listesine yaz. Planı kaydırmak son haftalardaki mock ve dinlenme zamanını yer.

Şirkete göre öncelik tablosu

Aşağıdaki tablo resmi kaynaklarla aday raporlarını birleştiriyor; "aday raporları" sütunundaki bilgiler anekdot niteliğindedir ve ekipten ekibe değişir. Birden çok şirkete hazırlanıyorsan önce ortak çekirdeği (hashing, iki işaretçi, ağaç, graf, heap) bitir, sonra hedef şirketin satırındaki ağırlıklara göre son 3-4 haftayı şekillendir.

ŞirketResmi kaynaktaAday raporlarına göre ağırlıkPlanda ne değişir
MetaTelefon/teknik ön elemede 45 dakika: 5 dk tanışma, 35 dk kodlama, iki kodlama problemi; full loop'ta kodlama, tasarım ve davranışsal turlar; en iyi bildiğin dili kullanHashing, ağaç, stack, iki işaretçi, aralıklar; problem başına ~15-17 dakika; çalıştırılmayan editörde kodHer gün 2 medium'u 35 dakikada çöz; derleyicisiz (düz metin editörde) pratik; davranışsalda çatışma ve geri bildirim
Amazon16 Leadership Principle; STAR; 4-6 mülakat, 45-60 dk; Bar RaiserGraf, heap, LRU cache, tasarım ve OOD; her turda LP sorularıLP hikâyeleri ilk 6 haftada bitsin; LLD (park yeri, LRU) haftalık; her kodlama mock'unun ilk 15 dakikası LP sorusu
GoogleYapılandırılmış mülakat, ortak rubrik (re:Work)Graf, DP, daha önce görmediğin "yeni" problem; karmaşıklık analizi ve kenar durumlarNeetCode'un DP ve Advanced Graphs gruplarını tekrar et; tanıdık olmayan problemleri (LeetCode'da çözülme oranı düşük medium/hard) haftada 3 tane
MicrosoftSTAR(R); growth mindset; netleştirme soruları sor, varsayımları söyleKlasik medium algoritma + sistem tasarımı; davranışsal sorular turlara gömülüHer hikâyeye "Reflection" kısmı; netleştirme sorularını sesli sorma alışkanlığı
LinkedInBu plan için doğrulanmış resmi bir süreç kaynağı yokMedium algoritma ve sistem tasarımıOrtak çekirdek yeterli; sistem tasarımında feed ve bildirim case'lerine ağırlık
UberBu plan için doğrulanmış resmi bir süreç kaynağı yokGraf (en kısa yol, BFS), LLD (park yeri, rate limiter), konum tabanlı sistem tasarımı7-8. haftaları güçlendir; LLD'ye haftada bir görev
OpenAIFinal turları 4-6 saat, 4-6 mülakatçı; iyi tasarlanmış çözüm, yüksek kaliteli kod, optimal performans, iyi test kapsamı; AI kullanımı formata göre değişir, hazırlık materyali söylerÇok aşamalı pratik görevler (CodeSignal, 90 dk, 4 seviye); resumable iterator, in-memory DB gibiAltı pratik görevi en az iki kez, süreli; her seviyede test yazma refleksi; Python'u yedek dil olarak tazele
AnthropicCanlı mülakatlarda aksi söylenmedikçe AI yardımı yok; take-home'da da aksi belirtilmedikçe AI yokÇok aşamalı pratik görevler; kod kalitesi ve basitlikTüm pratiği AI tamamlaması kapalı yap; "do the simple thing that works" ilkesi; Python yedek

Python yedek mi?

Java ile mülakata girmek her şirkette kabul edilir; Meta açıkça "en iyi bildiğin dili kullan" der, OpenAI'ın rehberi dil kısıtı yazmaz. Yine de pratik görevlerde (90 dakikada 4 seviye) Java'nın tören kodu zaman yiyebilir; bazı adaylar bu yüzden Python'a geçtiğini anlatıyor. Önerim:

  • Ana dil Java kalsın. Hız için hazırlık: record, var, Map.merge/computeIfAbsent, TreeMap.floorEntry/tailMap, PriorityQueue comparator'ları, List.of, switch pattern matching. Bu sitedeki pratik görevlerin çözümleri bu kalıpları kullanıyor.
  • Python'u yedek olarak tazele (OpenAI/Anthropic hedefliyorsan 9. haftadan itibaren haftada 1-2 saat): dict, collections.defaultdict/Counter/deque, heapq, bisect, sorted(key=...), dataclass. Mülakatta yarı bildiğin bir dile geçme; yedek, hazırlık aşamasında Java'nın seni gerçekten yavaşlattığını ölçersen devreye girer.
  • Dil seçimini önceden recruiter'a sor. Bazı pratik görevlerde dil önceden sabitlenir.

Günlük rutin

Hafta içi (2 saat):

SüreİşNot
10 dkTekrarDün ve 3/7 gün önce yanlış yaptığın problemlerin notları, sitedeki tekrar kartları
60 dk2 algoritma problemiSüre tut (medium için 25 dk); 25 dk'da çözemediysen ipucu, 35 dk'da çözüm. Çözümü okuduktan sonra kendin sıfırdan yaz
35 dkSistem tasarımı ya da kitap bölümüCase günü: 35 dk kendi tasarımını çiz ve yaz, ertesi gün çözümle karşılaştır. Diğer günler: ilgili kitap bölümü
15 dkİngilizce konuşmaBir hikâye ya da günün problemini İngilizce, sesli, kayıtlı anlat; dinle

Hafta sonu (iki gün, toplam 6-8 saat):

  • Bir pratik görev, 90 dakika süreli, gerçek mülakat gibi: IDE'de AI kapalı, testleri sen yaz, süre bitince dur. Sonra 30 dakika çözümle karşılaştır, rubric'e göre kendini puanla.
  • Bir sistem tasarımı case'i, 45 dakika, sesli ve kayıtlı (ya da bir arkadaşla).
  • 1-2 STAR hikâye kartı yazmak ve İngilizce provası.
  • Haftanın problem günlüğünü gözden geçirmek, zayıf deseni bir sonraki haftanın başına eklemek.

Problem günlüğü ve aralıklı tekrar

Çözdüğün her problem için bir satır: tarih, problem, desen, süre, sonuç (kendim/ipucuyla/çözüme baktım), tek cümlelik "anahtar fikir". "İpucuyla" ve "çözüme baktım" satırlarını 1, 3 ve 7 gün sonra sıfırdan yeniden çöz. Aynı problemi üçüncü kez 15 dakikanın altında çözebiliyorsan o desen oturmuştur.

text
2026-11-03 | Top K Frequent Elements | Heap / Top-K | 22 dk | ipucuyla | bucket sort ile O(n) da mümkün
2026-11-03 | Course Schedule        | Topolojik    | 35 dk | çözüme baktım | in-degree 0 olanlarla BFS (Kahn)

En sık hata, çözümü okuyup "anladım" deyip geçmek. Anlamak ile 25 dakikada, baskı altında, test ederek yazabilmek farklı becerilerdir. Çözüme baktığın her problemi en geç ertesi gün kendin yaz.

Mock mülakat önerisi

Tek başına çalışmak bilgiyi, mock ise baskı altında performansı geliştirir. Plan 4. haftadan itibaren iki haftada bir, son iki haftada haftada 2-3 mock öngörüyor.

HaftaMockFormat
4Kodlama45 dk: 2 medium, ortak editör, İngilizce
6Davranışsal45 dk: 4-5 soru, takip soruları, İngilizce
8Sistem tasarımı45 dk: bir case, çizim aracı
10Tam döngüAynı gün 4 tur: kodlama, kodlama/pratik görev, sistem tasarımı, davranışsal
11-12Hedef şirket formatında 3-4 mockÖr. Meta: 2 medium/35 dk; Amazon: LP + LLD; OpenAI/Anthropic: 90 dk pratik görev

Kiminle: Hedef şirkette çalışan ya da mülakat yapan bir tanıdık en iyisi; yoksa aynı süreçteki bir arkadaşla karşılıklı (sen de onun mülakatını yap: mülakatçı tarafında olmak, neyin sinyal olduğunu en hızlı öğreten şeydir). Ücretli platformlarda deneyimli mülakatçılarla da yapılabilir. Mülakatçı rolünü üstlenecek kişiye bu sitedeki "Mülakat yapmak" rehberindeki rubrik ve geri bildirim şablonunu ver ki geri bildirim "iyiydi" seviyesinde kalmasın.

Her mock'tan sonra: Kaydı izle; rubrikteki her boyut için bir cümle yaz; en büyük tek zayıflığı seç ve bir sonraki haftanın planına ekle (ör. "netleştirme sorusu sormadan kodlamaya başladım" → her problemin ilk 3 dakikası sadece soru).

İlerlemeyi ölçme

Her iki haftada bir başlangıç ölçümünü tekrarla. Gerçekçi ara hedefler:

  • 4. hafta: Easy problemler 10 dakikada; medium'ların yarısı 25 dakikada; bir pratik görevde 90 dakikada 3 seviye; 4 hikâye kartı.
  • 8. hafta: Medium'ların %70'i 25 dakikada; 90 dakikada 4 seviye (bazı testler eksik olabilir); 45 dakikada tutarlı bir sistem tasarımı; 8 hikâye kartı, 16 LP eşlemesi tamam.
  • 12. hafta: İki medium 35-40 dakikada; pratik görevler testleriyle; mock'larda tüm rubrik boyutlarında "Yes" ya da üstü.

Hedeflerin gerisindeysen önce daha az konuyu daha derin çalış: yeni desen eklemek yerine mevcut desenlerin problemlerini yeniden çöz. Mülakatta en çok fark yaratan şey yeni bir desen bilmek değil, bildiğin desenleri hızlı ve hatasız uygulamaktır.

Sık yapılan hatalar

  • Sadece algoritma çalışmak. Senior seviyede sistem tasarımı ve davranışsal turlar çoğu zaman seviyeyi belirler; plan dört hattın dördünü de her hafta yürütür.
  • Süre tutmamak. Süresiz çözülen problem mülakat performansını ölçmez.
  • IDE'nin AI tamamlamasıyla pratik yapmak. Anthropic canlı mülakatta aksi söylenmedikçe AI'a izin vermiyor; OpenAI'da formata göre değişiyor. Kapalı pratik yap.
  • İngilizceyi son haftaya bırakmak. Konuşma akıcılığı birikerek gelişir; günde 15 dakika, son hafta 5 saatten etkilidir.
  • Mock'tan kaçmak. Mock'ta kötü performans göstermek, gerçek mülakatta göstermekten çok daha ucuzdur.
  • Son hafta yeni konu. Son hafta tekrar, uyku ve özgüven haftasıdır.

Kaynaklar