yoklateknik mülakat

Frontend Angular Dependency Injection Mülakat Soruları

75 doğrulanmış Frontend Angular Dependency Injection 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 Dependency InjectionZorluk 1
Angular'da @Injectable() decorator'ının temel amacı nedir?
  • aBir sınıfı Angular DI tarafından oluşturulabilir olarak işaretler
  • bBir sınıfı Angular component'i olarak işaretler
  • cBir sınıfı HTTP interceptor olarak kaydeder
  • dBir sınıfı routing guard olarak tanımlar
Açıklama:@Injectable(), Angular'ın derleyicisine ve DI sistemine bu sınıfın oluşturulabileceğini ve inject edilebileceğini söyler; isteğe bağlı olarak providedIn gibi metadata da ekler. @Component (view sınıfları) ile ya da özellikle guard/interceptor olmakla ilgisi yoktur — bunlar bir sınıfın ayrıca üstlenebileceği farklı rollerdir.
Angular Dependency InjectionZorluk 1
@Injectable() yapılandırılırken providedIn: 'root' ne anlama gelir?
  • aServis yalnızca AppModule tarafından tanımlanan component'ler içinde kullanılabilir
  • bRoot injector paylaşılan tek bir servis instance'ı sağlar
  • cServisin yine de manuel olarak bir modülün providers dizisine eklenmesi gerekir
  • dServis yalnızca lazy-load edilen feature modülleriyle sınırlıdır
Açıklama:providedIn: 'root', Angular'ın derleyicisine, herhangi bir modülün providers dizisine ihtiyaç duymadan provider'ı otomatik olarak root injector'a kaydetmesini söyler. Servis, tüm uygulama tarafından paylaşılan bir singleton haline gelir; hiçbir yerde inject edilmiyorsa bundler onu tree-shaking ile kaldırabilir.
Angular Dependency InjectionZorluk 1
Bir Angular component'i, injectable bir servisin instance'ını genelde nasıl alır?
  • aComponent içinde doğrudan new ServiceName() çağırarak
  • bServis sınıfını HTML template'ine import ederek
  • cTipini bir constructor parametresi olarak kullanarak
  • dComponent sınıfında statik bir property'ye atayarak
Açıklama:Angular'ın DI'ı, constructor parametre tiplerini çözümler ve eşleşen instance'ları otomatik olarak sağlar — bu, standart kalıp olan constructor injection'dır. Doğrudan new çağırmak DI'ı tamamen atlar; singleton davranışı ve injector hiyerarşisi kaybolur.
Angular Dependency InjectionZorluk 1
Bir servis bir yerde inject ediliyor ama zincirdeki hiçbir injector onun için bir provider'a sahip değilse (ve providedIn de yoksa) ne olur?
  • aAngular sessizce null inject eder
  • bAngular otomatik olarak varsayılan, boş bir instance oluşturur
  • cComponent, eksik bağımlılığı yok sayarak normal render olur
  • dAngular çalışma zamanında bir NullInjectorError fırlatır
Açıklama:Angular'ın DI'ı, token'ı injector ağacında yukarı doğru yürüyerek çözümler; bu yol boyunca hiçbir injector'da (ve providedIn de yoksa) provider bulunamazsa çözümleme başarısız olur ve Angular, eksik token'ı belirten bir NullInjectorError fırlatır.
Angular Dependency InjectionZorluk 1
@Injectable({ providedIn: 'root' })
export class LoggerService {
  log(msg: string) { console.log(msg); }
}

@Component({ selector: 'app-root', template: '' })
export class AppComponent {
  constructor(private logger: LoggerService) {}
}

AppComponent'in aldığı LoggerService instance'ını burada ne oluşturur?
  • aConstructor parametre tipini kullanan Angular injector'ı
  • bComponent'in template'i, ilk render sırasında
  • cArka planda oluşturulan manuel bir new LoggerService() çağrısı
  • dBunun çalışması için gerekli olan @Component decorator'ının providers dizisi
Açıklama:LoggerService, providedIn: 'root' kullandığı için Angular'ın root injector'ında zaten bir provider vardır; DI sistemi logger constructor parametresinin tipini okur ve singleton instance'ı otomatik sağlar — @Component'te bir providers dizisine gerek yoktur.
Angular Dependency InjectionZorluk 1
Angular'da hiyerarşik bir injector sistemi vardır. Bu, temel düzeyde ne anlama gelir?
  • aTüm uygulama için root'ta tek bir injector vardır
  • bBağımlılık araması yerel injector'lardan ancestor injector'lara ilerler
  • cBir bağımlılığı inject etmek için yapılan her çağrı, yepyeni ve izole bir injector oluşturur
  • dInjector hiyerarşisi yalnızca lazy-load edilen routing modülleri için geçerlidir
Açıklama:Angular, uygulamanın yapısını yansıtan bir injector ağacı kurar: bir root/modül injector'ı artı kendi provider'larını tanımlayan component'ler için component başına bir 'element injector'. Bir bağımlılık istendiğinde Angular, isteyen component'in injector'ından başlayarak bir provider bulunana kadar yukarı doğru arar.

2925 soruluk Frontend bankasında kendini sına.

Mülakata başla