Todos os artigos
Carreira Internacional
System Design Interview: Como Estruturar a Resposta e Impressionar o Entrevistador
System design interview é obrigatória para cargos senior em Big Techs. Neste guia, explicamos como estruturar sua resposta em 4 etapas, os temas mais cobrados e dicas para se destacar mesmo sem experiência prévia.
Alexandre Queiroz26 de março de 202661 leituras
# System Design Interview: Como Estruturar a Resposta
Se você está se preparando para vagas de desenvolvedor senior em Big Techs, a system design interview provavelmente é o round que mais preocupa. E com razão — é a entrevista mais aberta, menos estruturada e com mais variáveis que qualquer outro round.
A boa notícia: tem uma estrutura que funciona bem em qualquer problema.
## O Que é e Por Que Importa
System design interview é um round de 45 a 60 minutos onde o entrevistador apresenta um problema aberto — "projete o Twitter", "como funciona o YouTube?", "design um sistema de notificações" — e você precisa propor uma arquitetura completa.
Esse tipo de entrevista avalia:
- Como você lida com ambiguidade
- Se você pensa em trade-offs antes de soluções
- Seu conhecimento de sistemas distribuídos e escalabilidade
- Como você comunica decisões técnicas complexas
Nas Big Techs, a system design é obrigatória a partir de L4/E4 (mid-level). Para senior e acima, ela frequentemente tem mais peso que o coding.
## A Estrutura em 4 Etapas
### 1. Clarify Requirements (5-10 min)
Nunca pule essa etapa. O entrevistador dá um problema propositalmente vago. Sua primeira tarefa é narrowar o escopo.
Perguntas para fazer:
- *Quantos usuários ativos por dia?*
- *Qual o SLA de disponibilidade (99.9%? 99.99%)?*
- *Leitura ou escrita é mais frequente?*
- *Precisamos de busca em tempo real ou pode ter latência?*
Defina o que você vai e o que NÃO vai construir. "Para este design, vou focar no core feed de publicações e não vou entrar em notificações ou sistemas de recomendação."
### 2. High-Level Design (10-15 min)
Esboce a arquitetura macro: clientes, CDN, load balancers, servidores de aplicação, bancos de dados, message queues.
Use o desenho para guiar a conversa — mesmo um sketch simples melhora muito a comunicação. Identifique os principais componentes e como eles se comunicam.
Estimativas de capacidade:
- 1M usuários × 10 requests/dia = 10M requests/dia = ~115 requests/segundo
- 115 rps × 1KB por request = 115KB/s (dados de tráfego)
### 3. Deep Dive (20-25 min)
Escolha 2-3 componentes críticos e entre em detalhes. O entrevistador vai guiar onde aprofundar, mas você pode propor: "Vou entrar nos detalhes do sistema de armazenamento de mídia primeiro — acho que é o maior bottleneck."
Temas comuns para deep dive:
- **Database design**: qual banco usar, schema, índices, sharding
- **Caching layer**: Redis, Memcached, o que cachear, invalidação
- **Message queue**: Kafka, RabbitMQ, quando usar
- **CDN e storage**: S3, CloudFront para assets
### 4. Bottlenecks e Melhorias (5-10 min)
Mostre que você pensa além do happy path:
- Onde está o gargalo do sistema?
- Como o sistema se comporta com 10x mais usuários?
- Quais são os single points of failure?
- Como garantir consistência eventual?
## Os Problemas Mais Cobrados
**URL Shortener (bit.ly)**: ótimo problema de entrada. Envolve hash de URLs, redirecionamento, analytics e escalabilidade de leitura.
**Design do Twitter/X**: feed cronológico ou personalizado, timeline, storage de tweets, mentions e hashtags.
**Sistema de Cache**: LRU cache, consistent hashing, cache invalidation strategies.
**Rate Limiter**: token bucket vs leaky bucket, sliding window, distribuição.
**Sistema de Notificações**: push, email, SMS, filas de processamento assíncrono.
## Erros Mais Comuns
**Pular para soluções sem entender o problema**: clarify antes de desenhar qualquer coisa.
**Não falar sobre trade-offs**: toda decisão técnica tem prós e contras. SQL vs NoSQL não tem resposta certa — depende do contexto.
**Propor infraestrutura over-engineered para o problema**: Kafka e microservices para um sistema com 1.000 usuários é exagero.
**Ficar travado em um componente**: se você está gastando 20 minutos no banco de dados, o entrevistador vai redirecionar. Esteja atento a esse sinal.
Pratique system design com o simulador da [VagaNaGringa.dev](https://vaganagringa.dev/mock-interview/) — o feedback da IA em português ajuda a identificar pontos cegos antes da entrevista real.
Prepare-se para vagas internacionais com IA
Começar Gratuitamente#system design#entrevista técnica#arquitetura de software#Big Tech#senior developer