RTOS & Real-Time Concepts · Interview question

What's the difference between hard, firm, and soft real-time?

A strong answer

They're distinguished by the consequence of missing a deadline. In a hard real-time system a missed deadline is a system failure, often catastrophic, think an airbag deployment, motor commutation, flight control surface, or a pacemaker, so you must guarantee the worst case is met, which requires WCET bounding and schedulability analysis. In a firm real-time system a result that arrives late is useless and is discarded, but a missed deadline isn't catastrophic and occasional misses are tolerable, for example a sensor reading that arrived too late to use in this control cycle is just dropped. In a soft real-time system a late result still has value, just reduced, and occasional misses degrade quality rather than causing failure, media playback, UI responsiveness, or telemetry, where a dropped frame or a slightly laggy update is acceptable. The engineering effort scales accordingly: hard real-time demands provable worst-case guarantees (analysis, bounded operations, margin), while soft real-time can be handled with measure-and-tune best effort. The classification tells you how much rigor a given deadline justifies, you don't spend hard-real-time effort on a soft deadline, and you must not treat a hard deadline as soft.

What a weak answer sounds like

You know the answer. Do you know what gets you dinged?

Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.

From the lesson

Hard vs Soft Real-Time

Real-time is about meeting deadlines deterministically, not being fast: hard vs firm vs soft by the cost of a miss, worst-case execution time, schedulability, and what destroys determinism.

More Hard vs Soft Real-Time questions

Browse all 472 interview questions
What's the difference between hard, firm, and soft real-time? | EmbeddedPrep.io