Mülakatta değerlendirilen dört şey
| Ölçüt | Görüşmecinin aradığı |
|---|---|
| Doğruluk | Sorgunun doğru sonucu vermesi; sınır durumlarını (NULL, eşitlik, boş grup) düşünmüş olmak |
| Yaklaşım | Problemi adımlara bölmek, taneciği doğru seçmek |
| İletişim | Varsayımları söylemek, netleştirme soruları sormak, yaptığını anlatmak |
| Okunabilirlik | CTE ve anlamlı adlarla okunur kod; gereksiz karmaşıklıktan kaçınmak |
Beş adım
- Tekrar et: Soruyu kendi cümlelerinle tekrar et. “Her departmanın en yüksek maaşlı çalışanını, eşitlik varsa hepsini istiyorsunuz, doğru mu?”
- Netleştir: Tanımları sor. İptal edilen siparişler dahil mi? “Ay” takvim ayı mı, son 30 gün mü? Aynı değerde iki satır varsa ne olsun?
- Örnek kur: Üç–dört satırlık küçük bir örnek üzerinde beklenen çıktıyı söyle. Bu, yanlış anlamayı kod yazmadan yakalar.
- Adım adım yaz: Önce iskelet (CTE adları), sonra her adım. Her adımda “bu adımın çıktısında bir satır şudur” de.
- Test et ve iyileştir: Sınır durumlarını sesli kontrol et, sonra performans ve alternatif çözümden bahset.
Sık hatalar
- WHERE içinde pencere fonksiyonu ya da takma ad kullanmak.
- JOIN sonrası satır çoğalmasını fark etmeden SUM veya COUNT almak.
- Eşitlik durumunu düşünmeden ROW_NUMBER kullanmak (ya da tersine, tek satır istenirken RANK kullanmak).
- Oranlarda tam sayı bölmesi:
5 / 10 = 0.100.0 *ile başla. - LEFT JOIN'in sağ tablosuna WHERE ile koşul yazıp onu INNER JOIN'e çevirmek.
Bu modülün yapısıSonraki derslerin her biri bir soru kalıbını işler: soru, netleştirme soruları, yaklaşım, iki çözüm ve karşılaştırması, sınır durumları ve takip soruları. Alıştırmalar aynı kalıbı üç farklı veri setinde uygular. Kendini denemek için SQL Arena'ndaki süreli Mülakat simülasyonu'nu kullan.