Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Storage Systems Interview Preparation
·
Module 4
Concurrency and Low-Level Synchronization
1
Identifying Data Races and Outcomes in Concurrent C Traces
Identify a data race and its possible outcomes from a concurrent C execution trace.
2
Choosing the Right Synchronization Primitive for Access Patterns
Choose among a mutex, reader-writer lock, spinlock, semaphore, and atomic operation for a given access pattern.
3
Implementing a Bounded Producer-Consumer Queue with Condition Variables
Implement a bounded producer-consumer queue in C using condition variables.
4
Acquire–Release Ordering and Happens-Before in C Atomics
Explain how acquire and release ordering establish a happens-before relationship in C atomics.
5
Diagnosing Deadlocks and Designing Locking Hierarchies
Diagnose a deadlock from lock-order information and propose a consistent locking hierarchy.
6
Lifetime and Synchronization Risks in Reference-Counted Shared Objects
Analyze the lifetime and synchronization risks in a reference-counted shared object.
Next module isn't ready yet,
Back to course
Previous module
Data Structures Under Interview Constraints
Next module