yoklateknik mülakat

Frontend Angular Change Detection Mülakat Soruları

75 doğrulanmış Frontend Angular Change Detection mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Angular Change DetectionZorluk 1
Klasik (zoneless olmayan) bir Angular uygulamasında Zone.js'in temel görevi nedir?
  • aAsenkron API'leri (setTimeout, DOM event'leri, Promise, XHR) monkey-patch ederek Angular'a ne zaman change detection çalıştıracağını bildirir
  • bAngular'ın renderer'ının yerini tamamen alır, hız için framework'ün kendi view katmanını atlayıp doğrudan DOM node'larına yazar
  • cTemplate'leri ve decorator'ları uygulama yayınlanmadan önce düz JavaScript'e çeviren, build zamanında çalışan bir derleyici adımıdır
  • dAğ çağrılarını azaltmak için servisler ve component'ler arasında HTTP yanıtlarını önbelleğe alan bir interceptor katmanıdır
Açıklama:Zone.js, yaygın asenkron tarayıcı API'lerini yamanır. Bunlardan biri tetiklendiğinde (bir timer, bir event, çözülen bir promise), Zone.js Angular'a haber verir ve bir change detection turu tetiklenir — bu olmasaydı Angular'ın state değişmiş olabileceğine dair otomatik bir sinyali olmazdı.
Angular Change DetectionZorluk 1
Bir Angular ağacındaki her component açıkça ChangeDetectionStrategy.Eager (Angular 22 öncesindeki adıyla Default) kullanıyorsa, bir CD döngüsü hangi component'leri kontrol eder?
  • aYalnızca bir önceki döngüden bu yana @Input binding'i gerçekten değişmiş olan component'leri
  • bAğaçtaki her component'i, root'tan aşağıya doğru
  • cYalnızca o an viewport'ta kaydırılarak görünür hale gelmiş component'leri
  • dYalnızca root component'in kendisini, çocuklarını hiç dikkate almadan
Açıklama:Tamamı Eager olan bir ağaçta Angular, her CD döngüsünde component ağacını yukarıdan aşağıya dolaşır ve her view'ın template binding'lerini yeniden kontrol eder. Default, Eager için deprecated legacy alias'tır; Angular 22'den itibaren strateji belirtilmezse OnPush kullanıldığından soru her component'i açıkça Eager olarak sınırlar.
Angular Change DetectionZorluk 1
Tek cümleyle, ChangeDetectionStrategy.OnPush ne yapar?
  • aComponent'i change detection'dan tamamen çıkarır, view'i ilk render edildiği haliyle donmuş kalır
  • bComponent'i yalnızca stylesheet kuralları ya da CSS class'ları değiştiğinde yeniden kontrol eder
  • cKontrolleri değişen input değeri, alt ağacındaki bir event, template'te okunan signal güncellemesi, AsyncPipe ya da manuel bildirim gibi belirli tetikleyicilerle sınırlar
  • dTüm uygulama için Zone.js'i devre dışı bırakır, artık hiçbir component otomatik asenkron bildirim almaz
Açıklama:OnPush, component'i change detection'dan çıkarmaz — NE ZAMAN kontrol edileceğini sınırlar. Değişen primitive input veya yeni nesne referansı; alt ağacındaki event, template'in tükettiği signal, AsyncPipe ve markForCheck() ya da detectChanges() gibi açık API'ler tetikleyici olabilir.
Angular Change DetectionZorluk 1
Bir Angular Signal (Angular 16+), temel düzeyde nedir?
  • aAngular'ın var olan bir RxJS Observable'a verdiği, tamamen aynı subscribe tabanlı API'ye sahip yeni bir isim
  • bYalnızca template'e özgü, hiçbir runtime nesnesi ya da değeri karşılığı olmayan bir syntax parçası
  • cYalnızca HttpClient isteklerinin önbelleklenmesini ve yeniden denemesini yapılandırmak için tanıtılmış özel bir API
  • dBir değeri saran, kimin okuduğunu izleyen, senkron ve reaktif bir wrapper — böylece değer değiştiğinde bağımlılar bilgilendirilebilir
Açıklama:Signal, bir değeri tutan hafif, senkron bir primitive'dir. Kod bir signal'ı okuduğunda (örn. bir computed içinde ya da template'te), Angular bu bağımlılığı kaydeder; böylece signal'ın değeri değiştiğinde tam olarak neyin güncelleneceğini bilir.
Angular Change DetectionZorluk 1
signal(0) ile oluşturulan bir signal'ın güncel değerini nasıl okursun?
  • aFonksiyon olarak çağır: mySignal()
  • bBir ref gibi .value property'sine eriş
  • cÜzerinde .get() çağır
  • dDüz bir değişken gibi doğrudan oku, çağrıya gerek yok
Açıklama:Signal'lar çağrılabilirdir — mySignal() çağırmak güncel değeri döndürür ve eğer reaktif bir bağlam içinde (template, computed, effect) çağrılıyorsa ona bir bağımlılık kaydeder.
Angular Change DetectionZorluk 1
ChangeDetectorRef.markForCheck() çağırmak ne yapar?
  • aComponent'i ve tüm alt ağacını, çağrıldığı anda hemen senkron olarak render eder
  • bComponent'i (OnPush olsa bile) sıradaki change detection döngüsünde kontrol edilmesi gerektiğini işaretler
  • cComponent'i CD ağacından çıkarır, tıpkı detach() çağırmakla aynı etkiyi yaratır
  • dZone.js'e tüm uygulama genelinde ekstra bir global change detection döngüsü zamanlatıp çalıştırtır
Açıklama:markForCheck() change detection'ı kendisi çalıştırmaz — view'ı ve gerekli ata yolunu, daha sonraki bir change-detection taramasının ona ulaşıp kontrol edebilmesi için işaretler. Zoneless modda bu çağrı aynı zamanda Angular scheduler'ının bildirim kaynaklarından biridir; anında yerel kontrol yapan API detectChanges()'tir.

2925 soruluk Frontend bankasında kendini sına.

Mülakata başla