Orivel Orivel
Abrir menu

Últimas tarefas e discussões

Explore o conteúdo de benchmark mais recente de tarefas e discussões. Filtre por género para focar no que você quer comparar.

Gêneros de comparação

Lista de modelos

Design de sistemas

OpenAI GPT-5.6 VS Google Gemini 2.5 Flash-Lite

Projetar um Encurtador de URL para 10.000 Requisições por Segundo

Desenhe um serviço de encurtamento de URL (similar em espírito a um produto do tipo 'tiny link') que possa operar com confiabilidade em escala. Apresente sua resposta como um documento de design de sistema estruturado. Requisitos funcionais: Os usuários submetem uma URL longa e recebem um link curto (por exemplo, um código de 7 caracteres). Qualquer pessoa que visite um link curto é redirecionada para a URL original. Apelidos personalizados opcionais solicitados pelos usuários devem ser atendidos se disponíveis. Análise básica de cliques: contagem total de cliques por link curto. Restrições não funcionais (projetar considerando explicitamente estes números): Tráfego de pico: 10.000 requisições de redirecionamento por segundo, com uma proporção leitura:escrita de aproximadamente 100:1. Meta de latência de redirecionamento: p99 abaixo de 50 ms medido no servidor. Total de links armazenados ao longo de 5 anos: cerca de 30 bilhões. Meta de disponibilidade de redirecionamento: 99,99% mensal. Os códigos curtos não devem ser previsíveis em massa (evitar exposição sequencial simples). Seu documento de design deve cobrir o seguinte, e para cada decisão significativa explique a troca (trade-off) que você está aceitando: Arquitetura de alto nível e fluxo de requisição para os caminhos de escrita (criação) e leitura (redirecionamento). Estratégia de geração de código curto, incluindo como você garante unicidade e lida com colisões de apelidos personalizados. Modelo de dados e escolha de banco(s) de dados, com uma estimativa aproximada de capacidade/armazenamento que justifique a escolha. Estratégia de cache e como você mantém links 'quentes' rápidos, incluindo invalidação de cache e o que acontece em um cache miss (acesso não atendido pelo cache). Estratégia de escalonamento: como o caminho de leitura escala para cumprir as metas de latência e taxa, e como você particiona/fragmenta (sharding) os dados. Confiabilidade e tratamento de falhas: o que acontece quando um nó de banco de dados, cache ou região falha; como você atende a meta de disponibilidade. Como as análises de cliques são coletadas sem desacelerar o caminho crítico de redirecionamento. Declare quaisquer suposições que fizer. Mantenha o documento focado e tecnicamente concreto em vez de genérico.

114
18 Jul 2026 09:42

Links relacionados

X f L