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
Compartilhar:LinkedInXWhatsApp
# 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