Carregando
0x00Lição 1 de 13

Conduza uma entrevista de system design

Use um roteiro repetível para transformar um enunciado vago em um projeto que você consegue defender.

20 min Questionário com 6 perguntas
Ao final desta lição, você saberá
  • Dividir uma entrevista de 45 minutos em fases claras.
  • Separar os requisitos funcionais dos não funcionais.
  • Explicar por que cada componente deve corresponder a um requisito.

Uma entrevista de system design começa com um enunciado propositalmente vago, como “Projete um encurtador de URL”. Raramente existe uma única resposta certa. O entrevistador está observando como você lida com a ambiguidade, faz suposições razoáveis, comunica trade-offs e conduz a conversa até um projeto que funcione. Um roteiro repetível evita que você pule direto para caixas e setas.

Um roteiro que você pode reutilizar

  1. Esclareça os requisitos. Requisitos funcionais dizem o que o sistema faz (“usuários podem criar links curtos”). Requisitos não funcionais dizem quão bem ele precisa fazer isso: escala, latência, disponibilidade, consistência, durabilidade.
  2. Estime a escala. Requisições por segundo, armazenamento e largura de banda, aproximados - só o suficiente para orientar as decisões.
  3. Defina a API e o modelo de dados. Os principais endpoints e as principais entidades, com seus padrões de acesso.
  4. Esboce o projeto de alto nível. Clientes, balanceadores de carga, serviços, bancos de dados, caches e filas.
  5. Aprofunde. Escolha as partes mais difíceis (muitas vezes para onde o entrevistador leva você) e entre nos detalhes: gargalos, modos de falha, limites de escala.
  6. Feche. Resuma os trade-offs, o que pode falhar e o que você construiria em seguida.

Uma divisão de 45 minutos, como ponto de partida: requisitos 5 minutos, estimativa 5, API e modelo de dados 5, projeto de alto nível 10, aprofundamento 15, fechamento 5.

A divisão do tempo é um guia, não um roteiro fixo. Alguns entrevistadores pulam a estimativa; outros passam todo o aprofundamento em um único componente. O que importa é que você conduza a conversa, confirme com o entrevistador a cada transição (“Esse projeto de alto nível parece razoável antes de eu aprofundar?”) e se adapte quando ele mudar o rumo.

Prática: classifique os requisitos

Experimente

Até 15 XP

Funcional ou não funcional?

Pediram para você projetar um encurtador de URL. Separe o que você descobriu: o que o sistema faz e quão bem ele precisa fazer isso.

0 de 6 classificadosPontuação 0/0
  • “Os usuários podem criar um link curto.”

  • “Os redirecionamentos terminam em menos de 100 ms no p99.”

  • “Os links podem expirar.”

  • “O serviço tem 99,9% de disponibilidade.”

  • “Não dá para adivinhar os códigos curtos.”

  • “Os usuários podem escolher um alias personalizado.”

Prática: comece uma entrevista

Experimente

Até 15 XP

Os primeiros dez minutos

Os primeiros minutos dão o tom de toda a entrevista. Escolha o que você diria, depois recomece e tente outro caminho.

  1. EntrevistadorProjete um encurtador de URL.

O que você responde?

Principais conclusões

  • Esclareça os requisitos antes de desenhar qualquer coisa.

  • Requisitos funcionais são funcionalidades; requisitos não funcionais são qualidades como escala, latência e disponibilidade.

  • Conduza a conversa, diga suas suposições e confirme com o entrevistador entre as fases.

Quiz da aula

6 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…