yoklateknik mülakat

Mobil Ios Swift Type System Optionals Mülakat Soruları

75 doğrulanmış Mobil Ios Swift Type System Optionals mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Ios Swift Type System OptionalsZorluk 1
Bir struct örneği yeni bir değişkene atanıyor, sonra kopyanın property'si değiştiriliyor. Orijinale ne olur?
  • aStruct'lar değer semantiğine sahip olduğundan orijinal etkilenmez
  • bStruct'lar referans olduğundan orijinal de değişir.
  • cİki değişken artık çökmüş aynı örneği gösterir
  • dAtamanın kendisi derlenmez.
Açıklama:Struct'lar değer tipidir: atama değeri kopyalar, bu yüzden kopyayı değiştirmek orijinali etkilemez; aynı referansı paylaşacak bir class örneğinden farklıdır.
Ios Swift Type System OptionalsZorluk 1
Bir class örneği yeni bir değişkene atanıyor, sonra o yeni değişken üzerinden bir property değiştiriliyor. Orijinale ne olur?
  • aOrijinal etkilenmez, class'lar atamada her zaman kopyalanır.
  • bProgram atamada hemen çöker.
  • cOrijinal de değişikliği yansıtır
  • dYalnızca deinitializer erken çalışır
Açıklama:Class'lar referans tipidir: atama, altta yatan nesneyi değil referansı kopyalar; bu yüzden iki değişkenden biriyle yapılan değişiklik diğerinde de görünür.
Ios Swift Type System OptionalsZorluk 2
İki Array<Int> değer bağlaması, biri değiştirilene kadar ("copy-on-write") aynı depolamayı paylaşır. Gerçek kopyayı ne tetikler?
  • aSadece iki array'den birinin içeriğini okumak.
  • bDepolamaya birden fazla referans varken bunlardan birini değiştirmeye çalışmak
  • cHerhangi bir değişiklikten önce ikinci değişkeni tanımlamak.
  • dArray'i bir fonksiyona parametre olarak geçirmek
Açıklama:Copy-on-write, paylaşılan depolamanın yalnızca depolamanın referans sayısı paylaşıldığını gösterdiğinde, değiştirme anında çoğaltıldığı anlamına gelir; sade okumalar veya ekstra bağlamalar tek başına kopyayı tetiklemez.
Ios Swift Type System OptionalsZorluk 1
Bir property'yi var name: String? olarak tanımlamak ne anlama gelir?
  • aProperty ya bir String değeri tutabilir ya da yok (nil) olabilir
  • bProperty'nin her zaman boş olmayan bir String tutacağı garantidir
  • cProperty yalnızca bir kez ayarlanabilir ve bir daha değiştirilemez.
  • d? property'yi otomatik olarak thread-safe yapar.
Açıklama:?, tipi Optional<String> olarak işaretler; yani property ya sarmalanmış bir String değeri tutar ya da bir değerin yokluğunu temsil eden nil olur.
Ios Swift Type System OptionalsZorluk 2
let name: String? = nil verildiğinde name?.uppercased() neye eşit olur?
  • aRuntime çökmesi, çünkü uppercased() nil üzerinde çağrılıyor
  • bnil, çünkü optional chaining alıcı nil olduğunda kısa devre yapar
  • cBoş bir string "".
  • dChaining force-unwrap gerektirdiğinden derleme zamanı hatası.
Açıklama:Optional chaining, alıcı nil olduğunda metodu çağırmak ya da çökmek yerine güvenle durur ve tüm ifade için nil değerine eşitlenir.
Ios Swift Type System OptionalsZorluk 1
let value = maybeName ?? "default" içinde nil-coalescing operatörü ?? ne yapar?
  • amaybeName'i zorla unwrap eder ve nil ise çöker
  • bmaybeName ne olursa olsun her zaman "default" döner.
  • cmaybeName'i bir if-kontrolü için Bool'a çevirir.
  • dmaybeName'in sarmalanmış değeri varsa onu kullanır, yoksa "default"'a düşer
Açıklama:?? bir yedek sağlar: soldaki optional bir değer tutuyorsa o kullanılır, yoksa sağdaki varsayılan ifade değerlendirilip kullanılır, hiç çökmeden.

2400 soruluk Mobil bankasında kendini sına.

Mülakata başla