💼 Mülakat Soruları — 50 Soru (Basic/Intermediate/Advanced)

Mülakat Soruları — 50 Soru: Selenium mülakat soruları, Java Core sorularından farklı bir zihinsel modeli test eder: "API'yi ezberledin mi?" değil, "gerçek bir otomasyon projesind

Selenium mülakat soruları, Java Core sorularından farklı bir zihinsel modeli test eder: "API'yi ezberledin mi?" değil, "gerçek bir otomasyon projesinde sorun çözebiliyor musun?" Tıpkı Java'da "Collections nedir?" yerine "HashMap ile ConcurrentHashMap arasındaki farkı production threading senaryosunda anlat" diye sorulması gibi — doğru cevap belleği değil, kök-neden analizi yapabilme kapasitesini ölçer. Peki Selenium öğrendikten sonra bu soruları çalışmak neden hâlâ gerekiyor? Çünkü mülakatta karşılaştığın senaryo ("CI'da aralıklı başarısız olan testler var, nasıl stabilize edersin?") kendi projende hiç görmediğin bir durumu tarif edebilir; bu 50 soru her senaryo kategorisini önceden yaşatır, mülakatta "buna benzeri bir şeyle karşılaştım" hissini verir. Java bilgini avantaja dönüştür: "Java'daki Future timeout mekanizması gibi ExplicitWait..." şeklinde çapraz bağ kurabilmek, aynı soruyu Selenium-only bilen birine göre çok daha güçlü bir cevap üretir ve mülakatçıda derin teknik anlayış izlenimi bırakır.

🎬 Selenium Senaryo Sorusuna Güçlü Cevap Anatomisi

"Sleep ekle" refleksi

Kanıt: hangi katman?

Mülakatçı soruyor: "CI'da aralıklı başarısız olan (flaky) testleriniz var — nasıl stabilize edersiniz?" Bu filmde aynı soruya iki cevabın farkını izleyeceksin.

Zayıf refleks: "Thread.sleep ekleriz, biraz daha bekletiriz." Bu, mülakatçının en sık duyduğu ve en az etkilenen cevaptır — kök nedeni hiç sormaz.

Güçlü cevabın 1. katmanı — KANIT: "Önce hangi KATEGORİDE flaky olduğuna bakarım: NoSuchElement mi, StaleElement mi, timing mi, yoksa test veri kirliliği mi?"

2. katman — koşul + GEREKÇE: "Thread.sleep yerine ExpectedConditions ile ilgili koşulu tanımlarım — çünkü sabit bekleme hem yavaş hem güvenilmezdir, koşul ise HER ortamda doğru davranır."

3. katman — KÖK neden: "Tek bir test değil, TÜM suite'i tararım — aynı anti-pattern (örn. element önceden yakalayıp saklama) başka testlerde de tekrar ediyor mu?"

4. katman — Java köprüsü: "Bu, Java'da CompletableFuture.get(timeout) ile bir Future'ı erken okumak gibidir — koşulu tanımlamak, veri gelene kadar akıllıca beklemektir."

Final — formül: kanıt (kategori) → koşul + gerekçe → kalıcı kök çözüm (suite geneli tarama) → Java analojisi. Sıralı düşünen aday, komut ezberleyeni her zaman geçer.

Adım Adım: Selenium Senaryo Cevabı Kurma

Cevaba netleştirerek başla: hangi exception, ne sıklıkla, tek testte mi çoklu testte mi? Kategori sormak ilk puandır.

Kanıt komutlarını sırala