Yazılım Stajı ve Jr. Mülakat Soruları: Nasıl Hazırlanılır?
Güncelleme: · 9 dk okuma
Yazılım stajı ve yeni mezun (junior) mülakatları çoğunlukla temel bilgi, bir iki proje ve iletişim üzerine kuruludur. Beklentiyi bilmek heyecanı azaltır. Bu rehberde mülakat aşamalarını, sık sorulan sorulara cevap ipuçlarını ve kısa bir hazırlık planını bulacaksınız.
Mülakat aşamaları
- İK veya tanışma görüşmesi: Motivasyonunuz, müsaitliğiniz ve beklentileriniz konuşulur.
- Teknik görüşme: Temel konular, projeleriniz ve problem çözme yaklaşımınız sorulur.
- Canlı kodlama veya ev ödevi: Küçük bir problemi çözmeniz ya da mini bir proje yapmanız istenebilir.
- Ekip görüşmesi: Ekip uyumu, iletişim ve öğrenme isteği değerlendirilir.
Tanışma sorularına hazırlık
- Kendinizden bahseder misiniz? İki dakikayı geçmeyen bir anlatım hazırlayın: eğitim, öne çıkan projeler, ilgi alanı ve neden bu pozisyon.
- Neden bizim şirket? Şirketin ürününü ve teknolojilerini önceden inceleyin.
- En çok gurur duyduğunuz proje hangisi? Rolünüzü, karşılaştığınız zorluğu ve çözümü anlatın.
- Bir hatadan ne öğrendiniz? Dürüst, öğrenme odaklı bir örnek seçin.
Sık sorulan teknik sorular ve cevap ipuçları
Aşağıdaki cevaplar kısa birer özet. Mülakatta kendi cümlelerinizle, bir örnekle anlatmaya çalışın.
Veri yapıları ve algoritmalar
- Dizi ile bağlı liste arasındaki fark nedir? Dizide elemanlara indeksle O(1) erişilir, ortaya ekleme/silme maliyetlidir; bağlı listede ekleme/silme (düğüm biliniyorsa) ucuzdur ama indeksle erişim O(n)'dir.
- Hash tablosu nasıl çalışır, çakışma nasıl çözülür? Anahtar bir hash fonksiyonuyla dizi indeksine dönüştürülür. Çakışmalar zincirleme (aynı kovada liste) veya açık adresleme ile çözülür; ortalama erişim süresi O(1)'dir.
- Sıralı bir dizide arama için en hızlı yöntem nedir? İkili arama (binary search); her adımda aralığı yarıya indirir, karmaşıklığı O(log n)'dir.
- Stack ve queue farkı nedir? Stack son giren ilk çıkar (LIFO), queue ilk giren ilk çıkar (FIFO) çalışır. Örnekler: fonksiyon çağrı yığını ve iş kuyruğu.
Nesne yönelimli programlama
- OOP'nin dört temel ilkesi nedir? Kapsülleme, kalıtım, çok biçimlilik ve soyutlama. Her birine bir kısa örnek vermeye hazır olun.
- Kalıtım ile kompozisyon farkı nedir, hangisini tercih edersiniz? Kalıtım ‘-dir’ ilişkisi, kompozisyon ‘-sahiptir’ ilişkisi kurar. Esnek olduğu için genellikle kompozisyon tercih edilir.
Veri tabanı
- INNER JOIN ile LEFT JOIN farkı nedir? INNER JOIN yalnızca iki tabloda eşleşen satırları getirir; LEFT JOIN soldaki tablonun tüm satırlarını, eşleşmeyenler için sağ tarafı NULL olarak getirir.
- Index nedir, ne zaman kullanılır? Sorguları hızlandıran yardımcı veri yapısıdır; sık filtrelenen/sıralanan kolonlarda faydalıdır ancak yazma maliyetini artırır.
- ACID nedir? Atomiklik, tutarlılık, yalıtım ve dayanıklılık; işlemlerin güvenilirliğini tanımlayan özelliklerdir.
Web, sistem ve araçlar
- REST nedir? Kaynak odaklı, HTTP metotlarını (GET, POST, PUT, DELETE) kullanan ve durumsuz (stateless) bir API tasarım yaklaşımıdır.
- Process ile thread farkı nedir? Process kendi bellek alanına sahip bir programdır; thread aynı process içinde belleği paylaşan daha hafif iş parçacığıdır. Paylaşım, yarış durumu (race condition) riskini doğurur.
- Git'te merge ile rebase farkı nedir? Merge iki dalın geçmişini birleştirme commit'iyle bir araya getirir; rebase commit'leri hedef dalın üstüne yeniden uygular ve doğrusal bir geçmiş oluşturur. Paylaşılan dallarda rebase dikkatle kullanılmalıdır.
- Tarayıcıya bir URL yazıldığında ne olur? DNS çözümlemesi, TCP/TLS bağlantısı, HTTP isteği, sunucu yanıtı ve sayfanın render edilmesi adımlarını sırayla anlatın.
Davranışsal sorular ve STAR yöntemi
‘Zor bir durumla nasıl başa çıktınız?’ gibi sorulara STAR yöntemiyle yanıt verin: Durum (Situation), Görev (Task), Eylem (Action), Sonuç (Result). Önce bağlamı kısaca anlatın, sonra sizin ne yaptığınıza ve sonuca odaklanın. Ekip projelerinden ve kulüp çalışmalarından örnekler seçebilirsiniz.
Canlı kodlama için ipuçları
- Kod yazmadan önce soruyu kendi cümlenizle tekrar edin ve eksik kalan noktaları sorun.
- Düşüncelerinizi sesli anlatın; mülakatçı çözümden çok yaklaşımınıza bakar.
- Önce basit ve çalışan bir çözüm kurun, sonra geliştirin.
- Birkaç test örneği ve sınır durumu (boş girdi, tek eleman) üzerinden kodunuzu doğrulayın.
- Çözümün zaman ve bellek karmaşıklığını belirtin.
- Takıldığınızda dürüstçe söyleyin ve ipucu isteyin; sessiz kalmak daha kötü etki yapar.
Mülakatçıya sorulabilecek sorular
- Stajyer olarak ilk haftalarda nasıl bir süreç izleniyor, mentor var mı?
- Ekip hangi teknolojilerle ve nasıl bir geliştirme süreciyle çalışıyor?
- Bu pozisyonda başarının ilk üç ayda nasıl ölçüldüğünü anlatır mısınız?
İki haftalık hazırlık planı
- 1–3. gün: CV'nizi ve projelerinizi gözden geçirin; her projeyi 2 dakikada anlatabilecek hale gelin.
- 4–7. gün: Veri yapıları ve temel algoritmaları tekrar edin; her gün 2–3 kolay/orta seviye problem çözün.
- 8–10. gün: Veri tabanı, web ve Git konularını tekrar edin; başvurduğunuz şirketin teknolojilerini inceleyin.
- 11–13. gün: Bir arkadaşınızla sesli kodlama ve davranışsal soru pratiği yapın.
- Mülakat günü: Bağlantınızı ve ortamınızı önceden test edin, sorularınızı hazır bulundurun.
Staj mülakatları için LeetCode çalışmak şart mı?+
Şirkete göre değişir. Staj ve junior mülakatlarında çoğu zaman temel veri yapıları, mantık ve proje bilgisi yeterlidir; yine de kolay/orta seviye birkaç problem çözmek rahatlatır.
Bilmediğim bir soru gelirse ne yapmalıyım?+
Dürüstçe bilmediğinizi söyleyin, ardından mantık yürüterek veya ilişkili bildiğiniz bir konudan yola çıkarak nasıl düşündüğünüzü anlatın. Düşünce süreciniz çoğu zaman doğru cevap kadar değerlidir.
Projem yoksa ne yapmalıyım?+
Küçük bir proje geliştirip GitHub'a yükleyin: bir to-do uygulaması bile doğru anlatıldığında işe yarar. CV rehberinde projelerin nasıl yazılacağını bulabilirsiniz.