1. Why are partial failures common in distributed systems?
A. All nodes share a single power supply
B. Networks, machines, or processes can fail independently
C. Distributed systems never experience failures
D. Because all components are tightly coupled in the same process
2. What problem can unreliable clocks cause in distributed systems?
A. They eliminate the need for logical time
B. They ensure total ordering across events
C. They can lead to confusion about the actual sequence of events
D. They never affect system concurrency
3. What is one strategy to mitigate network unreliability in distributed applications?
A. Assume 100% packet delivery
B. Implement automatic retries with exponential backoff and idempotent requests
C. Always use synchronous replication with zero-timeout
D. Rely solely on hardware-based duplication of routers
4. Why might end-to-end argument principles be crucial for distributed system design?
A. They simplify the use of a single central broker that handles all logic
B. They argue that some system functions (like error checking) are best implemented at higher levels, closer to the application
C. They remove the need for lower-level protocols altogether
D. They only apply to disk-based file systems