Pular para o conteúdo principal

Truques de Velocidade em System Design - Como as Coisas Funcionam Tão Rápido

Aprenda os algoritmos, estruturas de dados e padrões de infraestrutura que fazem sistemas modernos responderem em milissegundos. Da validação client-side ao roteamento global, entenda por que as coisas parecem instantâneas.

intermediate
System Design

Truques de Velocidade em System Design - Como as Coisas Funcionam Tão Rápido

Aprenda os algoritmos, estruturas de dados e padrões de infraestrutura que fazem sistemas modernos responderem em milissegundos. Da validação client-side ao roteamento global, entenda por que as coisas parecem instantâneas.

14 cartões
25 minutos
1 / 14
0% Dominado
0
? 0
Cartão 1 de 14
Fundamentals
Deslize para a esquerda/direita para navegar entre os cartões
Pergunta

Você precisa verificar se um ID de usuário existe em um conjunto de 10 milhões de sessões ativas. Uma varredura em lista leva segundos, mas uma abordagem diferente responde em microssegundos. Qual é a diferença entre buscas O(1) e O(n), e qual estrutura de dados te dá O(1)?

Toque para revelar
Resposta

O(n) significa que você potencialmente varre cada elemento (uma lista). O(1) significa acesso em tempo constante independentemente do tamanho. Uma **hash table** (hash map, dicionário, set) entrega busca O(1) em média ao calcular um índice a partir da chave: ```python # O(n) - scanning a list user_ids = [1, 2, 3, ..., 10_000_000] if target in user_ids: # checks up to 10M items # O(1) - hash set user_ids = {1, 2, 3, ..., 10_000_000} if target in user_ids: # one hash computation ``` Essa única distinção sustenta quase todo truque de velocidade em system design.

time-complexity
hash-tables
lookups
Sponsored
Carbon Ads