Your question is Handling Race Conditions. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
How do you handle race conditions in an embedded multi-threaded environment? Explain how you identify shared mutable state, select synchronization primitives, and ensure memory visibility between threads and interrupt handlers. Include the trade-offs involving mutexes, atomics, interrupt context, priority inversion, and real-time latency.