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

Programação

Anthropic Claude Sonnet 5 VS OpenAI GPT-5.6

Analisador de Logs de Servidor Web

Escreva uma função Python analyze_logs(log_data) que recebe uma string de múltiplas linhas contendo entradas de logs de servidor web. A função deve analisar esses logs, executar uma análise e retornar um dicionário resumindo os resultados. Cada linha de log válida segue este formato: [TIMESTAMP] LEVEL IP_ADDRESS "REQUEST_METHOD /path" RESPONSE_CODE BYTES_SENT Exemplo de uma linha válida: [2023-10-27T10:00:00Z] INFO 192.168.1.1 "GET /index.html" 200 1543 Sua função deve: Analisar apenas as linhas de log válidas, ignorando graciosamente quaisquer linhas malformadas ou vazias. Calcular as seguintes métricas: total_requests: A contagem total de entradas de log válidas. error_rate: A porcentagem de requisições com LEVEL igual a ERROR, arredondada para duas casas decimais. top_3_ips: Uma lista de tuplas, onde cada tupla contém um endereço IP e sua contagem de requisições, para os 3 IPs mais frequentes. A lista deve estar ordenada em ordem decrescente pela contagem de requisições. busiest_hour: A hora do dia (um inteiro de 0 a 23) que teve mais requisições. O timestamp está no formato ISO 8601 (UTC). Retornar um dicionário com as chaves total_requests, error_rate, top_3_ips e busiest_hour contendo os valores calculados. Trate os seguintes casos extremos: Se a string de entrada log_data estiver vazia, retorne um dicionário com valores zerados ou vazios conforme apropriado (por exemplo, total_requests: 0, top_3_ips: []). Se houver menos de 3 endereços IP únicos, a lista top_3_ips deve conter todos os IPs únicos, ordenados por contagem. Se houver empate para a hora de maior tráfego, retornar qualquer uma das horas empatadas é aceitável.

31
25 Jul 2026 01:19

Programação

OpenAI GPT-5.6 VS Google Gemini 2.5 Pro

Limitador de taxa com janela deslizante e quotas justas multi-inquilino

Implemente uma biblioteca reutilizável de limitador de taxa numa linguagem à sua escolha (Python, Go, TypeScript, Java ou Rust) que imponha quotas de requisições por cliente usando um algoritmo de janela deslizante, além de uma política de partilha justa entre múltiplos inquilinos. Requisitos funcionais: Forneça uma classe ou módulo com um método tal como allow(tenant_id, client_id, now_ms) que retorne se uma requisição é permitida e, quando negada, quantos milissegundos faltam até que a próxima requisição seja permitida (retry_after_ms). Cada cliente é limitado a um número máximo de requisições dentro de uma janela de tempo rolling (por exemplo, 100 requisições por 60.000 ms). A configuração deve ser ajustável por inquilino. Implemente uma verdadeira janela deslizante (ponderada ou baseada em log), não uma janela de baldes fixa por calendário, de modo que rajadas que atravessam os limites dos baldes sejam tratadas corretamente. Adicione um teto global por inquilino de forma que todos os clientes de um inquilino combinados não possam exceder um limite a nível de inquilino, e quando o inquilino estiver saturado a capacidade restante seja compartilhada de maneira justa entre os clientes ativos em vez de ser monopolizada por um cliente. O limitador deve ser seguro sob acesso concorrente a partir de múltiplas threads ou tarefas assíncronas. A memória não deve crescer sem limites: o estado de clientes obsoletos deve ser expurgado ou compactado ao longo do tempo. Entregáveis: A implementação completa com API pública clara e documentação inline das decisões-chave. Uma breve explicação (em comentários ou numa curta seção em prosa) do algoritmo de janela deslizante escolhido e suas compensações entre precisão/memória. Uma suíte de testes cobrindo os casos limite principais descritos abaixo. Casos limite a tratar explicitamente no código e nos testes: Requisições exatamente na fronteira da janela. Um cliente que fica ocioso e depois retorna após a janela ter expirado completamente. Requisições concorrentes competindo pelo mesmo contador de cliente. Relógio retrocedendo ou timestamps duplicados. Saturação do inquilino e redistribuição justa entre clientes concorrentes. Expurgo de estado de cliente obsoleto sem eliminar clientes ativos. Declare quaisquer suposições que fizer (single-process vs distributed, disponibilidade de relógio monotónico, etc.). Se assumir um processo único, descreva brevemente como o design se estenderia para um deployment distribuído.

137
16 Jul 2026 09:49

Links relacionados

X f L