
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:
- if let ile optional binding
- guard let ile early exit
- 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şı! 🚀
Ü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.



