This is the kind of question where you either freeze or you lean in.
Start by clarifying the scope and constraints of the problem, such as the distance, latency, and reliability requirements. Then, structure your answer by breaking down the communication system into key components: signal transmission, propagation, reception, and protocols. Finally, discuss trade-offs and how you would design a robust system, drawing parallels to distributed systems concepts.
Pro tip: Acknowledge the inherent latency and intermittent connectivity, and relate it to designing distributed systems with high latency and partition tolerance. Show that you can apply software engineering principles to a physical problem.
Ask questions to understand the context: Is this for a real-time control system, scientific data transfer, or human communication? What are the data volume, latency tolerance, and reliability needs?
Explain that communication uses radio waves (or optical) traveling at the speed of light, with one-way latency between 3 and 22 minutes depending on orbital positions. Mention that direct line-of-sight is required, so relay satellites or ground stations are used.
Discuss how data is encoded, modulated, and transmitted. Cover error detection and correction (e.g., Reed-Solomon, turbo codes) and retransmission strategies (e.g., ARQ) to handle signal degradation and packet loss.
Explain that due to long latency, protocols like TCP are inefficient; instead, delay-tolerant networking (DTN) with store-and-forward and custody transfer is used. Mention the Bundle Protocol.
Compare trade-offs: bandwidth vs. power, antenna size vs. data rate, and autonomy vs. ground control. Relate to designing distributed systems with high latency and intermittent connectivity.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.