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

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

148
19 Mar 2026 14:46

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.

159
19 Mar 2026 08:02

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.

149
19 Mar 2026 04:33

Explicação

Google Gemini 2.5 Pro VS OpenAI GPT-5.4

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 escrito consultas SQL há cerca de seis meses, mas nunca criou ou pensou em índices de banco de dados. Ele acabou de reclamar que suas consultas em uma tabela com dois milhões de linhas estão rodando lentamente. Escreva uma explicação clara e voltada para ensino sobre indexação de banco de dados para esse público. Sua explicação deve cobrir o seguinte: 1. O que é um índice de banco de dados e por que ele existe, usando pelo menos uma analogia concreta que um iniciante acharia intuitiva. 2. Como um índice básico (como um índice B-tree) acelera buscas em consultas em comparação com uma varredura completa da tabela, com detalhes suficientes para que o desenvolvedor júnior entenda a diferença de desempenho conceitualmente. 3. Os trade-offs de adicionar índices, incluindo os custos que não são imediatamente óbvios. 4. Orientação prática sobre quando adicionar um índice e quando não adicionar, com pelo menos dois exemplos realistas de cada caso. 5. Uma breve nota sobre índices compostos e a importância da ordem das colunas dentro deles. Almeje um tom encorajador e acessível, evitando jargões desnecessários e ainda assim sendo tecnicamente preciso. 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 coluna após lê-la.

155
19 Mar 2026 02:59

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).

151
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.

171
18 Mar 2026 22:33

Questões educacionais

Google Gemini 2.5 Pro VS OpenAI GPT-5.4

Explique o Paradoxo do Teorema de Banach–Tarski e suas Implicações Educacionais

O paradoxo de Banach–Tarski afirma que uma esfera sólida no espaço tridimensional pode ser decomposta em um número finito de peças disjuntas, que podem então ser reassembladas (usando apenas rotações e translações) em duas esferas sólidas, cada uma idêntica em tamanho à original. Responda ao seguinte em um ensaio estruturado: 1. Indique com precisão quantas peças são necessárias na prova padrão do teorema de Banach–Tarski (dê o número mínimo exato estabelecido na literatura). 2. Explique por que esse resultado não contradiz a realidade física ou a conservação da massa. Na sua explicação, identifique a propriedade matemática específica que as peças devem possuir que impede que sejam realizáveis fisicamente, e nomeie o axioma da teoria dos conjuntos do qual a prova depende fundamentalmente. 3. Descreva como o conceito de "medida" (no sentido da medida de Lebesgue) se relaciona com esse paradoxo. Por que não podemos simplesmente afirmar que os volumes devem somar? 4. Discuta como este teorema é usado no ensino de matemática em nível avançado de graduação ou de pós-graduação. Quais lições-chave sobre os fundamentos da matemática — especificamente em relação ao Axioma da Escolha, conjuntos não mensuráveis e os limites da intuição geométrica — ele ilustra? Sugira uma abordagem pedagógica para introduzir este tópico a estudantes que o encontram pela primeira vez. Seu ensaio deve ser rigoroso, mas acessível, demonstrando tanto precisão matemática quanto perspicácia pedagógica.

158
18 Mar 2026 20:40

Aconselhamento

OpenAI GPT-5.4 VS Google Gemini 2.5 Pro

Ajudando um Amigo a Navegar uma Mudança de Carreira aos 40

Seu amigo próximo, Alex (40 anos), tem trabalhado como contador há 15 anos. Alex confidenciou recentemente que se sente profundamente insatisfeito(a) e quer mudar de carreira para se tornar professor(a) de matemática do ensino médio. No entanto, Alex está preocupado(a) com várias coisas: uma redução significativa de salário, a possível desaprovação do cônjuge, a sensação de ser um(a) iniciante novamente na sua idade e se é tarde demais para recomeçar. Alex ainda não tem credenciais de ensino, mas sempre gostou de dar aulas particulares informais às crianças do bairro. Escreva uma resposta ponderada e de apoio a Alex como se você fosse um amigo carinhoso e sábio. Sua resposta deve: 1. Reconhecer e validar os sentimentos de Alex sem descartar suas preocupações. 2. Ajudar Alex a pensar sobre as realidades práticas (finanças, credenciais, cronograma) de forma equilibrada — sem ser excessivamente otimista nem desencorajador. 3. Abordar as dimensões emocionais (medo de recomeçar, dinâmicas conjugais, mudança de identidade) com empatia e nuance. 4. Sugerir próximos passos concretos que Alex poderia tomar para explorar essa transição antes de tomar uma decisão irreversível. 5. Reconhecer os limites do seu conselho como amigo e indicar de forma delicada quando uma orientação profissional (por exemplo, orientador de carreira, planejador financeiro, terapeuta de casal) pode ser valiosa. Use um tom caloroso e conversacional que um amigo de verdade usaria — não clínico nem formulaico.

138
16 Mar 2026 07:32

Persuasão

Anthropic Claude Sonnet 4.6 VS Google Gemini 2.5 Pro

Convencer um conselho municipal cético a testar ruas escolares sem carros

Escreva um discurso persuasivo dirigido a um conselho municipal que está a considerar um programa piloto de seis meses para tornar as ruas imediatamente à volta de três escolas primárias livres de carros durante os horários de chegada e saída dos alunos. O seu objetivo é convencer os membros céticos do conselho a aprovar o piloto. Detalhes do público: - O conselho preocupa-se com o transbordo de tráfego, o incómodo para pais trabalhadores e a reação negativa dos comércios locais. - Estão abertos a evidências e a compromissos práticos, mas não gostam de linguagem ideológica ou acusatória. Conteúdo exigido: - Declare claramente a proposta e por que um piloto é uma forma de baixo risco para a testar. - Apresente pelo menos três argumentos distintos, incluindo segurança dos alunos, benefícios para a saúde ou aprendizagem, e qualidade de vida do bairro ou gestão do tráfego. - Aborde pelo menos duas objeções sérias de forma justa e rebata-as com medidas de mitigação realistas. - Inclua um exemplo ou cenário ilustrativo breve. - Termine com um apelo concreto à ação. Restrições: - Extensão: 500 a 700 palavras. - Tom: respeitoso, pragmático e persuasivo. - Não invente estatísticas, estudos ou especialistas nomeados. Se mencionar evidências, descreva-as apenas em termos gerais. - Não use marcadores.

154
16 Mar 2026 04:13

Mostrando 41 a 60 de 95 resultados

Links relacionados

X f L