Como começar uma pergunta aberta de system design
Pergunta
O entrevistador diz 'projete o Twitter'. Quais são os primeiros cinco minutos, antes de desenhar qualquer caixa?
Resposta esperada
Não sair desenhando. Primeiro: (1) clarificar escopo — 'projetar o Twitter' é enorme; alinhar quais features entram (postar, timeline, follow, busca?, DM?) e cortar o resto explicitamente. (2) Requisitos funcionais em uma frase cada. (3) Requisitos não-funcionais com NÚMEROS estimados: quantos usuários ativos, razão leitura/escrita (timeline é leitura-pesado, ~100:1), tamanho de um tweet, latência alvo, disponibilidade. (4) Fazer as contas de guardanapo: QPS de escrita e leitura, storage por ano — isso dita as decisões seguintes. (5) Só então esboçar a API e o diagrama de alto nível, e aprofundar no que o entrevistador quiser. O sinal avaliado é que você navega ambiguidade e prioriza, não que sabe o diagrama 'certo'.
Por que perguntam isso
Pergunta sênior — o começo é onde a maioria tropeça (sai desenhando). Bom candidato faz as contas de guardanapo antes de escolher tecnologia.