BootcampHackathonHiring ChallengeHiring DayTüm Etkinlikler
İşveren Girişi
Swift Mülakat Soruları

Swift Mülakat Soruları

Swift, Apple ekosisteminde uygulama geliştirmenin vazgeçilmez bir parçasıdır. Özellikle iOS geliştiricileri için Swift bilgisi, işe alım süreçlerinde en kritik teknik değerlendirme kriterlerinden biridir. Bu yazıda, Swift mülakat soruları, Swift geliştirici mülakat soruları, iOS mülakat soruları, Swift async/await mülakat soruları, Swift performans optimizasyonu mülakat soruları, Swift Core Data mülakat soruları gibi başlıkları kod örnekleriyle birlikte derinlemesine inceleyeceğiz.

1. Swift’te Struct ve Class Arasındaki Farklar

  • Struct value type olduğu için bellekte kopyalanarak iletilir.
  • Class ise reference type olduğundan, bellekteki aynı adrese referans gösterir.
  • Struct’lar mutating fonksiyonlarla güncellenebilir.
  • Class’lar inheritance destekler; struct’lar desteklemez.

Kod Örneği:

struct KullaniciStruct {
   var isim: String}

class KullaniciClass {
   var isim: String
   init(isim: String) {
       self.isim = isim
   }
}

Struct Örneği:

var a = KullaniciStruct(isim: "Ayşe")
var b = a
b.isim = “Zeynep”
print(a.isim) // Ayşe

Class Örneği:

var x = KullaniciClass(isim: "Ali")
var y = x
y.isim = “Veli”
print(x.isim) // Veli

2. Swift’te Optional Nedir ve Nasıl Kullanılır?

Swift dilinde null değerlerle güvenli çalışmak için Optional veri tipi kullanılır. Optional'lar sayesinde nil kontrolü zorunlu hale gelir.

Kullanım Yöntemleri:

  1. if let ile optional binding
  2. guard let ile early exit
  3. nil coalescing (??) ile varsayılan değer verme

Kod Örneği:

var isim: String? = “Techcareer”

if let unwrapIsim = isim {
   print("Merhaba, \(unwrapIsim)")
} else {
   print("İsim bulunamadı.")
}

let sonuc = isim ?? “İsim tanımsız”
print(sonuc)

3. Swift’te async/await Yapısı

Asenkron işlemleri daha okunabilir hale getiren bu yapı, özellikle Swift async/await mülakat soruları arasında sıkça yer alır.

Kod Örneği:

func fetchVeri() async -> String {
   return “Veri alındı”
}

Task {
   let sonuc = await fetchVeri()
   print(sonuc)
}

İpucu:

  • await kullanırken Task bloğu içerisinde olmanız gerekir.
  • async let ile paralel işlemler başlatılabilir.

4. iOS Yaşam Döngüsü Nasıldır?

Swift geliştiricilerinin, uygulamanın yaşam döngüsünü bilmesi önemlidir. Aşağıdaki AppDelegate metotları kritik süreçleri yönetir:

Yaşam Döngüsü Metotları:

  • didFinishLaunchingWithOptions
  • applicationDidBecomeActive
  • applicationDidEnterBackground

func applicationDidEnterBackground(_ application: UIApplication) {
   print("Uygulama arka planda")
}

5. Swift'te ARC ve Memory Management

Swift performans optimizasyonu mülakat soruları arasında en yaygın konulardan biri memory management’tır.

Referans Türleri:

  • Strong: Default
  • Weak: ARC sayımı yapılmaz, nil olabilir
  • Unowned: ARC sayımı yapılmaz, nil olamaz

Kod Örneği:

class A {
   var b: B?
}

class B {
   weak var a: A?
}

6. Core Data Nedir?

Core Data, Apple’ın kalıcı veri saklama framework’üdür. Genellikle Swift Core Data mülakat soruları başlığı altında sorular gelir.

Kod Örneği:

let yeniVeri = NSEntityDescription.insertNewObject(forEntityName: "Not", into: context)
yeniVeri.setValue("Mülakat çalış", forKey: "icerik")

do {
   try context.save()
} catch {
   print("Hata: \(error)")
}

7. Swift Collection Tipleri

Temel Koleksiyonlar:

  • Array<T>
  • Set<T>
  • Dictionary<K, V>

let sayilar = [1, 2, 3, 4]
let sehirler: Set = ["İstanbul", "Ankara", "İzmir"]
let yaslar = ["Ali": 25, "Ayşe": 30]

8. Performans Optimizasyonu İpuçları

İpuçları:

  • lazy var ile kaynakları geç yükleme
  • GCD (Grand Central Dispatch) kullanarak işlemleri arka planda çalıştırmak
  • ARC ve retain cycle kontrolü

Kod Örneği:

DispatchQueue.global(qos: .background).async {
   let veri = agirIslem()
   DispatchQueue.main.async {
       self.label.text = veri
   }
}

9. Protocol ve Protocol-Oriented Programming

Swift, klasik OOP yerine POP’u (Protocol-Oriented Programming) teşvik eder.

protocol Hayvan {
   func sesCikar()
}

struct Kedi: Hayvan {
   func sesCikar() {
       print("Miyav")
   }
}

10. iOS Mülakatlarında Sorulabilecek Senaryolar

Senaryo Sorusu: Uygulamanız App Store'da çökme yaşıyor, nasıl çözersiniz?

Cevap:

  • Crash log indir (Organizer)
  • symbolicatecrash ile yorumla
  • Geriye dönük test yap
  • Hotfix çıkar
  • App Store’a tekrar yükle

11. Hata Yönetimi ve Error Handling

Swift’te Hata Atma ve Yakalama:

enum HataTipi: Error {
   case veriBulunamadi
}

func veriGetir() throws {
   throw HataTipi.veriBulunamadi
}

do {
   try veriGetir()
} catch {
   print("Hata alındı: \(error)")
}

12. ViewController Lifecycle

Lifecycle Aşamaları:

  • viewDidLoad()
  • viewWillAppear()
  • viewDidAppear()
  • viewWillDisappear()
  • viewDidDisappear()

13. Alamofire ile API Kullanımı

Alamofire, iOS ağ işlemleri için popüler bir 3rd-party kütüphanedir.

import Alamofire

AF.request("https://api.techcareer.net")
 .responseJSON { response in
     debugPrint(response)
 }

14. Unit Test Örneği

func topla(_ a: Int, _ b: Int) -> Int {
   return a + b
}

func testTopla() {
   assert(topla(2, 3) == 5)
}

15. SwiftUI vs UIKit

  • SwiftUI: Declarative yaklaşım, iOS 13+
  • UIKit: Imperative, daha geniş destek

Swift mülakatları, yalnızca temel bilgiyle değil, kod okuma-yazma, optimizasyon ve Apple ekosistemine hâkimiyetle kazanılır. Bu rehberde yer alan Swift mülakat soruları, Swift geliştirici mülakat soruları, iOS mülakat soruları, Swift async/await mülakat soruları, Swift Core Data mülakat soruları ve Swift performans optimizasyonu mülakat soruları, mülakata eksiksiz hazırlanman için güçlü bir kaynak sunar.

Swift mülakatlarına hazırlanırken kendini daha da geliştirmek ve sektördeki diğer profesyonellerle bağlantı kurmak mı istiyorsun? Techcareer.net’in özenle hazırladığı mülakat soruları rehberleri ve kapsamlı kaynaklarıyla bir sonraki mülakatında bir adım önde ol!

Ayrıca, Techcareer.net’in eğitim programlarına katılarak Swift becerilerini geliştirebilir, iş ilanlarına göz atarak yeni kariyer fırsatları yakalayabilirsin.

Hemen kayıt ol ve Techcareer.net’in sunduğu fırsatlarla kariyerini bir üst seviyeye taşı! 🚀

Bir sonraki içerik:
TypeScript Mülakat Soruları
TypeScript, JavaScript'in esnekliğini koruyarak üzerine statik tür kontrolü, gelişmiş IDE desteği ve büyük projelerde daha sürdürülebilir bir yazılım geliştirme deneyimi sunan güçlü bir programlama dilidir. Özellikle frontend geliştirme, React ve Angular gibi modern çerçevelerle çalışan uygulamalarda tercih edilmektedir.

Ücretsiz eğitimlerimiz seni bekliyor.

Her biri alanında uzman eğitmenler tarafından hazırlanmış eğitimlerimizden sana uygun olanı keşfedip, hemen eğitime başlayabilirsin. Süre kısıtlaması olmayan eğitimlerimizi, hiç bir ücret ödemeden hemen keşfetmeye başla.

TECHCAREER
Hakkımızda
techcareer.net
Türkiye’nin teknoloji kariyeri platformu
SOSYAL MEDYA
LinkedinTwitterInstagramYoutubeFacebook

tr

en

Tüm hakları saklıdır
© Copyright 2025
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu olarak 31/08/2024 – 30/08/2027 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 26/07/2024 tarih ve 16398069 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26