Orivel Orivel
Abrir menu

Ultimas tarefas e discussoes

Explore o conteudo benchmark mais recente de tarefas e discussoes. Filtre por genero para focar no que voce quer comparar.

Generos de Comparacao

Lista de Modelos

Explicação

OpenAI GPT-5.4 VS Google Gemini 2.5 Flash

Explique indexação de banco de dados para um desenvolvedor júnior

Você é um engenheiro de software sênior orientando um desenvolvedor júnior que tem cerca de seis meses de experiência escrevendo aplicações CRUD básicas com um banco de dados relacional (por exemplo, PostgreSQL ou MySQL). Ele percebeu que algumas de suas consultas estão lentas e ouviu que índices podem ajudar, mas não entende como os índices funcionam nem quando usá-los. Escreva uma explicação clara e voltada ao ensino sobre indexação de banco de dados para esse público. Sua explicação deve cobrir: 1. O que é um índice de banco de dados e por que ele existe, usando uma analogia intuitiva. 2. Como um índice B-tree funciona em nível conceitual (não é necessário entrar em detalhes sobre divisão de nós, mas o leitor deve entender a estrutura básica e por que isso acelera buscas). 3. As trocas envolvidas em adicionar índices: quando eles ajudam, quando atrapalham e os custos envolvidos (armazenamento, performance de escrita, manutenção). 4. Orientação prática para decidir quais colunas indexar, incluindo pelo menos dois exemplos concretos de consultas e se um índice ajudaria ou não. 5. Uma breve menção a pelo menos outro tipo de índice além do B-tree (por exemplo, hash, GIN, GiST) e quando ele pode ser preferido. Busque um tom encorajador e acessível, sem ser condescendente. Use exemplos concretos sempre que possível. A explicação deve ser suficientemente completa para que o desenvolvedor júnior possa decidir com confiança se deve adicionar um índice a uma tabela após lê-la.

273
18 Mar 2026 23:09

Design de sistemas

Google Gemini 2.5 Pro VS OpenAI GPT-5 mini

Projetar um serviço de encurtamento de URLs em larga escala

Sua tarefa é projetar um serviço de encurtamento de URLs (semelhante ao bit.ly ou tinyurl.com) que deve atender às seguintes restrições: 1. O serviço deve suportar 100 milhões de novos encurtamentos de URL por mês. 2. A razão leitura:gravação é 100:1 (ou seja, 10 bilhões de redirecionamentos por mês). 3. URLs encurtadas devem ter no máximo 7 caracteres (alfanuméricos). 4. O sistema deve garantir que uma URL encurtada, uma vez criada, nunca expire a menos que seja explicitamente excluída pelo usuário. 5. A latência de redirecionamento (do recebimento da requisição até a emissão do HTTP 301/302) deve ser inferior a 10 milissegundos no percentil 99. 6. O sistema deve permanecer disponível mesmo se um data center inteiro ficar offline. 7. O serviço deve suportar um painel de análise opcional mostrando contagens de clique, distribuição geográfica e dados de referenciador por URL encurtada, mas as análises não devem degradar o desempenho de redirecionamento. Forneça um projeto de sistema abrangente que aborde: A. Arquitetura de alto nível: Descreva os principais componentes e como eles interagem. B. Estratégia de geração de URL: Como você gera códigos curtos únicos, por que escolheu essa abordagem e como lida com colisões. C. Modelo de dados e armazenamento: Quais bancos de dados ou sistemas de armazenamento você usa e por quê. Inclua considerações de esquema. D. Otimização do caminho de leitura: Como você alcança o requisito de latência para redirecionamentos na escala exigida. E. Caminho de escrita: Como novas URLs são criadas e persistidas de forma confiável. F. Estratégia de escalonamento: Como o sistema escala horizontalmente para suportar crescimento. G. Confiabilidade e tolerância a falhas: Como você lida com falhas de data center, replicação e failover. H. Pipeline de analytics: Como você coleta, processa e serve os dados de analytics sem impactar o caminho crítico de redirecionamento. I. Principais trade-offs: Identifique pelo menos três trade-offs significativos que você fez no seu projeto e justifique cada um. Seja específico sobre tecnologias, protocolos e estimativas numéricas quando relevante (por exemplo, cálculos de armazenamento, estimativas de QPS, tamanhos de cache, análise do espaço de chaves de short-code).

293
18 Mar 2026 22:59

Programação

Google Gemini 2.5 Pro VS Anthropic Claude Sonnet 4.6

Implemente um armazenamento chave-valor versionado com consultas históricas

Escreva um código que implemente um armazenamento chave-valor versionado em memória com suporte a leituras históricas. O armazenamento começa vazio e processa uma sequência de comandos. Cada comando mutante bem-sucedido cria exatamente um novo número de versão global, começando em 1. Comandos somente de leitura não devem criar uma versão. Chaves e valores são strings sensíveis a maiúsculas/minúsculas sem espaços. Versões são inteiros positivos. Comandos: SET key value Cria ou sobrescreve a chave com o valor. DELETE key Remove a chave se ela existir. GET key Retorna o valor atual da chave, ou NULL se a chave não existir. GET_VERSION key version Retorna o valor associado à chave imediatamente após a criação da versão global especificada, ou NULL se a chave não existia nessa versão. Se version for maior que a última versão existente, trate-o como inválido e retorne INVALID_VERSION. HISTORY key Retorna todos os estados históricos da chave em ordem crescente de versões, incluindo deleções, formatados como pares version:value separados por vírgulas. Use NULL para estados deletados ou ausentes após uma mutação. Se a chave nunca foi afetada por qualquer comando mutante, retorne EMPTY. Formato de entrada: A primeira linha contém um inteiro N, o número de comandos. As próximas N linhas contêm cada uma um comando. Formato de saída: Para cada comando GET, GET_VERSION e HISTORY, imprima uma linha com o resultado. Detalhes de comportamento e casos limítrofes: - Cada SET sempre cria uma nova versão, mesmo que o valor não tenha mudado. - Cada DELETE sempre cria uma nova versão, mesmo se a chave não existir. - As versões são globais entre todas as chaves, não por chave. - HISTORY de uma chave deve incluir apenas as versões em que essa chave foi diretamente afetada por SET ou DELETE. - Se uma chave foi deletada e depois definida novamente, ambos os eventos devem aparecer em HISTORY. - Eficiência importa: assuma até 200000 comandos, com muitas consultas históricas. Sua solução deve ler da entrada padrão e escrever na saída padrão. Inclua o programa completo funcionando em um único arquivo. Você pode usar qualquer linguagem de programação mainstream, mas o código deve ser completo e executável como está escrito.

297
18 Mar 2026 22:33

Mostrando 261 a 280 de 483 resultados

Links relacionados

X f L