sesame·Software Engineer·Onsite - System Design / Architecture
- Design a TCP-based chat server where multiple clients can connect, messages get broadcast to all other clients, and the server handles clients joining and leaving without crashing. Walk through your concurrency model, how you'd frame messages on the byte stream, and how you'd do a clean shutdown.
“I started with thread-per-connection because it's the obvious answer, but they pushed back pretty fast on what happens at 10k clients.”