yoklateknik mülakat

Flutter Mobil Mülakat Soruları

450 doğrulanmış Flutter Mobil mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Fl Dart Async IsolatesZorluk 1
Dart'ta bir async fonksiyon, siz açıkça yazmasanız bile ne döndürür?
  • aHiçbir şey — async fonksiyonlar her zaman void'dir.
  • bSonucu zaman içinde veren bir Stream.
  • cSenkron olarak hesaplanan ham sonuç değeri.
  • dFonksiyonun sonucunu saran bir Future.
Açıklama:Bir fonksiyonu async işaretlemek, gövdede açık bir Future tipi olmasa bile onu otomatik olarak bir Future (ya da Future<void>) döndürür hale getirir — derleyici sonucu sarar.
Fl Dart Async IsolatesZorluk 1
Future<int> fetchValue() async {
  await Future.delayed(Duration(seconds: 1));
  return 42;
}

fetchValue() çağrıldığında ne olur?
  • aÇağıran kodu bir saniyeliğine bloklar, sonra döner.
  • bHemen 42 döner ve gecikmeyi arka planda sonradan çalıştırır.
  • cHemen bir Future<int> döner; gecikme sonrası 42'ye çözülür.
  • dÇağıran da await kullanmazsa hata fırlatır.
Açıklama:Async fonksiyon çağırmak bloklamaz; hemen bekleyen bir Future döner. Çağıran, gecikmeli future tamamlanınca 42'yi almak için await edebilir (ya da .then bağlayabilir).
Fl Dart Async IsolatesZorluk 2
Bir fonksiyon final a = await taskA(); final b = await taskB(); yapıyor; taskA ve taskB birbirinden bağımsız (birbirinin sonucuna ihtiyaç duymuyor). Bu şekilde yazmanın pratik dezavantajı nedir?
  • ataskB, taskA bitene kadar başlamaz — ardışık çalışırlar.
  • bDart bunu derlemeyi reddeder — bağımsız await'ler Future.wait kullanmalı.
  • ctaskA ve taskB sözdiziminden bağımsız olarak otomatik paralelleştirilir.
  • dKod, b a çözümlenmeden bildirildiği için runtime hatası fırlatır.
Açıklama:Her await, o future tamamlanana kadar bir sonraki satıra geçmeden bekler. taskB() çağrısı bile taskA bitene kadar yapılmadığından ikisi art arda çalışır; Future.wait([taskA(), taskB()]) ikisinin de hemen başlamasını sağlardı.
Fl Dart Async IsolatesZorluk 1
Single-subscription bir Stream ile broadcast bir Stream arasındaki temel yapısal fark nedir?
  • aSingle-subscription stream ömrü boyunca sadece bir dinleyiciye izin verir, broadcast stream birden çok dinleyiciye izin verir.
  • bBroadcast stream'ler sadece hata yayınlayabilir, asla veri yayınlayamaz.
  • cSingle-subscription stream'ler olayları senkron yayınlar, broadcast stream'ler asla yayınlamaz.
  • dGerçek bir fark yok; .asBroadcastStream() sadece kozmetiktir.
Açıklama:Single-subscription Stream, sadece bir dinleyici bağlandığında olayları üretir/tamponlar, .listen()'ı iki kez çağırmak hata fırlatır. Broadcast stream herhangi sayıda dinleyiciyi destekler, ama geç bağlanan dinleyiciler için olayları tamponlamaz.
Fl Dart Async IsolatesZorluk 2
final controller = StreamController<int>();
controller.stream.listen((v) => print(v));
controller.add(1);
controller.add(2);

Hata olmadığını varsayarsak bu ne yazdırır?
  • aHiçbir şey, çünkü StreamController olay yayınlamak için .broadcast() gerektirir.
  • b2 sonra 1, çünkü dinleyici her iki add çağrısından sonra bağlanır.
  • cSırasıyla 1 sonra 2.
  • dadd, listen'dan önce çağrıldığı için hata fırlatır.
Açıklama:Varsayılan bir StreamController single-subscription'dır; listen, herhangi bir add'den önce çağrıldığından controller hazır bir dinleyiciye sahiptir ve olayları eklendikleri sırayla teslim eder: önce 1, sonra 2.
Fl Dart Async IsolatesZorluk 1
Dart neden gerçek paralel CPU-yoğun işler için sadece bir async fonksiyon yerine bir Isolate gerektirir?
  • aasync fonksiyonlar fiziksel olarak hiçbir CPU-ağır kodu çağıramaz.
  • bTek bir Dart isolate'in bir thread'i ve bir event loop'u vardır; async/await ekstra çekirdek kullanmaz.
  • cIsolate'ler async ile birebir aynı tek-thread'li çalışmanın sadece farklı bir sözdizimidir.
  • dasync fonksiyonlar sadece widget build metotları içinde çalışabilir.
Açıklama:async/await tek bir thread üzerinde eşzamanlılık (iç içe geçirme) sağlar, paralellik değil. Ağır senkron hesaplama yine o tek thread'i ve onunla birlikte event loop'u bloklar. Bir Isolate kendi thread'ini ve belleğini alır, gerçek paralel yürütmeyi mümkün kılar.

2400 soruluk Mobil bankasında kendini sına.

Mülakata başla