Ç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:
- Algoritma: NeetCode 150 listesi desen desen, kitabın problem bölümündeki desen sınıflandırmasıyla.
- Sistem tasarımı: Her 2-3 günde bir case (haftada 2-3), 45 dakikalık mülakat formatında.
- Pratik ve LLD: Bu sitedeki altı çok aşamalı görev ve nesne tasarımı soruları, süre tutarak.
- 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çüm | Nasıl | Hedef (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örev | in-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 kaydet | Gereksinim, kapasite, API, veri modeli, derinlemesine iki konu 45 dakikada |
| Davranışsal | "Tell me about yourself" ve bir çatışma hikâyesini İngilizce kaydet | 8-10 hikâyelik banka, her biri 2-3 dakika |
| İngilizce | Kayı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.
| Hafta | Algoritma (NeetCode 150 grupları) | Sistem tasarımı (2-3 case) | Pratik / LLD | Davranışsal ve İngilizce |
|---|---|---|---|---|
| 1 | Arrays & 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 |
| 2 | Sliding Window, Stack | Rate limiter (Bölüm 19); key-value store | in-memory-veritabani tamamı, 90 dk süreli | Hikâye × kategori matrisi; 2 hikâye kartı |
| 3 | Binary Search, Linked List | Bildirim servisi; news feed | banka-hesap-sistemi 90 dk süreli; Bölüm 22'yi tekrar oku | 2 hikâye kartı (çatışma, başarısızlık) |
| 4 | Trees | Chat/mesajlaşma; distributed cache | rate-limiter-sinifi; ilk mock (kodlama) | 2 hikâye kartı (sahiplik, incident) |
| 5 | Tries, Heap / Priority Queue | Arama otomatik tamamlama; trending/top-K | log-analizcisi | Amazon 16 LP eşlemesi; boş sütunlar için hikâye |
| 6 | Backtracking, Graphs (BFS/DFS) | Ödeme sistemi ve ledger (Bölüm 22, 13); idempotency | devam-ettirilebilir-iterator; mock (davranışsal, İngilizce) | 2 hikâye kartı (belirsizlik, sıkı deadline) |
| 7 | Graphs devam (topolojik sıralama, Union-Find) | Ride-hailing ve konum (Uber tarzı); geo-indeks | park-yeri-ood; bir LLD daha (asansör ya da kütüphane) | 2 hikâye kartı (mentorluk, yöneticiyle anlaşmazlık) |
| 8 | Advanced Graphs (Dijkstra, MST) | Bilet satış / flash sale (Bölüm 20); dağıtık kilit | LLD: LRU cache + bir oyun (satranç ya da tic-tac-toe); mock (sistem tasarımı) | 2 hikâye kartı (veriyle karar, yetkisiz etki) |
| 9 | 1-D Dynamic Programming | Dosya depolama / video yükleme; CDN | Altı pratik görevden en zayıf ikisini yeniden, süre tutarak | Tüm hikâyelerin 60 sn ve 4 dk versiyonları |
| 10 | 2-D Dynamic Programming, Greedy | Web crawler; metrik/izleme sistemi | Şirket raporlarındaki bir pratik görev; tam döngü mock (4 tur) | "Neden bu şirket?" cevapları, şirket başına |
| 11 | Intervals, Math & Geometry, Bit Manipulation | Hedef şirketlerin sık sorulan 2-3 case'i, zayıf olanlar | Hedef şirket formatında 1 görev (ör. Spring refactor kata) | Takip sorusu provası: her hikâyeye 3 takip sorusu |
| 12 | Yeni problem yok: yanlış yapılanları yeniden çöz, şirket listeleri | Tekrar: kendi notlarından 4 case'i 30 dakikada anlat | 1 pratik görev, sadece ısınma | 2 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.
| Şirket | Resmi kaynakta | Aday raporlarına göre ağırlık | Planda ne değişir |
|---|---|---|---|
| Meta | Telefon/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 kullan | Hashing, ağaç, stack, iki işaretçi, aralıklar; problem başına ~15-17 dakika; çalıştırılmayan editörde kod | Her gün 2 medium'u 35 dakikada çöz; derleyicisiz (düz metin editörde) pratik; davranışsalda çatışma ve geri bildirim |
| Amazon | 16 Leadership Principle; STAR; 4-6 mülakat, 45-60 dk; Bar Raiser | Graf, 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 |
| Yapılandırılmış mülakat, ortak rubrik (re:Work) | Graf, DP, daha önce görmediğin "yeni" problem; karmaşıklık analizi ve kenar durumlar | NeetCode'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 | |
| Microsoft | STAR(R); growth mindset; netleştirme soruları sor, varsayımları söyle | Klasik 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ığı |
| Bu plan için doğrulanmış resmi bir süreç kaynağı yok | Medium algoritma ve sistem tasarımı | Ortak çekirdek yeterli; sistem tasarımında feed ve bildirim case'lerine ağırlık | |
| Uber | Bu plan için doğrulanmış resmi bir süreç kaynağı yok | Graf (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 |
| OpenAI | Final 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 gibi | Altı pratik görevi en az iki kez, süreli; her seviyede test yazma refleksi; Python'u yedek dil olarak tazele |
| Anthropic | Canlı 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 basitlik | Tü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,PriorityQueuecomparator'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 dk | Tekrar | Dün ve 3/7 gün önce yanlış yaptığın problemlerin notları, sitedeki tekrar kartları |
| 60 dk | 2 algoritma problemi | Sü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 dk | Sistem 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şma | Bir 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.
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.
| Hafta | Mock | Format |
|---|---|---|
| 4 | Kodlama | 45 dk: 2 medium, ortak editör, İngilizce |
| 6 | Davranışsal | 45 dk: 4-5 soru, takip soruları, İngilizce |
| 8 | Sistem tasarımı | 45 dk: bir case, çizim aracı |
| 10 | Tam döngü | Aynı gün 4 tur: kodlama, kodlama/pratik görev, sistem tasarımı, davranışsal |
| 11-12 | Hedef ş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
- NeetCode: NeetCode 150 listesi ve desenlere göre gruplanmış problemler.
- CodeSignal: Industry Coding Assessment kuralları: 90 dakikalık, dört seviyeli pratik görev formatı.
- Meta: Preparing for your software engineering interview: Ön elemenin 45 dakikalık yapısı, iki kodlama problemi ve dil seçimi.
- Amazon Leadership Principles: 16 ilke.
- Amazon interview guide (About Amazon): Döngünün yapısı ve STAR.
- Microsoft: Interview tips: STAR(R) ve netleştirme soruları.
- OpenAI Interview Guide: Süreç, değerlendirme ölçütleri ve AI kullanımı.
- Anthropic: Guidance on candidates' AI usage: Canlı mülakat ve take-home'da AI kuralları.
- Google re:Work: A guide to structured interviewing: Yapılandırılmış mülakat ve rubrik.