💼 Mülakat Soruları

Mülakat Soruları: Mülakatta sorulan senaryo sorusu, uçuş simülatöründeki "motor arızası" testine benzer: pilot gerçek uçuşta hiç motor arızası yaşamamış olabilir, ama simülatör o

Mülakatta sorulan senaryo sorusu, uçuş simülatöründeki "motor arızası" testine benzer: pilot gerçek uçuşta hiç motor arızası yaşamamış olabilir, ama simülatör onu "Motor 2 şu an durdu, ne yapıyorsun?" diye köşeye sıkıştırır — çünkü mürettebatı işe alan kurum, pilotun checklist'i EZBERE bilip bilmediğini değil, gerçek arıza anında DOĞRU SIRAYLA karar verip veremeyeceğini ölçmek ister. İyi bir mülakat sorusunun düz "X nedir?" tanımından kaçınması da aynı mantıktan gelir. Peki mülakatçı neden "@Step annotation'ı nedir?" diye sormaz da "Step implementation not found hatası aldın, ekranda ne görürsün, ilk 30 saniyede ne yaparsın?" diye sorar? Çünkü tanım sorusuna doğru cevap vermek GOOGLE'da arama yapabilmekle eşdeğerdir — gerçek işte hiçbir değer üretmez; arızayı teşhis edip düzeltebilmek ise üretir. Java mülakatlarında da aynı evrim yaşanmıştır: "ArrayList nedir?" sorusu artık amatörce sayılır, onun yerine "ConcurrentModificationException aldın, sebebini ve düzeltmesini anlat" sorulur — ikisi de aynı bilgiyi test eder ama biri ezberi, diğeri anlayışı ölçer. QA bağlamındaki gerçek bedel şudur: bir mühendis @Step sözdizimini kusursuz ezbere bilip mülakatı geçebilir, ama gerçek bir "Step implementation not found" hatası karşısında panikleyip saatini boşa harcayabilir — işe alan yönetici tam da bu resume-gerçeklik farkını yakalamak için senaryo sorar, çünkü production bir incident sırasında dokümantasyona bakmayı beklemez.

🎬 Gauge Zincirini Tek Filmde Özetle

Mülakattan önce bu sayfada öğrendiğin HER ŞEYİN tek bir zincirde nasıl bağlandığını hızlıca gözden geçireceksin — spec'ten mülakat masasına kadar.

Adım 1 — Spec, insan dilinde Markdown olarak yazılır. GitHub'da render olur, ürün ekibi bile okuyabilir.

Adım 2 — @Step, spec cümlesini KARAKTER KARAKTER eşleştirerek bir Java metoduna bağlar. Metod adı serbesttir, bağ annotation metnindedir.

Adım 3 — Locator (By ile kodda veya JSON deposunda veride) elementi bulur — @FindBy'ın tembel proxy'si veya LocatorRepository'nin fail-fast kontrolü devrede.

Adım 4 — CI'da gauge run --env ci koşar. Plugin'ler önceden DOĞRULANMIŞ olmalı, yoksa pipeline gauge run'a hiç ulaşamadan kırılır.

Adım 5 — koşum bir Rapor üretir. FAIL varsa katman teşhisi devreye girer: çekirdek mi, eşleşme mi, Selenium mı, locator mu?

Final — bu 5 adımlık zinciri BAŞTAN SONA, kendi cümlelerinle anlatabilmek, "@Step nedir?" sorusuna değil "Step implementation not found aldın, ilk 30 saniyede ne yaparsın?" sorusuna hazır olmak demektir.

Senaryo Sorusuna Cevap Verme Refleksi

Hangi katmanı soruyor?

Soruyu dinlerken önce "bu, çekirdek mi, eşleşme mi, Selenium mı, yoksa locator deposu mu?" diye sınıflandır.

Gerçek bir senaryo veya hata mesajıyla başla — soyut tanımla değil, "böyle bir hata gördüm, şöyle çözdüm" ile.

Checklist okur gibi değil, akıl yürüterek anlat: önce neyi kontrol ettin, sonra neden oraya baktın.