yoklateknik mülakat

Oyun Geliştirme Un Jobs Burst Dots Basics Mülakat Soruları

75 doğrulanmış Oyun Geliştirme Un Jobs Burst Dots Basics mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Un Jobs Burst Dots BasicsZorluk 1
Unity C# Job System'de tek birimlik temel bir job tanımlamak için hangi arayüz uygulanır?
  • aIJobParallelFor
  • bIJob
  • cIJobFor
  • dIJobParallelForTransform
Açıklama:IJob, tek bir Execute() çağrısı çalıştıran job arayüzüdür; bir worker thread job'ı çalıştırdığında Unity bunu bir kez çağırır.
Un Jobs Burst Dots BasicsZorluk 2
Bir job'da Schedule() yerine Run() çağırıldığında ne olur?
  • aAna thread'de hemen, senkron biçimde çalışır
  • bJob kuyruğa alınır ve bir sonraki karede bir worker thread'de çalışır
  • cJob bir worker thread'de çalışır ama Update()'i bloklar
  • dRun() yalnızca Editor'de çalıştığı için job atılır
Açıklama:Run(), job'ı iş kuyruğuna sokmadan doğrudan ana thread'de hemen çalıştırır; bu genellikle hata ayıklama için kullanılır.
Un Jobs Burst Dots BasicsZorluk 1
Bir job üzerinde Schedule() çağırmak ne döner?
  • aJob'ın sonucunu içeren bir NativeArray
  • bZamanlamanın başarılı olup olmadığını gösteren bir bool
  • cJob'ı takip etmek için kullanılan bir JobHandle
  • dÜzerinde yield yapman gereken bir coroutine
Açıklama:Schedule(), zamanlanan job'ı temsil eden ve başka job'lara bağımlılık olarak verilebilen ya da tamamlanabilen bir JobHandle döner.
Un Jobs Burst Dots BasicsZorluk 2
Ana thread, zamanlanmış bir job'ın yazdığı NativeArray'i okumadan önce neden JobHandle.Complete() çağrılmalı?
  • aComplete() önce NativeArray'i managed belleğe kopyalar
  • bComplete() yalnızca IJobParallelFor için gerekir, IJob için gerekmez
  • cComplete() NativeArray'in ayrılmış belleğini otomatik serbest bırakır
  • dJob bitene kadar bloklar, veri ancak o zaman güvenle okunabilir
Açıklama:Complete(), job bitene kadar bloklar; böylece ana thread aynı NativeContainer'a güvenle erişmeden önce yazmanın tamamlandığı garanti edilir.
Un Jobs Burst Dots BasicsZorluk 2
Bir job için NativeArray<T> ayırdığında sorumluluğun nedir?
  • aHiçbir şey — garbage collector onu normal bir managed dizi gibi toplar
  • bArtık ihtiyaç kalmadığında Dispose()'u kendin çağırmak
  • cJob'ın JobHandle'ı tamamlanınca kendini otomatik olarak serbest bırakır
  • dUnity'nin altta yatan belleği serbest bırakması için onu null'a atamalısın
Açıklama:NativeArray<T> GC heap dışında, yönetilmeyen bellektir; bu yüzden serbest bırakmak için Dispose()'u açıkça çağırmak senin sorumluluğundadır.
Un Jobs Burst Dots BasicsZorluk 2
Bir job struct'ı neden managed bir sınıf tipinde alan tutamaz (örneğin normal bir C# List<int> ya da bir MonoBehaviour referansı)?
  • aJob verisi, worker thread'den güvenle erişilebilsin diye blittable/unmanaged olmalı
  • bManaged alanlara izin verilir ama yalnızca job Schedule() yerine Run() kullanıyorsa
  • cManaged alanlara yalnızca IJobParallelFor içinde izin verilir, IJob'da verilmez
  • dUnity derleme zamanında managed alanları otomatik olarak NativeArray'e çevirir
Açıklama:Job'lar worker thread'lerde çalışır ve blittable/unmanaged veri kullanmalıdır; böylece job sistemi managed GC heap'e dokunmadan veriyi güvenle kopyalayıp erişebilir.

2850 soruluk Oyun Geliştirme bankasında kendini sına.

Mülakata başla