Mülakat Soruları & Cevapları

Mülakat Soruları & Cevapları: ☕ Java Biliyorsan: Mülakat Soruları Köprüsü S2 interface vs type'ı kapsar — ama Java geliştiricileri için asıl sürpriz TypeScript interface'lerinin

☕ Java Biliyorsan: Mülakat Soruları Köprüsü

S2 interface vs type'ı kapsar — ama Java geliştiricileri için asıl sürpriz TypeScript interface'lerinin NASIL çalıştığıdır. Java nominal tipleme kullanır (sınıfın 'implements' demesi gerekir). TypeScript yapısal tipleme kullanır — doğru şekle sahip herhangi bir nesne interface'i otomatik olarak karşılar.

Bu Java geliştiricileri için en önemli TypeScript kavramıdır. TS'de neredeyse hiç 'implements' yazmıyorsunuz — şekil eşleşirse, interface'i karşılar. Testlerde mock yapmak için harika: sadece doğru metodlara sahip bir nesne iletin.

S7 generic'leri kapsar — iyi haber: TypeScript generic'leri Java generic'lerine neredeyse aynı görünür. Aynı sözdizimi, aynı extends kısıtlamaları. Temel fark: TypeScript Java'nın sahip olmadığı union type'ları ve conditional type'ları ekler.

Java generic'lerini biliyorsanız TypeScript generic'leri anında tanıdık gelecektir. Ekstra güç (union type'lar, infer, conditional type'lar) temellerle rahat olduğunuzda doğal olarak gelir.

S10 readonly'i kapsar — Java geliştiricileri 'final'in yeniden atamayı önlediğini bilir. TypeScript 'readonly' derleme zamanı eşdeğeridir. Temel eklemeler: Readonly utility type tüm özellikleri bir anda readonly yapar ve 'as const' literal değerleri dondurur.

"readonly" = Java "final" alanlar için. "Readonly " = tüm alanlarda otomatik final — Java eşdeğeri yok. "as const" hem tip hem değeri dondurur — test durumu enum'ları için çok kullanışlı.

Locator hiçbir element bulamadı veya element timeout süresinde tıklanabilir (actionable) olmadı. Nedenler: yanlış selector, element henüz render edilmedi, element başka bir frame içinde.

Locator sayfada birden fazla element buldu. Playwright strict modda varsayılan olarak tek bir element bekler.

Test bitiminde browser context veya page zaten kapatılmış. Genellikle fixture teardown sırası yanlış veya bir önceki test başarısız olup page'i kapattı.

Hedef URL'e bağlantı reddedildi. Test çalışmadan önce uygulama başlatılmamış veya port numarası yanlış.

Assertion timeout'u doldu — beklenen element görünür olmadı. Animasyon süresi, API yanıt gecikmesi veya yanlış selector nedeniyle olabilir.

Fonksiyon enum tipi bekliyor ama string geçirildi. TypeScript string'i enum tipine otomatik olarak dönüştürmez.

Pratik: Mülakatta Sorulan "any Neden Riskli?" Kod Örneğini Düzelt