Currículo
15 níveis · 275 capítulos. Os deep dives incluem diagramas, código, quizzes, treinos de falha e desafios.
Fundamentos
Os modelos mentais sobre os quais todo o resto é construído.
Escala Horizontal
Escala Vertical
Load Balancer
Proxy Reverso
Proxy de Encaminhamento
API Gateway
Serviços Stateless
Serviços Stateful
Monolith
Modular Monolith
Microsserviços
Descoberta de Serviços
Redes & Protocolos
Como os bytes realmente viajam entre as máquinas.
DNS
HTTP
HTTPS
HTTP/1.1
HTTP/2
HTTP/3
TCP
UDP
WebSockets
Server-Sent Events
Long Polling
Polling
REST
GraphQL
gRPC
RPC
API Versioning
Pagination
Cursor Pagination
Rate Limiting
Throttling
Backpressure
Bancos de Dados
Engines de armazenamento, índices, transações e replicação.
SQL vs NoSQL
Bancos Relacionais
Bancos de Documentos
Bancos Chave-Valor
Column-oriented Databases
Bancos de Grafos
Índices
Primary Index
Secondary Index
Composite Index
Covering Index
Database Query Optimization
Execution Plans
Transações
ACID
Níveis de Isolamento
MVCC
Locking Otimista vs Pessimista
Deadlocks
Replicação
Leader-Follower Replication
Multi-Leader Replication
Réplicas de Leitura
Particionamento
Sharding
Hashing Consistente
Database Federation
Desnormalização
Normalização
N+1 Query Problem
Pool de Conexões
Database Failover
Point-in-time Recovery
Caching
Deixar o caminho quente rápido sem enganar o usuário.
Fundamentos de Caching
Cache Local
Cache Distribuído
Redis
Memcached
Cache Aside
Read Through
Write Through
Write Behind
Write Around
Invalidação de Cache
Remoção de Itens do Cache
Cache Stampede
Cache Avalanche
Cache Penetration
Hot Keys
Distributed Cache Consistency
CDN
Browser Cache
HTTP Cache Headers
ETag
Sistemas Distribuídos
Coordenar máquinas que falham de forma independente.
Teorema CAP
Consistência Forte
Consistência Eventual
Causal Consistency
Transações Distribuídas
Two-Phase Commit
Consenso
Eleição de Líder
Quorum
Locks Distribuídos
Clock Synchronization
Logical Clocks
Vector Clocks
Split Brain
Partições de Rede
Distributed IDs
Snowflake IDs
Idempotência
Exactly Once Processing
At Least Once Delivery
At Most Once Delivery
Mensageria & Orientação a Eventos
Filas, brokers e arquiteturas assíncronas.
Fila de Mensagens
Message Broker
Kafka
RabbitMQ
Pub/Sub
Consumer Groups
Partições
Offsets
Acknowledgements
Retry (Novas Tentativas)
Backoff Exponencial
Dead Letter Queue
Poison Messages
Idempotent Consumers
Arquitetura Orientada a Eventos
Padrão Outbox
Inbox Pattern
Padrão Saga
Orchestration
Choreography
Event Sourcing
CQRS
Change Data Capture
Padrões de Arquitetura
Como estruturar o código para que ele sobreviva ao crescimento.
Arquitetura em Camadas
Clean Architecture
Arquitetura Hexagonal
Onion Architecture
DDD
Aggregates
Bounded Contexts
Anti-Corruption Layer
Repository Pattern
Unit of Work
Injeção de Dependência
SOLID
Microservices vs Modular Monolith
Serverless Architecture
Confiabilidade & Resiliência
Projetar para as falhas que vão acontecer — não para as que você gostaria.
Tolerância a Falhas
Alta Disponibilidade
Redundância
Failover
Degradação Graciosa
Timeouts
Retries (Novas Tentativas)
Jitter
Circuit Breaker
Bulkhead Pattern
Health Checks
Recuperação de Desastres
RTO
RPO
Arquitetura Multirregião
Active-Active
Active-Passive
Blue-Green Deployment
Canary Deployment
Feature Flags
Chaos Engineering
Segurança
Proteger dados, identidade e o perímetro.
Autenticação
Autorização
Sessões
Cookies
JWT
Refresh Tokens
OAuth 2.0
OpenID Connect
RBAC
ABAC
API Keys
Secrets Management
Criptografia em Repouso
Criptografia em Trânsito
Hashing
Salting
CORS
CSRF
XSS
SQL Injection
DDoS Basics
Zero Trust Concepts
Least Privilege
Observabilidade
Saber o que o seu sistema está fazendo em produção.
Logging
Logging Estruturado
Métricas
Tracing
Tracing Distribuído
Correlation ID
OpenTelemetry Concepts
Dashboards
Alertas
SLI
SLO
SLA
Error Budgets
Investigação de Incidentes
System Design de Frontend
Arquitetar o cliente com o mesmo rigor com que você arquiteta o servidor.
SPA
SSR vs CSR
SSG
ISR
React Architecture
React Server Components
Server Components vs Client Components
Frontend State Management
Server State
React Query Concepts
Optimistic Updates
Arquitetura de Componentes
Atomic Design
Micro-frontends
BFF — Backend for Frontend
Divisão de Código
Carregamento Sob Demanda
Core Web Vitals
Otimização de Imagens
Error Boundaries
Acessibilidade no Frontend
Estratégia de Testes no Frontend
Design Systems
Não é System Design — é construir a linguagem visual compartilhada de um produto.
O que é um Design System?
Design Tokens
Design System Architecture
Tipografia
Espaçamento
Grid
Breakpoints
Primitive Components
Composite Components
Component Variants
Controlled vs Uncontrolled Components
Headless Components
Temas
Versionamento
Semantic Versioning
Monorepos
Visual Regression Testing
Deprecation Strategy
Governança
Multi-brand Design Systems
Performance & Escalabilidade
Latência, throughput e como se planejar para o crescimento.
Latência
Throughput
Concorrência
CPU-bound Tasks
I/O-bound Tasks
Processamento Assíncrono
Processamento em Lote
Streaming
Compressão
Auto Scaling
Hot Partitions
Bottleneck Identification
Load Testing
Stress Testing
Planejamento de Capacidade
Estimativas
Contas de padeiro para entrevistas e planejamento de capacidade.
Preparação para Entrevistas
Transformar conhecimento em uma performance estruturada na entrevista.