Trilha de estudo
Trilha Design de Sistemas: tudo o que estudar, tópico por tópico
Avaliação abrangente de design de sistemas cobrindo levantamento de requisitos, escalabilidade, sistemas distribuídos, arquitetura de dados, padrões de projeto e engenharia em escala global.
Resposta curta
Para aprender Design de Sistemas, percorra 6 módulos e 69 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos e siga para Escalabilidade e Sistemas Distribuídos. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos8 tópicos
Levantamento de Requisitos
Requisitos funcionais vs não funcionais, estimativa de capacidade, definição de SLA e identificação de restrições
Objetivos
- Distinguir requisitos funcionais de não funcionais
- Realizar estimativas rápidas de capacidade
Conceitos-chave
- requisitos funcionais
- requisitos não funcionais
- estimativa de capacidade
- SLA/SLO/SLI
- cálculos de estimativa rápida
- identificação de restrições
Fundamentos de Design de API
Convenções REST, modelagem de recursos, métodos HTTP, códigos de status, versionamento e paginação
Objetivos
- Projetar APIs RESTful bem estruturadas
- Escolher métodos HTTP e códigos de status apropriados
Conceitos-chave
- princípios REST
- métodos HTTP
- códigos de status
- versionamento de API
- paginação
- limitação de taxa
- idempotência
Fundamentos de Modelagem de Dados
Relacionamentos entre entidades, normalização, desnormalização, design de esquema e fundamentos de indexação
Objetivos
- Projetar modelos de dados normalizados
- Identificar quando desnormalizar para melhorar o desempenho
Conceitos-chave
- relacionamentos entre entidades
- normalização
- desnormalização
- chaves primárias
- chaves estrangeiras
- indexação
- evolução de esquema
Fundamentos de Cache
Padrões cache-aside, write-through, write-behind, TTL, políticas de despejo e invalidação de cache
Objetivos
- Escolher a estratégia de cache adequada para cada caso de uso
- Compreender os desafios de invalidação de cache
Conceitos-chave
- cache-aside
- write-through
- write-behind
- TTL
- políticas de despejo (LRU, LFU)
- invalidação de cache
- Redis
- Memcached
Rate Limiting (Limitação de Taxa)
Proteção de APIs e recursos compartilhados contra tráfego excessivo com token bucket, leaky bucket, janela fixa e deslizante, contadores distribuídos, headers de rate limit e respostas HTTP 429
Objetivos
- Escolher e configurar um algoritmo de rate limiting (token bucket, leaky bucket, janela fixa ou deslizante) para uma API e um perfil de tráfego
- Projetar um rate limiter distribuído e o contrato HTTP (429, Retry-After, headers de rate limit) que permite aos clientes se comportarem bem sob limitação
Conceitos-chave
- token bucket
- leaky bucket
- contador de janela fixa
- janela deslizante
- rate limiting distribuído
- 429 Too Many Requests
- header Retry-After
- headers de rate limit
- capacidade de rajada
- load shedding (descarte de carga)
- backoff do cliente com jitter
- chaves de limite por cliente
Geração de IDs Únicos
Geração de identificadores globalmente únicos em sistemas distribuídos: versões de UUID, ticket servers em banco de dados, layouts de bits no estilo Snowflake, IDs ordenados por tempo e k-ordenáveis, e o papel dos relógios na ordenação
Objetivos
- Escolher entre UUIDs, um ticket server e um gerador no estilo Snowflake conforme os requisitos de escala, ordenação e tamanho
- Raciocinar sobre desvio de relógio, relógios que retrocedem e estouro de contador quando os IDs embutem um timestamp
Conceitos-chave
- versões de UUID
- ticket server
- layout de ID Snowflake
- IDs k-ordenáveis
- UUIDv7 ordenado por tempo
- desvio de relógio e relógios que retrocedem
- contador monotônico
- localidade de índice no banco de dados
- relógios lógicos
- atribuição de ID de worker
Estimativa de Capacidade
Estimativa de envelope (back-of-the-envelope) de taxa de requisições, armazenamento, banda e ordens de grandeza de latência, usada para dimensionar um sistema e checar um design antes de construí-lo.
Objetivos
- Transformar suposições de usuários e uso em QPS, armazenamento e banda, com premissas explícitas e defensáveis
- Usar ordens de grandeza de latência e a lei de Little para achar gargalos e dimensionar capacidade com folga
Conceitos-chave
- estimativa de envelope (back-of-the-envelope)
- QPS
- carga de pico
- estimativa de armazenamento
- estimativa de banda
- números de latência
- lei de Little
- folga de capacidade
- potências de dois
Tempo e Relógios
Por que os relógios em sistemas distribuídos derivam, saltam e discordam, e como relógio de parede versus monotônico, segundos bissextos, relógios lógicos, tempo com incerteza limitada como o TrueTime e a expiração de certificados moldam a correção de timeouts, leases, ordenação e transações.
Objetivos
- Distinguir tempo de relógio de parede de tempo monotônico e explicar por que desvio, saltos de relógio e segundos bissextos quebram código que mede durações, expira leases ou ordena eventos por timestamp
- Escolher entre relógios monotônicos, relógios lógicos, tempo de incerteza limitada com commit wait e automação do ciclo de vida de certificados para manter ordenação, timeouts e expiração corretos em um sistema distribuído
Conceitos-chave
- desvio e defasagem de relógio
- relógio de parede vs relógio monotônico
- ajuste abrupto do relógio pelo NTP
- segundos bissextos e leap smear
- relógios lógicos e acontece-antes
- intervalo de incerteza do TrueTime
- commit wait
- validade e expiração de certificados
- timeouts e leases baseados em relógios locais
- conflitos de timestamp com last-write-wins
2 · Escalabilidade8 tópicos
Escalabilidade Horizontal vs Vertical
Estratégias de scale-up vs scale-out, design stateless, gerenciamento de sessão e auto-scaling
Objetivos
- Explicar as vantagens e desvantagens entre escalabilidade horizontal e vertical
- Projetar serviços stateless para escalabilidade horizontal
Conceitos-chave
- escalabilidade vertical
- escalabilidade horizontal
- serviços stateless
- afinidade de sessão
- auto-scaling
- limites de escalabilidade
Balanceamento de Carga
Camada 4 vs camada 7, algoritmos (round-robin, menor conexões, hashing consistente) e verificações de saúde
Objetivos
- Escolher algoritmos de balanceamento de carga apropriados
- Projetar estratégias de verificação de saúde
Conceitos-chave
- balanceamento de carga L4 vs L7
- round-robin
- menor número de conexões
- hashing consistente
- verificações de saúde
- sessões fixas
- balanceamento de carga global
Sharding de Banco de Dados
Estratégias de sharding, chaves de shard, rebalanceamento, consultas entre shards e replicação
Objetivos
- Selecionar chaves de shard eficazes
- Lidar com desafios de consultas entre shards
Conceitos-chave
- sharding por faixa
- sharding por hash
- sharding por diretório
- seleção de chave de shard
- rebalanceamento
- junções entre shards
- replicação
CDN e Computação de Borda
Redes de distribuição de conteúdo, cache de borda, CDN push vs pull, proteção de origem e funções de borda
Objetivos
- Projetar estratégias de CDN para conteúdo estático e dinâmico
- Compreender as vantagens e desvantagens da computação de borda
Conceitos-chave
- arquitetura de CDN
- CDN push vs pull
- proteção de origem
- cache de borda
- funções de borda
- invalidação de cache
- roteamento geográfico
Monitoramento e Observabilidade
Verificações de saúde, coleta de métricas, rastreamento distribuído, agregação de logs, alertas, SLI/SLO/SLA e pilares de observabilidade
Objetivos
- Projetar uma estratégia abrangente de observabilidade usando os três pilares
- Definir SLIs e SLOs significativos para componentes do sistema
Conceitos-chave
- endpoints de verificação de saúde
- coleta de métricas
- rastreamento distribuído
- agregação de logs
- estratégias de alertas
- SLI/SLO/SLA
- sinais dourados
- pilares de observabilidade
Hashing Consistente
Como anéis de hash, nós virtuais e esquemas relacionados distribuem chaves por um conjunto variável de servidores com remapeamento mínimo, e como tratar hot spots, replicação e limites de carga em caches, stores particionados e balanceadores de carga.
Objetivos
- Explicar como um anel de hash e nós virtuais limitam a movimentação de chaves quando servidores entram ou saem, e aplicá-los a caches, shards e balanceadores de carga
- Diagnosticar desbalanceamento de carga e hot spots e escolher entre nós virtuais, slots de hash, jump consistent hash, carga limitada e hashing Maglev
Conceitos-chave
- anel de hash
- nós virtuais
- remapeamento mínimo de chaves
- desbalanceamento de carga e hot spots
- hashing consistente com carga limitada
- replicação nos nós sucessores
- jump consistent hash
- hashing Maglev
- slots de hash
- capacidade heterogênea dos nós
Conexões em Tempo Real
Como os servidores mantêm muitas conexões de longa duração abertas e enviam dados por elas: WebSocket, long polling e server-sent events, presença, distribuição (fan-out) de mensagens entre servidores que mantêm conexões, roteamento e comportamento de reconexão
Objetivos
- Escolher entre WebSocket, server-sent events e long polling para um requisito de tempo real
- Projetar um gateway de conexões, presença e um caminho de fan-out de mensagens que sobrevivam a falhas de nós e a tempestades de reconexão
Conceitos-chave
- WebSocket
- long polling
- server-sent events
- presença
- fan-out de conexões
- sessões fixas (sticky sessions)
- heartbeat e keepalive
- reconexão com retomada
- gateway de conexões
- backbone de pub/sub
DNS, BGP e Anycast na Entrada de Tráfego
Como a resolução de DNS, o cache, o GeoDNS, os anúncios de rotas BGP e o anycast decidem como o tráfego dos usuários chega a um sistema, e como falhas em nomes ou rotas podem tirar um serviço saudável da internet.
Objetivos
- Explicar como o cache de DNS, o GeoDNS, o anycast e os anúncios BGP direcionam usuários a um site, e o que cada mecanismo consegue ou não controlar
- Analisar quedas causadas por rotas retiradas, registros DNS quebrados ou mudanças de rede inseguras, e projetar camadas de entrada de tráfego com salvaguardas, mudanças em etapas e um caminho de recuperação que não dependa do sistema que falhou
Conceitos-chave
- resolução de DNS e cache por TTL
- resolvers autoritativos e recursivos
- cache negativo
- serve-stale
- anúncio e retirada de prefixos BGP
- anycast
- GeoDNS e EDNS Client Subnet
- failover de DNS por health check
- amplificação de retentativas
- acesso fora de banda
- salvaguardas de automação de DNS
3 · Sistemas Distribuídos11 tópicos
Teorema CAP
Compromissos entre consistência, disponibilidade e tolerância a partições, PACELC e consistência eventual
Objetivos
- Aplicar o teorema CAP em decisões reais de sistemas
- Escolher entre consistência e disponibilidade para casos de uso específicos
Conceitos-chave
- consistência
- disponibilidade
- tolerância a partições
- teorema PACELC
- consistência eventual
- consistência forte
- linearizabilidade
Algoritmos de Consenso
Paxos, Raft, eleição de líder, replicação baseada em quórum e prevenção de split-brain
Objetivos
- Explicar a eleição de líder e replicação de log no Raft
- Projetar sistemas que tolerem falhas do líder
Conceitos-chave
- Paxos
- Raft
- eleição de líder
- quórum
- split-brain
- tokens de barreira
- números de termo/época
Transações Distribuídas
Two-phase commit, padrão saga, transações compensatórias, idempotência e padrão outbox
Objetivos
- Projetar sagas para transações entre múltiplos serviços
- Implementar operações idempotentes
Conceitos-chave
- two-phase commit
- padrão saga
- transações compensatórias
- chaves de idempotência
- padrão outbox
- semântica exactly-once
Filas de Mensagens
Pub/sub, ponto a ponto, Kafka, RabbitMQ, SQS, garantias de ordenação e filas de mensagens mortas
Objetivos
- Escolher entre tecnologias de filas de mensagens
- Projetar comunicação assíncrona confiável entre serviços
Conceitos-chave
- pub/sub
- ponto a ponto
- Kafka
- RabbitMQ
- SQS/SNS
- garantias de ordenação
- filas de mensagens mortas
- contrapressão
Padrões de Consistência
Consistência forte vs eventual, consistência causal, linearizabilidade, leituras/escritas por quórum e compromissos entre consistência e disponibilidade
Objetivos
- Escolher o modelo de consistência adequado para cada caso de uso
- Implementar garantias de leitura das próprias escritas e consistência causal
Conceitos-chave
- consistência forte
- consistência eventual
- consistência causal
- linearizabilidade
- leitura das próprias escritas
- consistência baseada em quórum
- compromisso entre consistência e disponibilidade
Padrões de Disponibilidade
Topologias ativo-ativo e ativo-passivo, estratégias de replicação, failover, verificações de saúde, degradação graciosa e disjuntores
Objetivos
- Projetar sistemas de alta disponibilidade usando replicação e failover
- Implementar padrões de degradação graciosa e disjuntor
Conceitos-chave
- ativo-ativo
- ativo-passivo
- replicação líder-seguidor
- replicação multilíder
- estratégias de failover
- verificações de saúde
- degradação graciosa
- padrão disjuntor
Protocolos de Comunicação
REST vs RPC, gRPC, WebSocket, Server-Sent Events, GraphQL, message brokers e padrões de API gateway
Objetivos
- Selecionar o protocolo de comunicação adequado para requisitos específicos do sistema
- Projetar estratégias de comunicação híbridas combinando padrões síncronos e assíncronos
Conceitos-chave
- REST vs RPC
- protocolo gRPC
- WebSocket
- Server-Sent Events
- GraphQL
- message brokers
- protocol buffers
- padrões de API gateway
Operações Idempotentes
Chaves de idempotência, entrega ao menos uma vez, semântica exactly-once, deduplicação, idempotência de métodos HTTP e segurança de retentativa
Objetivos
- Projetar APIs e operações idempotentes para sistemas distribuídos
- Implementar estratégias de deduplicação para processamento confiável de mensagens
Conceitos-chave
- definição de idempotência
- chaves de idempotência
- entrega ao menos uma vez
- semântica exactly-once
- estratégias de deduplicação
- idempotência de métodos HTTP
- upserts em banco de dados
- segurança de retentativa
Replicação sem Líder
Replicação sem um líder designado: quóruns de leitura/escrita ajustáveis, quórum relaxado (sloppy quorum) com hinted handoff, vector clocks para detectar conflitos, membership por gossip e anti-entropia com Merkle trees
Objetivos
- Escolher N, R e W para um armazenamento sem líder e explicar o que a escolha garante e o que não garante
- Explicar como hinted handoff, read repair e a anti-entropia com Merkle trees mantêm as réplicas convergindo, e como vector clocks expõem escritas concorrentes
Conceitos-chave
- replicação sem líder
- leituras e escritas com quórum
- sloppy quorum (quórum relaxado)
- hinted handoff
- vector clocks
- reconciliação de conflitos
- last write wins (a última escrita vence)
- read repair
- anti-entropia
- Merkle trees
- protocolo gossip
- lista de preferência
Agendamento de Jobs
Executar trabalho mais tarde ou periodicamente em muitas máquinas: cron distribuído, filas atrasadas, visibility timeout, entrega at-least-once e deduplicação para que retentativas e failovers permaneçam seguros
Objetivos
- Projetar um agendador periódico que sobreviva a falhas de máquinas e de líder sem pular nem disparar jobs em duplicidade silenciosamente
- Escolher configurações de fila atrasada, visibility timeout, retentativa e deduplicação que mantenham seguro o processamento at-least-once de jobs
Conceitos-chave
- cron distribuído
- filas atrasadas
- visibility timeout
- entrega at-least-once
- deduplicação
- jobs idempotentes
- eleição de líder
- identidade do disparo do job
- política de execuções perdidas
- política de concorrência
- dead-letter queues
- thundering herd
Locks Distribuídos
Como leases, fencing tokens e serviços de lock apoiados em consenso, como Chubby, ZooKeeper e etcd, dão exclusão mútua entre máquinas, e por que pausas de processo, atrasos de rede e erros de relógio tornam locks baseados em timeout inseguros, a menos que o recurso protegido os verifique.
Objetivos
- Explicar por que um lease sozinho não garante exclusão mútua quando clientes pausam ou mensagens atrasam, e usar fencing tokens verificados pelo recurso protegido para fechar essa brecha
- Escolher e projetar um mecanismo de lock (store de um único nó, Redlock ou um serviço apoiado em consenso como Chubby, ZooKeeper ou etcd) separando locks de eficiência de locks de corretude e raciocinando sobre relógios, sessões e failover
Conceitos-chave
- lock distribuído
- lease e expiração
- fencing token
- pausas de processo
- serviço de lock
- nós efêmeros sequenciais
- deriva de relógio e relógios monotônicos
- locks de eficiência versus locks de corretude
- Redlock
- sessões e keep-alive
- sequencer e lock-delay
4 · Sistemas de Dados12 tópicos
Seleção de Banco de Dados
SQL vs NoSQL, bancos de documentos, chave-valor, família de colunas, bancos de grafos e persistência poliglota
Objetivos
- Selecionar o tipo de banco de dados adequado para cargas de trabalho específicas
- Projetar estratégias de persistência poliglota
Conceitos-chave
- SQL vs NoSQL
- bancos de documentos
- bancos chave-valor
- família de colunas
- bancos de grafos
- persistência poliglota
- ACID vs BASE
Pipelines de Dados
Processamento em lote vs em fluxo, ETL/ELT, arquitetura Lambda/Kappa, data lakes e data warehouses
Objetivos
- Projetar pipelines de dados de ponta a ponta
- Escolher entre processamento em lote e em fluxo
Conceitos-chave
- processamento em lote
- processamento em fluxo
- ETL vs ELT
- arquitetura Lambda
- arquitetura Kappa
- data lake
- data warehouse
Sistemas de Busca
Índices invertidos, Elasticsearch, busca de texto completo, algoritmos de ranqueamento e relevância de busca
Objetivos
- Projetar infraestrutura de busca para grandes conjuntos de dados
- Ajustar a relevância e o ranqueamento de busca
Conceitos-chave
- índice invertido
- Elasticsearch
- busca de texto completo
- TF-IDF
- BM25
- tokenização
- ajuste de relevância
- busca facetada
Dados de Séries Temporais
Bancos de dados de séries temporais, redução de amostragem, políticas de retenção, InfluxDB, Prometheus e agregação de métricas
Objetivos
- Projetar armazenamento de séries temporais para sistemas de monitoramento
- Implementar políticas eficientes de retenção e agregação
Conceitos-chave
- bancos de séries temporais
- redução de amostragem
- políticas de retenção
- InfluxDB
- Prometheus
- agregação de métricas
- compactação
Livro-razão e Conciliação
Partidas dobradas, livros-razão imutáveis somente de inserção, lançamentos idempotentes e conciliação dos registros internos com os dados de liquidação do provedor de serviços de pagamento
Objetivos
- Modelar a movimentação de dinheiro como lançamentos contábeis balanceados e imutáveis e derivar os saldos a partir deles
- Projetar lançamentos idempotentes e a conciliação com os dados de liquidação do PSP, corrigindo erros com lançamentos compensatórios
Conceitos-chave
- partidas dobradas
- lançamentos contábeis
- transações balanceadas
- livro-razão append-only
- lançamentos compensatórios
- derivação de saldo
- chaves de idempotência
- contas de compensação (clearing)
- conciliação com o PSP
- relatórios de liquidação
Concorrência em Reservas
Como impedir que dois compradores fiquem com o mesmo assento, quarto ou unidade de estoque: escritas condicionais atômicas, lock otimista e pessimista, restrições que rejeitam sobreposições e holds com prazo que expiram e liberam com segurança.
Objetivos
- Explicar por que a lógica verificar-e-depois-escrever causa dupla reserva e venda acima do estoque, e preveni-las com atualizações condicionais atômicas, restrições e lock otimista ou pessimista
- Projetar holds de reserva com prazo cuja expiração, liberação, confirmação e novas tentativas permaneçam corretas diante de falhas, pausas e requisições duplicadas
Conceitos-chave
- dupla reserva
- venda acima do estoque
- atualização condicional atômica
- lock otimista
- lock pessimista
- nova tentativa em caso de conflito
- hold de reserva com TTL
- expiração e liberação do hold
- restrição de exclusão
- fencing token
- confirmação idempotente
Migração Online de Dados
Como mover dados em produção para um novo esquema ou datastore sem downtime nem perda: dupla escrita, backfill, shadow reads, verificação, cutover e rollback, e como sequenciá-los para que cada etapa permaneça reversível.
Objetivos
- Sequenciar uma migração online em dupla escrita, backfill, verificação, troca de leitura, troca de escrita e limpeza, mantendo cada etapa reversível
- Escolher como manter os stores antigo e novo sincronizados, verificá-los com shadow reads e projetar o cutover e o rollback para que uma falha não perca nem corrompa dados
Conceitos-chave
- dupla escrita
- backfill
- shadow reads
- expandir e contrair
- cutover
- caminho de rollback
- verificação de dados
- log de auditoria e catch-up
- fonte da verdade
- escritas idempotentes e versionadas
Edição colaborativa
Como edições concorrentes em um documento compartilhado convergem em todos os clientes: transformação operacional versus CRDTs, last-writer-wins por propriedade, ordenação por servidor central, tombstones, estrutura de árvore e de sequência, e reconciliação offline.
Objetivos
- Explicar como a transformação operacional e os CRDTs fazem as réplicas convergirem preservando a intenção do usuário, e escolher entre eles para texto, documentos estruturados e uso offline
- Projetar sincronização last-writer-wins por propriedade com servidor central, incluindo aplicação local otimista, exclusões, desfazer, ordenação de filhos e reconexão
Conceitos-chave
- transformação operacional
- CRDT
- convergência
- preservação da intenção
- ordenação causal
- registrador last-writer-wins
- resolução de conflitos por propriedade
- ordenação por servidor central
- tombstones
- indexação fracionária
- aplicação local otimista
- edição offline e reconexão
- semânticas add-wins e remove-wins
- reparentamento de árvore sem ciclos
Feeds e Fan-out
Como montar timelines e feeds de notícias para muitos leitores: fan-out na escrita versus fan-out na leitura, os problemas da celebridade e da hot key, timelines híbridas, caches de feed pré-computados, workers assíncronos de fan-out e a etapa de ranking sobre os posts candidatos.
Objetivos
- Comparar fan-out na escrita e fan-out na leitura para um feed e explicar por que uma timeline híbrida, que trata contas com muitos seguidores de forma diferente, costuma ser a resposta
- Projetar o caminho de escrita (fila, workers de fan-out, cache de feed limitado), o caminho de leitura (merge, hidratação, ranking) e a proteção contra hot keys e anomalias de ordenação
Conceitos-chave
- fan-out na escrita
- fan-out na leitura
- problema da celebridade
- timeline híbrida
- cache de feed pré-computado
- workers assíncronos de fan-out
- hot key
- geração de candidatos e ranking
- hidratação do feed
- anomalias de ordenação no fan-out
- reconstrução do cache de feed
Motores de Armazenamento
Como bancos de dados organizam os dados em disco e os mantêm duráveis e consistentes: projetos B-tree e LSM-tree, write-ahead log, memtables, SSTables e compactação, amplificação de escrita, leitura e espaço, e controle de concorrência multiversão, além de como escolher um motor para cada carga de trabalho.
Objetivos
- Explicar como motores B-tree e LSM-tree tratam escritas, leituras e durabilidade, incluindo os papéis do write-ahead log, da memtable, das SSTables, da compactação e dos filtros de Bloom
- Raciocinar sobre amplificação de escrita, leitura e espaço e sobre a limpeza de versões do MVCC para escolher e ajustar um motor de armazenamento para uma carga de trabalho e diagnosticar problemas de latência no nível do motor
Conceitos-chave
- B-tree
- LSM tree
- write-ahead log
- memtable e SSTables
- estratégias de compactação
- amplificação de escrita
- amplificação de leitura e de espaço
- filtros de Bloom
- MVCC
- tombstones e exclusões
Indexação Geoespacial
Como geohash, quadtrees e os sistemas de células S2 e H3 transformam localizações em identificadores de células indexáveis, de modo que a busca por proximidade vire um punhado de consultas por chave, e como tratar bordas de células, densidade desigual, escolha de resolução e particionamento de dados espaciais.
Objetivos
- Explicar como geohash, quadtrees, células S2 e células H3 mapeiam coordenadas em identificadores hierárquicos de células, e transformar uma consulta por raio em consultas às células vizinhas seguidas de um filtro de distância exata
- Diagnosticar erros de borda, células quentes e erros de resolução, e escolher e particionar um índice espacial para uma carga de trabalho dada
Conceitos-chave
- geohash
- quadtree
- células S2
- grade hexagonal H3
- curva de preenchimento do espaço
- consulta de células vizinhas
- cobertura de células
- busca por proximidade
- efeitos de borda
- subdivisão adaptativa
- célula quente e assimetria de densidade
- escolha da resolução do índice
Estruturas de Dados Probabilísticas
Como Bloom filters, HyperLogLog e Count-Min Sketch respondem a perguntas de pertinência, contagem de distintos e frequência com memória pequena e fixa ao aceitar um erro controlado, e como dimensioná-los, combiná-los e decidir onde a aproximação é segura em sistemas reais.
Objetivos
- Explicar as garantias e a direção do erro de Bloom filters, HyperLogLog e Count-Min Sketch, e dimensionar cada um a partir da precisão e da memória que o sistema pode pagar
- Decidir onde uma estrutura aproximada é segura em produção (pular trabalho, dashboards, heavy hitters) e onde a exatidão é obrigatória, incluindo combinação, remoção e qualidade da função de hash
Conceitos-chave
- Bloom filter
- taxa de falsos positivos
- sem falsos negativos
- counting Bloom filter
- dimensionamento a partir do erro-alvo
- HyperLogLog
- estimativa de cardinalidade
- erro padrão
- capacidade de combinação (merge)
- Count-Min Sketch
- superestimação unilateral
- consulta pontual e heavy hitters
- qualidade da função de hash
- trade-off entre erro e memória
5 · Padrões de Arquitetura9 tópicos
Microsserviços vs Monólito
Decomposição de serviços, contextos delimitados, API gateways, service mesh e estratégias de migração
Objetivos
- Decidir quando microsserviços agregam valor em relação a um monólito
- Planejar uma migração de monólito para microsserviços
Conceitos-chave
- monólito
- microsserviços
- decomposição de serviços
- API gateway
- service mesh
- contexto delimitado
- padrão strangler fig
CQRS e Event Sourcing
Separação de comandos e consultas, armazenamento de eventos, projeções, snapshots e consultas temporais
Objetivos
- Projetar arquiteturas CQRS/ES para casos de uso apropriados
- Implementar projeções de armazenamento de eventos
Conceitos-chave
- CQRS
- event sourcing
- armazenamento de eventos
- projeções
- snapshots
- consultas temporais
- consistência eventual
Design Orientado a Domínio
Contextos delimitados, agregados, eventos de domínio, linguagem ubíqua e mapeamento de contextos
Objetivos
- Aplicar DDD para decompor domínios complexos
- Projetar camadas anticorrupção entre contextos delimitados
Conceitos-chave
- contexto delimitado
- agregado
- evento de domínio
- linguagem ubíqua
- mapa de contextos
- camada anticorrupção
- kernel compartilhado
Arquitetura Serverless
FaaS, padrões orientados a eventos, cold starts, funções de orquestração e armazenamento serverless
Objetivos
- Projetar arquiteturas serverless evitando armadilhas comuns
- Avaliar serverless vs contêineres para cargas de trabalho específicas
Conceitos-chave
- FaaS
- arquitetura orientada a eventos
- cold starts
- funções de orquestração
- bancos de dados serverless
- dependência de fornecedor
- modelagem de custos
Antipadrões de Desempenho
Erros comuns de desempenho incluindo consultas N+1, I/O excessivo, ausência de cache, gargalos síncronos e thundering herd
Objetivos
- Identificar e corrigir antipadrões de desempenho comuns em designs de sistemas
- Distinguir otimização prematura de trabalho de desempenho necessário
Conceitos-chave
- problema de consulta N+1
- I/O excessivo
- ausência de estratégia de cache
- gargalos síncronos
- filas sem limite
- ausência de paginação
- busca excessiva de dados
- indexação inadequada
- otimização prematura
- thundering herd
Padrões de Design para Nuvem
Ambassador, sidecar, strangler fig, bulkhead, saga, implementação de CQRS, event sourcing e padrões de retentativa para sistemas nativos de nuvem
Objetivos
- Aplicar padrões de design de nuvem para resolver desafios específicos de sistemas distribuídos
- Escolher o padrão adequado com base nos requisitos e restrições do sistema
Conceitos-chave
- padrão ambassador
- padrão sidecar
- strangler fig
- padrão bulkhead
- padrão saga
- implementação de CQRS
- padrão event sourcing
- retentativa com backoff exponencial
Controle de sobrecarga
Manter um serviço útil quando a demanda excede a capacidade: contrapressão, descarte de carga, orçamentos de retries, falhas metaestáveis e prevenção de manadas durante a recuperação.
Objetivos
- Projetar proteção de sobrecarga em camadas, usando contrapressão, controle de admissão e descarte de carga, para que o serviço mantenha seu goodput sob excesso de demanda
- Limitar a amplificação de retries com orçamentos de retries, backoff com jitter e uma única camada de retry, e diagnosticar e recuperar falhas metaestáveis sem causar uma manada durante a recuperação
Conceitos-chave
- contrapressão (backpressure)
- descarte de carga (load shedding)
- goodput vs throughput
- controle de admissão
- orçamento de retries
- backoff exponencial com jitter
- falha metaestável
- falha em cascata
- manada (thundering herd)
- priorização de requisições
- propagação de deadline
- throttling adaptativo no cliente
- gerenciamento de filas
Arquitetura Celular
Particionar um sistema em células (ou pods) isoladas e independentes e usar shuffle sharding para reduzir o raio de impacto das falhas, com uma camada de roteamento fina e uma separação clara entre plano de controle e plano de dados.
Objetivos
- Projetar arquiteturas baseadas em células e com shuffle sharding que limitam o raio de impacto de falhas e mudanças ruins
- Separar o plano de controle do plano de dados e manter o plano de dados estaticamente estável durante falhas do plano de controle
Conceitos-chave
- arquitetura baseada em células
- roteador de células
- chave de partição
- raio de impacto
- shuffle sharding
- isolamento por compartimentos (bulkhead)
- plano de controle vs plano de dados
- estabilidade estática
- requisição venenosa (poison pill)
- dimensionamento de células
Implantação Segura
Como levar mudanças de código, configuração e dados para produção com raio de impacto limitado: releases blue-green, graduais (rolling) e canary, feature flags e kill switches, rollback automático, bake time, mudanças retrocompatíveis e implantações escalonadas por região, zona e célula.
Objetivos
- Explicar como releases blue-green, graduais e canary, feature flags e kill switches limitam o raio de impacto de uma mudança ruim, e quando escolher cada um
- Projetar um pipeline de implantação com ondas escalonadas, análise de canário, bake time, rollback automático e mudanças retrocompatíveis em duas fases, tratando configuração e dados com o mesmo cuidado que o código
Conceitos-chave
- implantação blue-green
- implantação gradual (rolling)
- canary release
- análise do canário contra um grupo de controle
- feature flags
- kill switch
- rollback automático
- bake time (tempo de observação)
- ondas escalonadas por região, zona e célula
- implantação em duas fases com compatibilidade retroativa
- mudanças de esquema do tipo expandir e contrair
- raio de impacto
- configuração e dados como implantações
6 · Design Especialista21 tópicos
Sistemas em Escala Global
Projetando para bilhões de usuários, particionamento de dados em escala, consenso global e arquiteturas de borda
Objetivos
- Projetar sistemas que atendam bilhões de usuários globalmente
- Resolver conflitos de dados entre regiões
Conceitos-chave
- particionamento global
- soberania de dados
- roteamento geográfico
- arquitetura de borda
- consenso global
- resolução de conflitos (CRDTs)
Arquitetura Multirregião
Ativo-ativo, ativo-passivo, replicação de dados, otimização de latência e estratégias de failover
Objetivos
- Projetar implantações multirregião ativo-ativo
- Otimizar a replicação de dados entre regiões
Conceitos-chave
- ativo-ativo
- ativo-passivo
- replicação entre regiões
- otimização de latência
- failover
- roteamento baseado em DNS
- isolamento de região
Recuperação de Desastres
RPO/RTO, estratégias de backup, engenharia do caos, runbooks e planejamento de continuidade de negócios
Objetivos
- Projetar planos de recuperação de desastres com metas específicas de RPO/RTO
- Implementar práticas de engenharia do caos
Conceitos-chave
- RPO
- RTO
- estratégias de backup
- engenharia do caos
- runbooks
- continuidade de negócios
- testes de failover
Otimização de Custos em Escala
Modelagem de custos, capacidade reservada, instâncias spot, dimensionamento adequado e práticas de FinOps
Objetivos
- Otimizar custos de nuvem sem sacrificar a confiabilidade
- Implementar práticas de FinOps para equipes de engenharia
Conceitos-chave
- modelagem de custos
- capacidade reservada
- instâncias spot
- dimensionamento adequado
- FinOps
- alocação de custos
- métricas de eficiência
Design de Sistemas de ML
Projetando sistemas de ML de ponta a ponta: feature stores, pipelines de treinamento, infraestrutura de servir modelos e gerenciamento do ciclo de vida de modelos
Objetivos
- Projetar plataformas de ML de ponta a ponta cobrindo engenharia de features, treinamento e servir modelos
- Prevenir desvio entre treinamento e servir, e implementar monitoramento de modelos em sistemas de ML em produção
Conceitos-chave
- feature store
- pipelines de treinamento
- registro de modelos
- servir online/em lote
- desvio de features
- versionamento de dados
- monitoramento de modelos
Design para Conformidade Regulatória
Construindo sistemas em conformidade com GDPR, PCI-DSS, SOC 2 e HIPAA -- dos fluxos de dados às trilhas de auditoria
Objetivos
- Projetar arquiteturas de dados que atendam aos requisitos de direito ao esquecimento e residência de dados do GDPR
- Implementar isolamento de zonas PCI DSS e trilhas de auditoria para sistemas de pagamento e saúde
Conceitos-chave
- residência de dados
- direito ao esquecimento
- logs de auditoria
- zonas PCI DSS
- proteção de dados de saúde
- gerenciamento de consentimento
- linhagem de dados
Práticas de Engenharia do Caos
Projetando e executando experimentos de caos para descobrir proativamente fraquezas do sistema antes que causem incidentes em produção
Objetivos
- Projetar e executar experimentos de caos com hipóteses de estado estacionário definidas e limites de raio de explosão
- Construir um programa de engenharia do caos que valide sistematicamente as premissas de resiliência do sistema
Conceitos-chave
- hipótese de estado estacionário
- raio de explosão
- chaos monkey
- injeção de falhas
- dias de simulação
- análise de modos de falha
- validação de resiliência
Arquitetura de Análise em Tempo Real
Projetando sistemas de análise em tempo real usando processamento em fluxo, CQRS e arquiteturas lambda/kappa
Objetivos
- Projetar arquiteturas de análise em tempo real usando padrões kappa ou lambda para casos de uso apropriados
- Implementar pipelines de processamento em fluxo com semântica exactly-once e estratégias de janelamento
Conceitos-chave
- kappa vs lambda
- processamento em fluxo
- CQRS
- event sourcing
- visões materializadas
- Flink/Kafka Streams
- OLAP vs OLTP
Engenharia de Custos e FinOps
Projetando arquiteturas eficientes em custo: economia unitária, dimensionamento adequado, instâncias spot e padrões de colaboração FinOps
Objetivos
- Projetar arquiteturas com eficiência de custos como característica arquitetural de primeira classe
- Implementar práticas de FinOps incluindo economia unitária, showback e detecção automatizada de desperdício
Conceitos-chave
- economia unitária
- custo por transação
- instâncias spot
- capacidade reservada
- identificação de desperdício
- showback/chargeback
- modelo de equipe FinOps
Entrega de Blobs e Vídeo
Como objetos binários grandes e vídeo trafegam do cliente ao armazenamento e de volta: uploads multipart e retomáveis, pipelines de transcodificação, streaming adaptativo via HLS ou DASH, hierarquias de cache em CDN e armazenamento de objetos que equilibra custo de metadados, durabilidade e temperatura de acesso.
Objetivos
- Projetar o caminho de upload de blobs grandes e vídeo com URLs pré-assinadas, transferência multipart ou retomável e limpeza de uploads abandonados, alimentando um pipeline assíncrono de transcodificação
- Projetar o caminho de entrega com streaming adaptativo segmentado, uma CDN em camadas com coalescência de requisições ou preenchimento proativo, e camadas de armazenamento de objetos que equilibram custo de metadados, sobrecarga de durabilidade e vazão de leitura
Conceitos-chave
- upload multipart
- URLs pré-assinadas
- uploads retomáveis
- limpeza de uploads abandonados
- pipeline de transcodificação
- streaming com taxa de bits adaptativa
- segmentos e playlists HLS
- hierarquia de cache da CDN
- coalescência de requisições
- preenchimento proativo de cache
- camadas de blobs quentes e mornos
- erasure coding
- sobrecarga de metadados de objetos
Sistemas de Recomendação: Retrieval e Ranking
Como recomendadores em larga escala reduzem um catálogo enorme com a geração de candidatos e depois ordenam uma lista curta com um ranker, e como lidar com feedback implícito, cold start, objetivos, combinação de fontes de candidatos e avaliação offline versus online.
Objetivos
- Explicar e projetar um recomendador em múltiplos estágios: geração de candidatos com embeddings e busca aproximada de vizinhos mais próximos, seguida de um ranker rico em features, e escolher um objetivo de ranking alinhado à meta do produto
- Tratar feedback implícito, cold start, amostragem de negativos, frescor e combinação de fontes de candidatos, e avaliar mudanças com métricas offline e experimentos online sem ser enganado por loops de retroalimentação
Conceitos-chave
- geração de candidatos
- ranking em múltiplos estágios
- embeddings de usuário e item
- busca aproximada de vizinhos mais próximos
- feedback implícito
- cold start
- filtragem colaborativa item a item
- memorização e generalização
- amostragem de negativos
- objetivo de ranking
- avaliação offline e online
- frescor e idade do exemplo
- combinação de fontes de candidatos
Embeddings e Busca Vetorial
Como a recuperação baseada em embeddings é servida em produção: índices de vizinhos mais próximos aproximados (famílias de grafo, arquivo invertido e quantização), o trade-off entre recall e latência, manter índices atualizados sob inserções, remoções e trocas de modelo, e combinar busca vetorial com filtros e correspondência de termos.
Objetivos
- Escolher e ajustar um índice de vizinhos mais próximos aproximados (grafo, arquivo invertido, quantizado) conforme meta de recall, orçamento de latência e de memória, medindo o recall contra a verdade exata
- Projetar a operação de busca vetorial para continuar correta sob inserções, remoções, trocas do modelo de embeddings e filtros de metadados, com monitoramento que detecta a deriva de recall
Conceitos-chave
- busca aproximada de vizinhos mais próximos
- trade-off entre recall e latência
- índice em grafo HNSW
- IVF e clusterização grosseira
- quantização de produto
- quantização anisotrópica
- atualizações e remoções no índice
- busca híbrida com filtros
- métrica de similaridade e normalização
- versionamento do modelo de embeddings
- consumo de memória e disco
Serving de LLMs
Como servidores de inferência de LLMs agrupam requisições no nível da iteração, gerenciam o KV cache com memória paginada, separam prefill de decode, enviam tokens em streaming aos clientes e equilibram tempo até o primeiro token, latência por token e throughput em GPUs.
Objetivos
- Explicar como prefill, decode, KV cache, batching contínuo e PagedAttention determinam o uso de memória da GPU, o throughput e a latência em um sistema de serving de LLMs, e enviar tokens aos clientes em streaming de forma confiável
- Projetar e revisar arquiteturas de serving de LLMs escolhendo entre chunked prefill, desagregação de prefill e decode, compartilhamento de prefixo e políticas de preempção diante de metas de TTFT, TPOT e goodput
Conceitos-chave
- fases de prefill e decode
- KV cache
- batching contínuo
- PagedAttention
- tempo até o primeiro token (TTFT)
- tempo por token de saída (TPOT)
- throughput versus latência
- goodput sob SLOs
- chunked prefill
- desagregação de prefill e decode
- streaming de tokens
- compartilhamento de prefixo
- preempção e remoção de KV
- orçamento de memória da GPU
Geração Aumentada por Recuperação (RAG)
Como projetar sistemas de geração aumentada por recuperação de ponta a ponta: ingestão e divisão de documentos em chunks, recuperação híbrida com fusão e reranking, respostas fundamentadas e citadas, avaliação de qualidade e manutenção de um índice atualizado e com controle de acesso.
Objetivos
- Projetar um pipeline de RAG da ingestão e divisão em chunks até a recuperação híbrida, fusão, reranking e montagem do contexto, justificando cada etapa pela falha que ela evita
- Tornar as respostas verificáveis e operáveis: fundamentá-las e citá-las, avaliar recuperação e geração separadamente e manter o índice atualizado, versionado e atento a permissões
Conceitos-chave
- divisão de documentos em chunks
- embeddings e índice vetorial
- recuperação híbrida (BM25 mais embeddings)
- fusão de rankings
- reranking
- recuperação contextual
- orçamento da janela de contexto
- citações e fundamentação
- avaliação de fidelidade
- recall e precisão da recuperação
- atualizações incrementais do índice
- troca a quente do índice
- filtragem por controle de acesso
Arquiteturas de Modelos Generativos
Como transformers e atenção, tokenização, janela de contexto e modelos de difusão funcionam por dentro e o que isso implica para o desenho de sistemas que servem modelos generativos: latência, memória, custo e qualidade.
Objetivos
- Explicar como autoatenção, atenção multi-cabeça, codificação posicional e decodificação autorregressiva fazem um transformer gerar texto, e como tokenização e janela de contexto limitam custo e entrada
- Analisar as implicações de sistema de LLMs e modelos de difusão, incluindo KV cache, custo da atenção, contexto longo, difusão latente, guidance e passos de amostragem, para escolher arquitetura e dimensionar o serviço
Conceitos-chave
- autoatenção
- atenção multi-cabeça
- codificação posicional
- encoder-decoder vs somente decoder
- decodificação autorregressiva
- KV cache
- atenção multi-consulta
- tokenização por subpalavras
- janela de contexto
- custo quadrático da atenção
- viés de posição em contexto longo
- difusão com remoção de ruído
- difusão latente
- classifier-free guidance
- passos de amostragem vs latência
Avaliação e Monitoramento de ML
Como julgar sistemas de machine learning e LLM antes e depois do lançamento: métricas offline versus online, testes A/B, releases shadow e canary, detecção de drift e falhas silenciosas, portões de regressão de modelo e evals de LLM, incluindo as armadilhas de modelos-juízes.
Objetivos
- Explicar por que métricas offline, testes A/B e monitoramento ao vivo respondem a perguntas diferentes, e projetar um plano de avaliação que use cada um na etapa certa da vida de um modelo
- Detectar e responder a drift, falhas silenciosas e regressões de modelo ou de prompt, incluindo evals de LLM com modelos-juízes, usando métricas de guarda, portões de regressão e caminhos de rollback
Conceitos-chave
- métricas offline vs online
- holdout temporal
- teste A/B
- critério geral de avaliação
- teste A/A
- drift de dados e drift de conceito
- testes de duas amostras
- viés de predição
- falhas silenciosas
- métricas por fatia
- atraso de rótulos
- implantação shadow e release canary
- conjunto de testes de regressão
- LLM como juiz
- vieses do juiz
- evals em produção
- limites de ação
Segurança e Guardrails de IA
Como projetar defesas em camadas para aplicações e agentes com LLM: filtros de entrada e saída, classificadores de segurança, defesas contra prompt injection, política de moderação, red teaming, aprovação humana e limites de autonomia, além dos modos de falha tanto de guardrails frouxos quanto de guardrails excessivamente rígidos.
Objetivos
- Projetar um pipeline de guardrails em camadas (filtros de entrada e saída, classificadores, política, monitoramento) e explicar o que cada camada consegue e não consegue barrar, incluindo prompt injection e recusa excessiva
- Limitar a autonomia de agentes LLM com menor privilégio, aprovação humana e kill switches, e planejar red teaming e portões de lançamento que transformem incidentes em testes de regressão
Conceitos-chave
- filtragem de entrada e saída
- prompt injection
- prompt injection indireta
- classificador de segurança
- política de moderação de conteúdo
- red teaming
- menor privilégio para agentes
- aprovação humana para ações de alto risco
- recusa excessiva
- defesa em profundidade
- kill switch
Feature Stores e Pipelines de Dados de ML
Como feature stores e os pipelines de dados por trás delas entregam as mesmas features ao treinamento e à inferência online: stores offline e online, consistência entre treino e serving, joins corretos no ponto no tempo, backfills, materialização e freshness das features.
Objetivos
- Explicar como stores offline e online, definições de features compartilhadas e materialização mantêm treino e serving consistentes, e detectar o desvio entre treino e serving quando ele aparece
- Projetar pipelines de features corretos no ponto no tempo, com suporte a backfills e que atendam requisitos de freshness para features em lote, streaming e sob demanda
Conceitos-chave
- feature store
- stores offline e online
- desvio entre treino e serving (training-serving skew)
- correção no ponto no tempo
- join no ponto no tempo
- freshness de features
- backfill
- materialização
- TTL de feature
- features em streaming e em lote
- log de features no momento do serving
- dados que chegam atrasados
Infraestrutura de Treino de ML
Como modelos grandes são treinados em muitos aceleradores: combinar paralelismo de dados, tensor e pipeline, particionar e recomputar memória, fazer checkpoint sem travar o job, escalonar GPUs compartilhadas com gang scheduling, sobreviver a falhas e stragglers, e ler métricas de utilização para controlar custo.
Objetivos
- Escolher e combinar paralelismo de dados, tensor e pipeline, particionamento de memória e recomputação para um modelo que não cabe em um acelerador, e explicar o custo de comunicação e de ociosidade de cada escolha
- Projetar a plataforma em torno de um treino: gang scheduling, checkpoint assíncrono, health checks, recuperação automática e tratamento de stragglers, e avaliá-la com utilização de FLOPs do modelo e tempo efetivo de treino
Conceitos-chave
- paralelismo de dados
- particionamento de estado ZeRO
- paralelismo de tensor
- paralelismo de pipeline e bolha
- recomputação de ativações
- checkpoint assíncrono
- gang scheduling
- detecção de falhas e recuperação
- stragglers
- utilização de FLOPs do modelo
- tempo efetivo de treino
Geração multimodal
Como serviços de texto para imagem, vídeo e áudio são construídos sobre pipelines de difusão, e como filas de jobs, workers de GPU e batching, controle de latência, moderação e custo unitário moldam a arquitetura de serviço.
Objetivos
- Explicar como pipelines de difusão latente para imagem, vídeo e áudio transformam um prompt em uma saída, e como passos de remoção de ruído, guidance e destilação determinam latência, qualidade e custo de GPU
- Projetar e revisar serviços de geração com filas assíncronas de jobs, batching em workers de GPU, novas tentativas e tratamento de dead-letter, moderação em camadas, backpressure e contabilização do custo por geração
Conceitos-chave
- pipeline de difusão texto-para-imagem
- difusão latente
- passos de remoção de ruído e latência
- classifier-free guidance
- destilação de passos
- coerência temporal em texto-para-vídeo
- geração de texto para áudio
- fila assíncrona de jobs
- batching em workers de GPU
- visibility timeout e novas tentativas
- dead-letter queue
- moderação de prompt e de saída
- custo por geração
- entrega de resultado e progresso
- controle de admissão e backpressure
- cold start e autoscaling de GPU
Agentes com LLM
Como projetar sistemas em que um LLM dirige um loop de ferramentas: planejamento, memória, orquestração multiagente, confiabilidade, avaliação, observabilidade e limites de autonomia e permissões.
Objetivos
- Explicar o loop de um agente com LLM, quando usar um workflow em vez de um agente e como projetar ferramentas, planejamento e memória em camadas
- Projetar agentes confiáveis e seguros: orquestração multiagente, execução durável, avaliação com pass^k, observabilidade e controle de permissões e autonomia
Conceitos-chave
- loop do agente
- workflows versus agentes
- design de ferramentas
- ReAct
- planejamento e decomposição de tarefas
- camadas de memória
- orquestrador-workers
- agência excessiva
- aprovação humana no loop
- avaliação de agentes
- confiabilidade pass^k
- tracing e observabilidade
- execução durável
Níveis: Júnior, Pleno, Sênior e Especialista
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Design de Sistemas?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Design de Sistemas?
Comece por Fundamentos: Levantamento de Requisitos, Fundamentos de Design de API e Fundamentos de Modelagem de Dados. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Design de Sistemas?
Uma avaliação completa desta trilha leva cerca de 50 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.