Eight Minutes Left

Eight minutes are left in the interview and the chat design still has more moving parts than you can finish drawing. The interviewer offers to cut one feature. Which cut takes an actual component out of the diagram?

A

Emoji reactions. Every reaction mutates a message that may already be delivered, so they are what stops the message store from being an append-only log.

B

Group conversations above a few hundred members. The fan-out on write, the per-recipient inbox, and the separate handling for large rooms all leave with it, and one-to-one delivery is a single insert per message.

C

Typing indicators. They are the only thing that needs a connection held open while the user is not sending anything, so cutting them lets delivery fall back to polling.

D

Read receipts. They turn one message into one write per recipient, so they are the reason the write path fans out at all.