Skip to content
RED SAGSkills
hardEmbedded Systems Engineer interview question

How do you make sure a real-time system always meets its deadlines?

What the interviewer wants to hear

  • Identify tasks with period, deadline and worst-case execution time
  • Priority assignment such as rate-monotonic
  • Schedulability analysis: utilisation bounds and response time analysis
  • Account for interrupts, blocking and jitter
  • Measure WCET and timing on real hardware with margins

Model answer

First I list every task and interrupt with its period or minimum inter-arrival time, deadline and worst-case execution time. WCET comes from measurement on the real target with caches and worst-case inputs, plus margin, or from static analysis tools for safety-critical work. Then I assign priorities, typically rate-monotonic, where shorter periods get higher priority, or deadline-monotonic if deadlines are shorter than periods. For a quick check, the Liu and Layland bound says that n tasks are schedulable under rate-monotonic if total utilisation is below n times (2 to the power 1/n minus 1), about 69% for many tasks. A more exact method is response time analysis, which adds each task's execution time, interference from higher-priority tasks and interrupts, and blocking time from shared resources. I keep critical sections short and use priority inheritance. Finally I verify on hardware by toggling GPIOs and measuring with an oscilloscope or tracing tools like SEGGER SystemView.

Can you answer it under time pressure?

Take a timed hard round and get scored on every answer.

Start mock interview

More hard Embedded Systems Engineer questions