17 / 19 Arquitetura de software na prática · 62 min de vídeo · atualizado em 13 out 2026

System Design: conceitos importantes para uma pessoa sênior

Defenda escolhas com requisitos mensuráveis, modos de falha, limites e custos de operação.

Fernanda Kipper
Fernanda Kipper
Próxima aula →

Uma decisão madura explica suas consequências

Uma proposta técnica deve conectar requisitos a mecanismos. Se a meta é manter leituras disponíveis durante falha de uma instância, réplicas atrás de um balanceador podem ajudar — mas só se sessões, dados e health checks permitirem. Se consistência imediata importa, cache ou replicação assíncrona pode ser inadequada.

“Escalável”, “resiliente” e “seguro” ganham sentido quando associados a um cenário. Pergunte qual operação, qual tráfego, qual falha, qual dado e qual tempo de recuperação. Em seguida descreva trade-offs, riscos e como observar a hipótese em produção.

Mostre o que você ainda não sabe

Boas revisões diferenciam fato, hipótese e decisão reversível. Faça uma previsão explícita, defina uma medida e reavalie quando a evidência mudar. Experiência sênior não elimina incerteza; torna a incerteza visível e gerenciável.

Recupere: que medida provaria que uma otimização realmente melhorou a operação?

Material complementar da Fernanda

  • Guia de System Design: requisitos e trade-offs — Use os casos como ponto de partida e justifique alternativas com números. As escolhas dos exemplos não são receitas universais; avalie também falhas, recuperação e operação.

Pratique com /aprender

/aprender Faça uma entrevista de System Design para um serviço de catálogo. Peça requisitos e números antes de propor arquitetura. Depois apresente alternativas com falhas e trade-offs, questione afirmações vagas e peça que eu defina como medir o resultado em produção.
A SEGUIR · AULA 18

Estudo de caso: arquitetura backend do Facebook

27 min de vídeo · Use um caso de feed social para discutir leitura, escrita, distribuição e o custo de fan-out.

Ir para a aula 18 →