Server sent events são a opção mais barata quando o tráfego flui só do servidor para o cliente: HTTP puro, reconexão automática, e eles passam pela maioria dos proxies. Os WebSockets justificam o custo operacional quando você precisa de mensagens bidirecionais ou de alta frequência, como chat ou edição colaborativa. Polling serve bem quando as atualizações são raras e alguns segundos de desatualização são aceitáveis, e ele sobrevive a toda rede e todo load balancer que existe.
Por que os entrevistadores perguntam isso
Tempo real é onde os desenvolvedores recorrem primeiro à opção mais complexa. O entrevistador quer ver você casar o transporte com o padrão real de tráfego e pensar no que acontece em escala: conexões grudentas, escala horizontal, reconexão e mensagens perdidas enquanto um cliente estava offline. Escolher polling pelo motivo certo é um sinal forte, porque mostra que você pesa custo operacional em vez de perseguir a resposta impressionante.
Como estruturar sua resposta
- Case cada opção com a direção e a frequência de tráfego que ela atende.
- Cite o custo operacional de conexões persistentes.
- Cubra reconexão e mensagens perdidas.
- Recomende uma para o cenário que te deram.
Exemplo de resposta
A primeira pergunta é se o cliente precisa mandar alguma coisa de volta pelo mesmo canal. Notificações, contadores ao vivo, uma barra de progresso de job, um feed: tudo de mão única, e server sent events dão conta disso sobre HTTP comum com reconexão embutida e um header de last event id para você retomar de onde o cliente caiu. Essa última parte é subestimada. WebSockets são a escolha certa para chat, presença, ou qualquer coisa colaborativa em que os clientes empurram com frequência e a latência importa. O custo é real, porém: as conexões têm estado, então escalar além de uma instância significa uma camada de pub sub como o Redis para distribuir mensagens entre nós, mais health checks, contrapressão e autenticação no handshake inicial. E polling não é resposta de piada. Em um painel administrativo que eu construí, as atualizações importavam talvez uma vez por minuto, então um poll no foco da janela com um ETag foram umas quinze linhas de código, não custaram nada para operar, e nunca acordaram ninguém de madrugada. Eu prefiro gastar o orçamento de complexidade onde os usuários de fato sentem.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- Como você escalaria conexões WebSocket entre vários servidores?
- Como você entrega mensagens que um cliente perdeu enquanto estava desconectado?
- Como você autentica e autoriza uma conexão de socket?
Mais perguntas para Desenvolvedor Full Stack
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas