Anthropic·Software Engineer·Onsite - System Design / Architecture
- Design a 1:1 chat system scoped to single-device web users. No group chat. Walk through the full architecture.
- If the recipient is offline when a message is sent, how do you ensure they receive it once they come back online?
- How would you detect whether a user is currently online or offline?
- Compare Kafka and Redis as the backing transport for messages and presence data. When would you choose one over the other?
- Walk me through Kafka internals: topics, partitions, replication, ISR, consumer groups, and offsets.
- How would you handle session persistence and correct ordering of message history?
“I started with the usual WebSocket setup and a message store, which felt fine at first.”