Senior Mülakat Soruları
Mülakata hazırlık · İlan 1 İlan 2 İlan 3
Senior mülakatında sana ne sorabilirler
"Senior" unvanı mülakatta genelde 4 farklı eksende test edilir. Her birinin ne aradığını bilmek, cevabını doğru çerçeveye oturtmanı sağlar.
1. Teknik derinlik
"Neden X'i değil Y'yi seçtin" tipi sorular. Aranan: trade-off farkındalığı, tek doğru cevap yerine bağlama göre karar verebilme.
2. Sistem tasarımı
"Ölçekli bir şeyi nasıl tasarlarsın" tipi açık uçlu sorular. Aranan: belirsizlikle çalışabilme, varsayımları yüksek sesle söyleyebilme.
3. Liderlik & mentorluk
"Bir junior'a nasıl yaklaşırsın" tipi sorular. Aranan: bilgiyi dikte etmek değil, başkasının büyümesini sağlamak.
4. Davranışsal (STAR)
"Bir zaman anlat ki..." tipi sorular. Aranan: gerçek, spesifik bir örnek — genel geçer cümleler değil. Bkz. Kendi hikayelerin.
💡
Cevap verirken kullanacağın iskeletBağlam (1 cümle) → Seçenekler nelerdi (kısaca) → Neden bunu seçtin (asıl mesele burası) → Sonuç/öğrenim. Bu sırayı takip etmek, cevabını dağınık anlatmaktan kurtarır ve "bu insan gerçekten düşünmüş" izlenimi bırakır.
Teknik derinlik — soru bankası
'Neden Redux Toolkit yerine Context API kullanmadın?' gibi bir soruya nasıl yaklaşırsın?
Doğru cevap tek bir araç savunmak değil, ikisinin farklı problemi çözdüğünü göstermek: Context API, sık güncellenen state'te (ör. her tuş vuruşunda) gereksiz re-render'a yol açabilir çünkü her tüketici component re-render olur; Redux'ta
useSelector sadece ilgili slice değiştiğinde re-render tetikler. Context daha çok "nadiren değişen" tema/locale gibi veriler için uygundur.'Bu component'i neden bu kadar küçük parçaladın, over-engineering değil mi?' sorusuna ne dersin?
Küçük parçalamanın maliyeti (daha fazla dosya, prop drilling riski) ile faydasını (test edilebilirlik, yeniden kullanım, tek sorumluluk) karşılaştırdığını göster: "Bu component 3 farklı yerde kullanılıyor ve testleri ayrı ayrı yazılabiliyor — bölmenin maliyeti burada faydasından düşük." Kural yerine gerekçe sun.
Sistem tasarımı — soru bankası
'Milyonlarca kullanıcının aynı anda göreceği bir kampanya sayfasını nasıl tasarlardın?' (frontend odaklı)
Anahtar kelimeler: SSG/ISR (statik üretilip CDN'den servis edilsin, her istekte sunucuya gitmesin), CDN cache, kritik olmayan JS'in lazy load edilmesi, Core Web Vitals hedefleri (bkz. Performans sayfası), ve trafik artışında rate limit/queue (bekleme odası) gibi bir mekanizma.
'Bir component kütüphanesini 5 farklı ekip kullanacak, breaking change'leri nasıl yönetirsin?' (İlan 1 — NX monorepo bağlamı)
Semantic versioning + değişiklik günlüğü (changelog), eski API'yi bir süre
deprecated uyarısıyla yaşatıp aniden kaldırmamak, ve NX'in affected komutuyla kütüphaneyi kullanan tüm projelerin otomatik test edilmesini CI'a bağlamak — böylece breaking change fark edilmeden merge olamaz.Liderlik & mentorluk — soru bankası
'Bir junior sürekli aynı hatayı yapıyor, ne yaparsın?'
Önce gözlemle: hata bilgi eksikliğinden mi, yoksa süreç/tooling eksikliğinden mi (ör. linter kuralı olsa otomatik yakalanır)? Bilgi eksikliğiyse 1:1 pair programming; süreç eksikliğiyse ekip için kalıcı bir önlem (lint kuralı, PR template, code review checklist) kurarım — tek kişiyi değil, sistemi düzeltmeye çalışırım.
'Ekipte fikir ayrılığı var, sen haklı olduğunu düşünüyorsun ama çoğunluk katılmıyor. Ne yaparsın?'
Önce pozisyonumu netleştirip somut bir maliyet/risk göstererek savunurum (varsayım değil, veri/örnek). Hâlâ konsensüs yoksa ve karar geri dönüşü kolay bir konuysa, ekibin kararına uyup gözlemlerim; geri dönüşü zor/riskli bir konuysa (ör. güvenlik, mimari), karar vericiyi (tech lead/EM) devreye sokarım — "ego" ile değil, riskin büyüklüğüyle orantılı ısrar ederim.
Hızlı tur — kendine sesli sor
Bunları cevapsız bıraktım — bilerek. Her birini yüksek sesle, 60 saniyede cevaplamayı dene.
- İlan 1 Next.js'te
use clientile server component arasındaki farkı, ne zaman hangisini seçeceğini anlat. - İlan 1 Bir sayfanın Lighthouse skorunu 60'tan 90'a nasıl çıkarırsın — adım adım.
- İlan 2 SharePoint'te bir listeye 10.000'den fazla öğe eklenince ne olur (list view threshold), nasıl önlem alırsın?
- İlan 2 REST ile SOAP arasındaki farkı, bir SharePoint bağlamında örnekle.
- İlan 3 React Native'de bir listenin (FlatList) performansını nasıl optimize edersin (1000+ öğe)?
- İlan 3 Uygulaman offline'ken kullanıcı bir işlem yaparsa (ör. sepete ürün ekleme) nasıl bir strateji izlersin?
- Tümü 5 yıllık deneyiminle şimdi geriye dönüp değiştireceğin bir mimari karar var mı? Neden?