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.

Generos de Comparacao

Lista de Modelos

Brainstorming

Google Gemini 2.5 Flash VS OpenAI GPT-5.4

Fontes de Receita para uma Biblioteca Pública de Pequena Cidade Diante de Cortes Orçamentários

Uma biblioteca pública de pequena cidade (atendendo uma população de aproximadamente 12.000 pessoas) acaba de saber que seu financiamento municipal anual será reduzido em 30% a partir do próximo ano fiscal. A biblioteca tem os seguintes bens e restrições: Bens/Ativos: - Um prédio de 6.000 pés quadrados com uma sala comunitária com capacidade para 200 pessoas - Um pequeno estacionamento (20 vagas) - Dois bibliotecários em tempo integral e três funcionários em meio período - Um acervo de 40.000 livros físicos e um catálogo digital modesto - Um makerspace com uma impressora 3D, um cortador a laser e máquinas de costura - Internet de alta velocidade confiável e 15 computadores de uso público - Uma pequena área de jardim cercada atrás do prédio Restrições: - A biblioteca deve permanecer de entrada livre e deve continuar emprestando livros sem cobrança - Não pode vender álcool nem promover jogos de azar - Qualquer nova atividade geradora de receita deve ser legal em uma municipalidade típica dos EUA - O quadro de funcionários não pode aumentar; voluntários podem ser recrutados - A diretoria da biblioteca não aprovará nada que gere reclamações significativas de barulho dos vizinhos residenciais adjacentes Faça um brainstorm com o maior número possível de ideias distintas e práticas para gerar receita ou reduzir custos. Para cada ideia, forneça: 1. Um nome curto 2. Uma descrição de uma a duas frases de como funciona 3. Qual ativo da biblioteca ela aproveita Busque amplitude entre diferentes categorias (por exemplo: eventos, parcerias, serviços, aluguel de espaços, subsídios, merchandising, digital, etc.).

380
19 Mar 2026 19:59

Design de sistemas

Google Gemini 2.5 Flash VS Anthropic Claude Haiku 4.5

Projetar um Serviço Global de Encurtamento de URLs

Projete um serviço de encurtamento de URLs disponível globalmente, semelhante ao Bitly. O serviço deve permitir que usuários criem links curtos que redirecionem para URLs longas, suportar aliases personalizados para usuários pagos, rastrear análises de cliques e permitir que links expirem em um horário especificado. Requisitos: - Lidar com 120 milhões de novos links curtos por dia. - Lidar com 4 bilhões de redirecionamentos por dia. - O tráfego de pico pode atingir 3 vezes a média diária. - Meta de latência de redirecionamento: p95 abaixo de 80 ms para usuários na América do Norte, Europa e Ásia. - Meta de latência para criação de link curto: p95 abaixo de 300 ms. - Meta de disponibilidade do serviço: 99,99% para redirecionamentos. - Dados de analytics podem ser eventualmentes consistentes dentro de 5 minutos. - Aliases personalizados devem ser únicos globalmente. - Links expirados ou excluídos devem parar de redirecionar rapidamente. - O sistema deve tolerar falhas regionais sem causar indisponibilidade total do serviço. Pressupostos que você pode usar: - Comprimento médio da URL longa é 500 bytes. - Eventos de analytics incluem timestamp, ID do link, país, tipo de dispositivo e domínio referenciador. - O tráfego de leitura é muito maior do que o de escrita. - Você pode escolher tecnologias SQL, NoSQL, cache, stream, CDN e mensageria conforme necessário, mas justifique-as. Na sua resposta, forneça: 1. Uma arquitetura em alto nível com os principais componentes e fluxos de requisições. 2. Modelo de dados e escolhas de armazenamento para links, aliases e analytics. 3. Uma estratégia de escalonamento para tráfego com predominância de leitura, incluindo cache e roteamento regional. 4. Uma estratégia de confiabilidade cobrindo failover, decisões de consistência e manejo de outages regionais. 5. Principais trade-offs, gargalos e pelo menos três riscos com mitigações. 6. Uma breve estimativa de capacidade para armazenamento e throughput usando os números acima.

427
19 Mar 2026 18:51

Brainstorming

Google Gemini 2.5 Pro VS Anthropic Claude Haiku 4.5

Maneiras de Baixo Custo para Reduzir o Desperdício de Alimentos na Cantina Escolar

Uma escola pública de ensino fundamental deseja ideias práticas para reduzir o desperdício de alimentos em sua cantina nos próximos 3 meses. A escola tem 600 alunos, um orçamento muito limitado de $1.000 no total e apenas dois funcionários que podem dedicar até 2 horas extras por semana a novos esforços. A escola não pode alterar os requisitos nacionais de nutrição, não pode exigir que os alunos instalem aplicativos e não pode contar com voluntários externos à escola. Gere 18 ideias distintas que a escola poderia testar realisticamente. Para cada ideia, forneça: - um título curto - uma explicação de 1–2 frases - a principal fonte de desperdício que ela mira (por exemplo: leite não aberto, frutas, legumes, itens embalados, superprodução, desperdício em bandejas) - nível estimado de custo: baixo, médio ou alto dentro do orçamento desta escola - nível estimado de esforço para os funcionários: baixo, médio ou alto Requisitos adicionais: - Cubra pelo menos 5 fontes diferentes de desperdício - Inclua pelo menos 4 ideias que envolvam comportamento ou comunicação com os alunos - Inclua pelo menos 4 ideias que envolvam operações ou horários da cantina - Evite repetir a mesma ideia básica com pequenas alterações de redação - Mantenha todas as ideias seguras, legais e realistas para um ambiente escolar

349
19 Mar 2026 17:20

Programação

Google Gemini 2.5 Pro VS OpenAI GPT-5.2

Implemente um Limitador de Taxa Concorrente com Janela Deslizante e Filas de Prioridade

Desenhe e implemente um limitador de taxa (rate limiter) thread-safe em Python que suporte as seguintes funcionalidades: 1. **Limitação de Taxa com Janela Deslizante**: Em vez de usar janelas de tempo fixas, implemente um algoritmo de janela verdadeiramente deslizante. Cada cliente (identificado por uma chave string) tem permissão para no máximo `max_requests` requisições dentro de qualquer janela móvel de `window_seconds` segundos. 2. **Níveis de Prioridade**: Cada requisição tem um nível de prioridade (inteiro 1-5, onde 1 é a prioridade mais alta). Quando o limite de taxa é atingido para um cliente, requisições de prioridade mais baixa (número maior) devem ser rejeitadas primeiro. Especificamente, se uma nova requisição com prioridade P chegar e a janela estiver cheia, o limitador deve verificar se existe alguma requisição na janela atual com prioridade estritamente menor (número maior) que P. Se existir, a requisição de prioridade mais baixa (com o maior número) tem seu slot "revogado" e a nova requisição de prioridade mais alta é admitida. A requisição revogada deve ser registrada para que possa ser reportada. Se não houver requisição de prioridade mais baixa para revogar, a nova requisição é rejeitada. 3. **Permissão de Rajada (Burst Allowance)**: Cada cliente pode opcionalmente ter uma permissão de rajada `burst` (por padrão 0). Isto permite até `burst` requisições adicionais além de `max_requests` em uma janela, mas somente se pelo menos metade da duração da janela tiver passado desde a primeira requisição do cliente na janela atual. 4. **Segurança em Threads (Thread Safety)**: O limitador de taxa deve ser seguro para uso a partir de múltiplas threads concorrentemente. Demonstre isto com um cenário de teste. 5. **Estatísticas**: O limitador deve rastrear estatísticas por cliente: total de requisições admitidas, total rejeitadas, total revogadas (removidas por requisições de maior prioridade) e utilização atual da janela (como float de 0.0 a 1.0). Implemente a seguinte interface: ```python class RateLimiter: def __init__(self, max_requests: int, window_seconds: float, default_burst: int = 0): ... def set_client_burst(self, client_id: str, burst: int) -> None: """Override burst allowance for a specific client.""" ... def allow(self, client_id: str, priority: int = 3, timestamp: float = None) -> bool: """ Check if a request is allowed. If timestamp is None, use current time. Returns True if the request is admitted, False if rejected. """ ... def get_stats(self, client_id: str) -> dict: """ Return a dict with keys: 'admitted', 'rejected', 'revoked', 'utilization' """ ... def get_revoked_log(self, client_id: str) -> list: """ Return a list of (timestamp, priority) tuples for revoked requests for the given client, in chronological order. """ ... ``` Forneça uma implementação completa e executável juntamente com um script de demonstração que: - Cria um limiter com max_requests=5, window_seconds=10.0, default_burst=2 - Simula uma sequência de requisições de dois clientes com prioridades e timestamps variados que exercitem todas as funcionalidades (expiração da janela deslizante, revogação por prioridade, ativação da rajada e rejeição) - Imprime as estatísticas e logs de revogação para cada cliente ao final - Inclui um breve teste multithreaded com pelo menos 4 threads fazendo requisições concorrentes Certifique-se de tratar casos de borda tais como: - Validação do valor de prioridade (deve ser 1-5) - Requisições chegando exatamente nas fronteiras da janela - Múltiplas revogações em sequência - Ativação da permissão de rajada precisamente no marco de metade da janela - IDs de cliente vazios ou desconhecidos em consultas de estatísticas

385
19 Mar 2026 14:46

Questões educacionais

OpenAI GPT-5 mini VS Google Gemini 2.5 Flash-Lite

Explique o Paradoxo do Navio de Teseu na Filosofia da Identidade

O Navio de Teseu é um dos experimentos mentais mais antigos da filosofia ocidental. Suponha que um navio de madeira seja mantido substituindo gradualmente cada tábua de madeira à medida que ela se deteriora. Depois que todas as tábuas originais tiverem sido substituídas, o navio resultante ainda é o Navio de Teseu? Agora suponha que alguém recolha todas as tábuas originais descartadas e as remonte em um navio. Qual dos dois navios, se algum, é o "verdadeiro" Navio de Teseu? Em um ensaio estruturado, aborde todos os seguintes pontos: 1. Declare o cerne do paradoxo de forma precisa e explique por que ele constitui um problema filosófico genuíno para teorias da identidade. 2. Apresente e avalie criticamente pelo menos três posições filosóficas distintas que tentam resolver o paradoxo (por exemplo, essencialismo mereológico, teoria da continuidade espaço-temporal, quadridimensionalismo/perdurantismo, essencialismo nominal, etc.). Para cada posição, explique sua solução e identifique pelo menos uma objeção séria. 3. Explique como esse paradoxo se conecta a pelo menos dois domínios do mundo real (por exemplo, identidade pessoal ao longo do tempo, identidade legal de corporações, substituição de células biológicas, cópia digital de arquivos, restauração de artefatos históricos). Para cada domínio, mostre especificamente como o paradoxo se manifesta e quais consequências práticas decorrem. 4. Adote e defenda sua própria posição fundamentada sobre qual resolução é mais filosoficamente satisfatória, reconhecendo suas limitações.

404
19 Mar 2026 14:34

Programação

Google Gemini 2.5 Flash-Lite VS OpenAI GPT-5.2

Implemente um Cache LRU Concorrente Sem Bloqueio Global

Projete e implemente um cache LRU (Least Recently Used — Menos Recentemente Utilizado) com segurança para threads em Python, que suporte leituras e gravações concorrentes sem usar um bloqueio global para cada operação. Sua implementação deve satisfazer os seguintes requisitos: 1. O cache tem uma capacidade máxima fixa especificada no momento da construção. 2. Ele suporta três operações: - get(key): Retorna o valor associado à chave, ou None se a chave não estiver presente. Acessar uma chave deve marcá-la como a mais recentemente usada. - put(key, value): Insere ou atualiza o par chave-valor. Se o cache estiver na capacidade máxima e uma nova chave for inserida, a entrada menos recentemente usada deve ser removida. - delete(key): Remove a chave do cache, se presente. Retorna True se a chave foi encontrada e removida, False caso contrário. 3. O cache deve ser seguro para uso simultâneo por múltiplas threads. Operações get concorrentes em chaves diferentes não devem bloquear umas às outras. Você deve minimizar a contenção — um único bloqueio grosseiro ao redor de tudo não é aceitável. 4. A política de remoção (eviction) deve ser estritamente LRU: a entrada que foi acessada (via get ou put) menos recentemente deve ser a removida. 5. Trate casos-limite: capacidade de 1, puts concorrentes rápidos que disparem remoções, get/put/delete intercalados na mesma chave por diferentes threads, e capacidade zero ou negativa (levantar ValueError). Forneça sua implementação completa como um único módulo Python. Inclua uma breve explicação da sua estratégia de concorrência e por que ela preserva a correção. Inclua também uma demonstração curta (em um bloco main ou função de teste) que crie múltiplas threads executando operações mistas de get/put/delete e que verifique (assert) que o cache nunca excede sua capacidade e que não ocorre corrupção de dados.

344
19 Mar 2026 11:51

Design de sistemas

Anthropic Claude Opus 4.6 VS Google Gemini 2.5 Pro

Projetar um Serviço Global de Encurtamento de URLs

Desenhe um serviço público de encurtamento de URLs semelhante ao Bitly. O serviço deve permitir que usuários criem links curtos para URLs longas, opcionalmente especifiquem um alias personalizado se disponível, e redirecionem os usuários que visitam o link curto para o destino original. Inclua um recurso básico de análise que reporte cliques totais por link e cliques por dia nos últimos 30 dias. Assuma as seguintes restrições: - 120 milhões de novos links curtos são criados por mês. - 1,2 bilhões de requisições de redirecionamento são servidas por mês. - O tráfego de leitura é altamente variável (bursty), especialmente para links virais. - O serviço é usado globalmente e os usuários esperam redirecionamentos de baixa latência. - Links curtos devem permanecer válidos por pelo menos 5 anos. - A meta de disponibilidade para redirecionamento é 99,99%. - As análises podem ser eventualmente consistentes por até 10 minutos. - O sistema deve prevenir abusos óbvios em um nível básico, mas uma plataforma completa de confiança e segurança está fora do escopo. No seu design, cubra: - Arquitetura de alto nível e componentes principais. - Modelo de dados e escolhas de armazenamento para mapeamentos de links e análises. - Estratégia de geração de IDs ou tokens, incluindo tratamento de aliases personalizados. - Design de API para criação de links, redirecionamento e recuperação de análises. - Estratégia de cache, particionamento e replicação. - Abordagem de confiabilidade, incluindo tratamento de falhas e considerações multi-região. - Como você escalaria para tráfego com leitura intensiva e hotspots virais. - Principais trade-offs entre consistência, custo, latência e complexidade operacional. Declare quaisquer suposições razoáveis que fizer e justifique suas escolhas.

398
19 Mar 2026 08:02

Resumo

OpenAI GPT-5.2 VS Anthropic Claude Haiku 4.5

Resumir um Artigo sobre o Telescópio Espacial James Webb

Sua tarefa é resumir o seguinte artigo sobre o Telescópio Espacial James Webb (JWST). O resumo deve ser escrito para um público geral com pouca ou nenhuma formação em astronomia ou engenharia. Seu resumo deve ter de 3 a 4 parágrafos e deve cobrir concisamente os seguintes pontos-chave: 1. A missão primária e os objetivos científicos do JWST. 2. As principais inovações tecnológicas, especificamente o espelho segmentado e o escudo solar. 3. A localização orbital única do telescópio (L2) e por que ela é importante. 4. A colaboração internacional por trás do projeto. --- ARTIGO FONTE --- O Telescópio Espacial James Webb (JWST) é um telescópio espacial projetado para conduzir astronomia no infravermelho. Como o maior telescópio ótico no espaço, sua resolução e sensibilidade no infravermelho muito aprimoradas permitem que ele observe objetos antigos, distantes ou fracos demais para o Telescópio Espacial Hubble. Espera-se que isso possibilite uma ampla gama de investigações nos campos da astronomia e da cosmologia, como a observação das primeiras estrelas e a formação das primeiras galáxias, e a caracterização detalhada das atmosferas de exoplanetas potencialmente habitáveis. O JWST é o sucessor formal do Telescópio Espacial Hubble, representando um salto monumental à nossa capacidade de observar o cosmos. Sua missão principal é olhar para trás no tempo até o alvorecer do universo, capturando a luz das estrelas e galáxias que se formaram apenas algumas centenas de milhões de anos após o Big Bang. A missão científica do JWST é guiada por quatro temas principais. O primeiro é 'Primeira Luz e Reionização', que envolve a busca pelos primeiros objetos luminosos que se formaram após o Big Bang. Ao observar no infravermelho, o Webb pode penetrar na poeira e no gás cósmicos para ver essas galáxias em formação. O segundo tema é a 'Formação das Galáxias', onde o telescópio estudará como as galáxias evoluíram ao longo de bilhões de anos, de suas formas caóticas iniciais até as grandes galáxias espirais e elípticas que vemos hoje. O terceiro tema, o 'Nascimento das Estrelas e Sistemas Protoplanetários', foca em observar a formação de estrelas e planetas. Os instrumentos infravermelhos do Webb podem ver através das densas nuvens de gás e poeira onde as estrelas nascem, fornecendo vistas sem precedentes desses berçários estelares e dos discos de formação planetária ao redor de estrelas jovens. Finalmente, o quarto tema é 'Planetas e Origens da Vida', que inclui o estudo das atmosferas de exoplanetas para procurar os blocos construtores da vida, como água e metano, e obter uma compreensão mais profunda dos objetos dentro do nosso próprio Sistema Solar. No coração do JWST está sua tecnologia revolucionária, notadamente seu espelho primário. O espelho tem 6,5 metros (21 pés) de diâmetro, um aumento significativo em relação ao espelho de 2,4 metros do Hubble, conferindo-lhe cerca de 6,25 vezes a área coletora de luz. Um espelho tão grande não poderia ser lançado em uma única peça, portanto é composto por 18 segmentos hexagonais feitos de berílio, um material escolhido por sua leveza, resistência e capacidade de manter a forma em temperaturas criogênicas. Cada segmento é revestido com uma camada microscopicamente fina de ouro, que é excepcionalmente refletiva para a luz infravermelha, otimizando a capacidade do telescópio de captar sinais fracos do universo primordial. Esses segmentos foram dobrados como origami para caber na carenagem do foguete Ariane 5 e tiveram de ser desdobrados e alinhados com precisão no espaço, um processo de complexidade sem precedentes. Para analisar a luz coletada por seu enorme espelho, o JWST está equipado com um conjunto de quatro instrumentos científicos de ponta. A Near-Infrared Camera (NIRCam) é a principal câmera, projetada para detectar a luz das primeiras estrelas e galáxias. O Near-Infrared Spectrograph (NIRSpec) pode observar até 100 objetos simultaneamente, dispersando sua luz em espectros para determinar suas propriedades físicas, como temperatura, massa e composição química. O Mid-Infrared Instrument (MIRI) contém tanto uma câmera quanto um espectrógrafo que captam luz na região do infravermelho médio do espectro eletromagnético, permitindo ver estrelas recém-formadas, cometas fracos e objetos no Cinturão de Kuiper. Por fim, o Fine Guidance Sensor and Near-Infrared Imager and Slitless Spectrograph (FGS/NIRISS) permite que o telescópio aponte com precisão e também é capaz de investigar a detecção e caracterização de exoplanetas. Juntos, esses instrumentos fornecem um conjunto versátil de ferramentas para os astrônomos explorarem o universo em uma ampla faixa de comprimentos de onda infravermelhos. Ao contrário do Hubble, que orbita a Terra, o JWST opera em um ambiente muito mais distante e estável. Ele orbita o Sol no segundo ponto de Lagrange (L2), localizado a cerca de 1,5 milhão de quilômetros (1 milhão de milhas) da Terra. Em L2, a atração gravitacional do Sol e da Terra equilibra a força centrífuga da órbita do telescópio, permitindo que ele "pairar" em uma posição estável em relação ao nosso planeta. Essa localização é crítica para a missão do telescópio. Estar longe da Terra o mantém afastado do calor e da radiação infravermelha emitidos pelo nosso planeta, que de outra forma interfeririam em suas observações sensíveis. Esse ambiente estável e frio é essencial para manter os instrumentos do telescópio nas temperaturas extremamente baixas necessárias para a astronomia no infravermelho. Para atingir e manter essas temperaturas de funcionamento glaciares (abaixo de 50 Kelvin, ou -223°C), o JWST conta com um enorme escudo solar de cinco camadas. Do tamanho aproximado de uma quadra de tênis, o escudo solar é feito de um material leve e durável chamado Kapton, revestido com alumínio e silício dopado. Seu propósito é bloquear o calor e a luz do Sol, da Terra e da Lua. As cinco camadas são separadas por vácuo, que atua como um excelente isolante. Cada camada sucessiva é mais fria que a anterior. Esse projeto cria um enorme diferencial de temperatura, com o lado voltado para o Sol alcançando até 85°C (185°F), enquanto o lado que abriga os espelhos e instrumentos permanece em sua temperatura de funcionamento criogênica. Esse sistema de resfriamento passivo é um dos componentes mais críticos e complexos do observatório, pois mesmo uma pequena quantidade de calor poderia cegAR seus detectores infravermelhos sensíveis. O Telescópio Espacial James Webb não é produto de uma única nação, mas um testemunho da colaboração internacional. É um projeto conjunto liderado pela NASA em parceria com a Agência Espacial Europeia (ESA) e a Agência Espacial Canadense (CSA). Essa parceria global reuniu as melhores mentes, recursos e tecnologias de todo o mundo para criar esse observatório de próxima geração. A jornada da concepção ao lançamento se estendeu por décadas, envolvendo milhares de cientistas, engenheiros e técnicos. Após seu lançamento bem-sucedido em 25 de dezembro de 2021, o telescópio passou por um período de comissionamento de vários meses para o desdobramento de seus componentes, alinhamento de seus espelhos e calibração de seus instrumentos. Agora totalmente operacional, o JWST está entregando imagens de tirar o fôlego e dados inestimáveis, abrindo uma nova janela para o universo e prometendo remodelar nossa compreensão do cosmos por décadas futuras.

362
19 Mar 2026 07:51

Design de sistemas

Anthropic Claude Haiku 4.5 VS Google Gemini 2.5 Flash-Lite

Projetar uma Plataforma de Pareamento de Corridas em Tempo Real

Projetar a arquitetura de backend para uma plataforma de ride-hailing que faça o pareamento de passageiros com motoristas próximos em tempo real em múltiplas cidades. Seu design deve suportar estes requisitos de produto: - Passageiros podem solicitar uma corrida enviando locais de retirada e destino. - Motoristas disponíveis nas proximidades devem receber a solicitação rapidamente, e um motorista pode aceitá-la. - O sistema deve prevenir dupla reserva de motoristas. - Passageiros e motoristas devem ver atualizações de status da corrida em tempo real, tais como solicitado, aceito, chegou, em andamento e concluído. - A plataforma deve fornecer uma tarifa estimada e tempo estimado de retirada antes da confirmação. - Histórico de corridas deve estar disponível tanto para passageiros quanto para motoristas. Restrições e pressupostos: - 8 milhões de solicitações de corrida por dia. - A carga de pico é 25 vezes a taxa média de solicitações durante as janelas de deslocamento. - Opera em 40 cidades, com distribuição de tráfego desigual. - Atualizações de localização dos motoristas ativos chegam a cada 3 segundos. - Latência aceitável percebida pelo passageiro para o pareamento inicial de motorista é inferior a 2 segundos no p95. - Atualizações de status da corrida devem geralmente aparecer dentro de 1 segundo. - O sistema deve permanecer disponível durante uma interrupção de serviço regional que afete um data center. - Detalhes exatos do processamento de pagamentos estão fora do escopo, mas os registros das corridas devem ser duráveis para faturamento posterior. - Questões de privacidade, segurança e regulatórias podem ser mencionadas brevemente, mas o foco principal é arquitetura e escalabilidade. Na sua resposta, descreva: - Os principais serviços ou componentes e suas responsabilidades. - O fluxo de dados desde a solicitação da corrida até a designação do motorista e conclusão da corrida. - Como você armazenaria e consultaria eficientemente as localizações dos motoristas. - Como você lidaria com a escalabilidade para tráfego de pico e cidades com hotspots. - Como você garantiria confiabilidade, tolerância a falhas e consistência de dados onde for importante. - Principais trade-offs no seu design, incluindo quaisquer lugares onde você prefira consistência eventual em vez de consistência forte, ou vice-versa. Você não precisa fornecer produtos exatos de provedores de nuvem. Uma arquitetura clara e um design focado em raciocínio são preferidos em vez de detalhes de implementação exaustivos.

353
19 Mar 2026 07:43

Design de sistemas

Google Gemini 2.5 Pro VS Anthropic Claude Sonnet 4.6

Projetar um Serviço Global de Encurtamento de URLs

Desenhe um serviço público de encurtamento de URLs semelhante ao Bitly. Usuários podem submeter uma URL longa e receber um alias curto; então qualquer pessoa pode usar o link curto para ser redirecionada para a URL original. Seu projeto deve suportar estes requisitos e restrições: Requisitos funcionais: - Criar links curtos para URLs válidas arbitrárias. - Redirecionar links curtos com baixa latência. - Suportar aliases personalizados opcionais quando disponíveis. - Fornecer análises básicas de cliques por link: total de cliques, cliques nas últimas 24 horas e os 5 principais países por contagem de cliques. - Permitir datas de expiração para links. Pressupostos de escala: - 120 milhões de novos links curtos por dia. - 8 bilhões de requisições de redirecionamento por dia. - Carga com predominância de leitura e forte skew de tráfego: uma pequena fração de links recebe tráfego muito alto. - Usuários globais na América do Norte, Europa e Ásia. Restrições: - Meta de disponibilidade de 99,99% para redirecionamentos. - Latência de redirecionamento P95 abaixo de 80 ms para usuários nas principais regiões. - Links recém-criados devem ficar utilizáveis globalmente dentro de 2 segundos. - Análises podem ser eventualmente consistentes, mas os redirecionamentos devem estar corretos. - Orçamento importa: justifique onde você gastaria para obter consistência mais forte ou replicação multirregional e onde evitaria isso. - Assuma que não há produto gerenciado de analytics de terceiros; desenhe o sistema central você mesmo. Por favor, forneça: - Uma arquitetura de alto nível com os principais componentes e fluxo de dados. - Escolhas de armazenamento para mapeamentos de links, eventos de analytics e cache de links quentes. - Estratégia de geração de IDs ou aliases, incluindo tratamento de colisões e verificações de alias personalizados. - Design de API para create-link, redirect e recuperação de analytics. - Abordagem de escalonamento para hot keys, cache, particionamento e tráfego multirregional. - Estratégia de confiabilidade cobrindo failover, replicação de dados, backup e comportamento de degradação. - Principais trade-offs e pelo menos duas opções alternativas de design que você considerou e rejeitou.

394
19 Mar 2026 04:33

Mostrando 281 a 300 de 538 resultados

Links relacionados

X f L