yoklainterview sim

Game Development Un Jobs Burst Dots Basics Interview Questions

75 verified Game Development Un Jobs Burst Dots Basics interview questions — solve with answers, learn from explanations, test yourself in a real simulation.

Try the real simulation →

Sample questions

Un Jobs Burst Dots BasicsDifficulty 1
Which interface do you implement to define a basic single-unit job in Unity's C# Job System?
  • aIJobParallelFor
  • bIJob
  • cIJobFor
  • dIJobParallelForTransform
Explanation:IJob is the interface for a job that runs a single Execute() call; Unity invokes it once when a worker thread runs the job.
Un Jobs Burst Dots BasicsDifficulty 2
What happens when you call Run() on a job instead of Schedule()?
  • aIt runs synchronously on the main thread right away
  • bThe job is queued and runs on a worker thread next frame
  • cThe job runs on a worker thread but blocks Update()
  • dThe job is discarded because Run() only works in the Editor
Explanation:Run() executes the job immediately on the main thread, without going through the job queue, which is mainly useful for debugging.
Un Jobs Burst Dots BasicsDifficulty 1
What does calling Schedule() on a job return?
  • aA NativeArray containing the job's result
  • bA boolean indicating whether scheduling succeeded
  • cA JobHandle for tracking or depending on the job
  • dA coroutine you must yield on
Explanation:Schedule() returns a JobHandle, which represents the scheduled job and can be passed as a dependency to other jobs or completed.
Un Jobs Burst Dots BasicsDifficulty 2
Why must you call JobHandle.Complete() before the main thread reads a NativeArray that a scheduled job wrote to?
  • aComplete() copies the NativeArray into managed memory first
  • bComplete() is only needed for IJobParallelFor, not IJob
  • cComplete() releases the NativeArray's allocated memory automatically
  • dIt blocks until the job finishes, so the data becomes safe to read
Explanation:Complete() blocks until the job finishes, guaranteeing the write is done before the main thread safely accesses the same NativeContainer.
Un Jobs Burst Dots BasicsDifficulty 2
What is your responsibility once you allocate a NativeArray<T> for a job?
  • aNothing — the garbage collector reclaims it like any managed array
  • bCalling Dispose() on it yourself once you no longer need it
  • cIt disposes itself automatically once the job's JobHandle completes
  • dYou must set it to null so Unity frees the underlying memory
Explanation:NativeArray<T> is unmanaged memory outside the GC heap, so you are responsible for calling Dispose() explicitly to release it.
Un Jobs Burst Dots BasicsDifficulty 2
Why can't a job struct hold a field of a managed class type (for example, a regular C# List<int> or a MonoBehaviour reference)?
  • aJob data must be blittable/unmanaged for safe worker-thread access
  • bManaged fields are allowed, but only when the job uses Run() instead of Schedule()
  • cManaged fields are allowed only inside IJobParallelFor, not IJob
  • dUnity converts managed fields to NativeArray automatically at compile time
Explanation:Jobs run on worker threads and must use blittable/unmanaged data so the job system can safely copy and access it without touching the managed GC heap.

Test yourself against the 2850-question Game Development bank.

Start interview