Orivel Orivel
Abrir menu

Ultimas tareas y discusiones

Explora el contenido benchmark mas reciente de tareas y discusiones. Filtra por genero para centrarte en lo que quieres comparar.

Generos de Comparacion

Lista de Modelos

Programación

Google Gemini 2.5 Pro VS OpenAI GPT-5.2

Implementar un limitador de tasa concurrente con ventana deslizante y colas de prioridad

Diseña e implementa un limitador de tasa (rate limiter) en Python que sea seguro para hilos (thread-safe) y que admita las siguientes características: 1. **Limitación de tasa con ventana deslizante**: En lugar de usar ventanas de tiempo fijas, implementa un algoritmo de ventana deslizante real. Cada cliente (identificado por una clave de tipo cadena) puede realizar como máximo `max_requests` solicitudes dentro de cualquier ventana móvil de `window_seconds` segundos. 2. **Niveles de prioridad**: Cada solicitud tiene un nivel de prioridad (entero 1-5, donde 1 es la prioridad más alta). Cuando se alcanza el límite de tasa para un cliente, las solicitudes de menor prioridad (número mayor) deben rechazarse primero. Específicamente, si llega una nueva solicitud con prioridad P y la ventana está llena, el limitador debe comprobar si existe alguna solicitud en la ventana actual con prioridad estrictamente menor (número mayor) que P. Si es así, se "revoca" la solicitud de prioridad más baja (mayor número) y se admite la nueva solicitud de mayor prioridad. La solicitud revocada debe registrarse para que pueda informarse. Si no existe ninguna solicitud de menor prioridad para revocar, la nueva solicitud se rechaza. 3. **Permiso de ráfaga (Burst Allowance)**: Cada cliente puede opcionalmente tener una asignación de ráfaga `burst` (por defecto 0). Esto permite hasta `burst` solicitudes adicionales por encima de `max_requests` en una ventana, pero sólo si al menos la mitad de la duración de la ventana ha transcurrido desde la primera solicitud del cliente en la ventana actual. 4. **Seguridad para hilos (Thread Safety)**: El limitador de tasa debe ser seguro para uso concurrente desde múltiples hilos. Demuestra esto con un escenario de prueba. 5. **Estadísticas**: El limitador debe rastrear estadísticas por cliente: total de solicitudes admitidas, total rechazadas, total revocadas (removidas por solicitudes de mayor prioridad) y utilización actual de la ventana (como un float de 0.0 a 1.0). Implementa la siguiente interfaz: ```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. """ ... ``` Proporciona una implementación completa y ejecutable junto con un script de demostración que: - Cree un limitador con max_requests=5, window_seconds=10.0, default_burst=2 - Simule una secuencia de solicitudes de dos clientes con prioridades y marcas de tiempo variables que ejerciten todas las características (expiración por ventana deslizante, revocación por prioridad, activación de ráfaga y rechazo) - Imprima las estadísticas y los registros de revocación para cada cliente al final - Incluya una breve prueba multihilo con al menos 4 hilos realizando solicitudes concurrentes Asegúrate de manejar casos límite tales como: - Validación del valor de prioridad (debe ser 1-5) - Solicitudes que llegan exactamente en los límites de la ventana - Múltiples revocaciones en secuencia - Activación de la asignación de ráfaga exactamente en el punto de la mitad de la ventana - IDs de cliente vacíos o desconocidos en consultas de estadísticas

148
19 Mar 2026 14:46

Diseño de sistemas

Anthropic Claude Opus 4.6 VS Google Gemini 2.5 Pro

Diseñar un servicio global de acortamiento de URL

Diseñe un servicio público de acortamiento de URL similar a Bitly. El servicio debe permitir a los usuarios crear enlaces cortos para URL largas, especificar opcionalmente un alias personalizado si está disponible, y redirigir a los usuarios que visiten el enlace corto al destino original. Incluya una funcionalidad básica de analítica que informe el total de clics por enlace y clics por día durante los últimos 30 días. Asuma las siguientes restricciones: - 120 million new short links are created per month. - 1.2 billion redirect requests are served per month. - Read traffic is highly bursty, especially for viral links. - The service is used globally and users expect low-latency redirects. - Short links should remain valid for at least 5 years. - Redirect availability target is 99.99 percent. - Analytics may be eventually consistent by up to 10 minutes. - The system should prevent obvious abuse at a basic level, but a full trust and safety platform is out of scope. En su diseño, cubra: - High-level architecture and main components. - Data model and storage choices for link mappings and analytics. - ID or token generation strategy, including custom alias handling. - API design for creating links, redirecting, and fetching analytics. - Caching, partitioning, and replication strategy. - Reliability approach, including failure handling and multi-region considerations. - How you would scale for read-heavy traffic and viral hotspots. - Key trade-offs in consistency, cost, latency, and operational complexity. Indique cualquier suposición razonable que haga y justifique sus elecciones.

159
19 Mar 2026 08:02

Diseño de sistemas

Google Gemini 2.5 Pro VS Anthropic Claude Sonnet 4.6

Diseñar un servicio global de acortamiento de URLs

Diseñe un servicio público de acortamiento de URLs similar a Bitly. Los usuarios pueden enviar una URL larga y recibir un alias corto; luego cualquiera puede usar el enlace corto para ser redirigido a la URL original. Su diseño debe soportar estos requisitos y restricciones: Requisitos funcionales: - Crear enlaces cortos para URLs válidas arbitrarias. - Redirigir enlaces cortos con baja latencia. - Soportar aliases personalizados opcionales cuando estén disponibles. - Proporcionar analíticas básicas por enlace: clics totales, clics en las últimas 24 horas y los 5 principales países por número de clics. - Permitir fechas de expiración de enlaces. Suposiciones de escala: - 120 millones de nuevos enlaces cortos por día. - 8 mil millones de solicitudes de redirección por día. - Carga con predominio de lecturas y fuerte sesgo de tráfico: una pequeña fracción de enlaces recibe tráfico muy alto. - Usuarios globales en Norteamérica, Europa y Asia. Restricciones: - Objetivo de disponibilidad del 99,99% para las redirecciones. - P95 de latencia de redirección por debajo de 80 ms para usuarios en las principales regiones. - Los enlaces recién creados deberían ser utilizables globalmente en 2 segundos. - Las analíticas pueden ser eventualmente consistentes, pero las redirecciones deben ser correctas. - El presupuesto importa: justifique dónde gastaría en mayor consistencia o replicación multirregión y dónde lo evitaría. - Suponga que no existe un producto de analítica gestionado por terceros; diseñe el sistema central usted mismo. Por favor proporcione: - Una arquitectura de alto nivel con los componentes principales y el flujo de datos. - Opciones de almacenamiento para los mapeos de enlaces, los eventos de analítica y los enlaces calientes en caché. - Estrategia de generación de IDs o aliases, incluyendo manejo de colisiones y comprobaciones de aliases personalizados. - Diseño de API para create-link, redirect y analytics retrieval. - Enfoque de escalado para claves calientes, caching, particionado y tráfico multirregión. - Estrategia de fiabilidad que cubra conmutación por error, replicación de datos, backups y comportamiento bajo degradación. - Principales compensaciones y al menos dos alternativas de diseño que consideró y rechazó.

149
19 Mar 2026 04:33

Explicación

Google Gemini 2.5 Pro VS OpenAI GPT-5.4

Explicar el indexado de bases de datos a un desarrollador junior

Eres un ingeniero de software sénior que está mentorando a un desarrollador junior que ha estado escribiendo consultas SQL durante unos seis meses pero nunca ha creado ni pensado en índices de bases de datos. Acaba de quejarse de que sus consultas en una tabla con dos millones de filas se están ejecutando lentamente. Escribe una explicación clara y orientada a la enseñanza sobre el indexado de bases de datos para este público. Tu explicación debe cubrir lo siguiente: 1. Qué es un índice de base de datos y por qué existe, usando al menos una analogía concreta que un principiante encuentre intuitiva. 2. Cómo un índice básico (por ejemplo, un índice B-tree) acelera las búsquedas en consultas en comparación con un escaneo completo de la tabla, con suficiente detalle para que el desarrollador junior entienda conceptualmente la diferencia de rendimiento. 3. Los compromisos (trade-offs) de añadir índices, incluidos los costos que no son inmediatamente obvios. 4. Orientación práctica sobre cuándo añadir un índice y cuándo no hacerlo, con al menos dos ejemplos realistas de cada caso. 5. Una nota breve sobre los índices compuestos y la importancia del orden de las columnas dentro de ellos. Busca un tono que sea alentador y accesible, evitando jerga innecesaria aunque manteniéndote técnicamente preciso. La explicación debe ser lo bastante completa como para que el desarrollador junior pueda decidir con confianza si añadir un índice a una columna dada después de leerla.

155
19 Mar 2026 02:59

Diseño de sistemas

Google Gemini 2.5 Pro VS OpenAI GPT-5 mini

Diseñar un servicio de acortamiento de URL a gran escala

Se le encomienda diseñar un servicio de acortamiento de URL (similar a bit.ly o tinyurl.com) que debe manejar las siguientes restricciones: 1. El servicio debe admitir 100 millones de nuevos acortamientos de URL por mes. 2. La relación lectura-escritura es 100:1 (es decir, 10.000 millones de redirecciones por mes). 3. Las URL acortadas deben tener como máximo 7 caracteres (alfanuméricos). 4. El sistema debe garantizar que una URL acortada, una vez creada, nunca caduque a menos que el usuario la elimine explícitamente. 5. La latencia de redirección (desde la recepción de la solicitud hasta emitir el HTTP 301/302) debe ser inferior a 10 milisegundos en el percentil 99. 6. El sistema debe permanecer disponible incluso si todo un centro de datos deja de estar en línea. 7. El servicio debe admitir un panel de análisis opcional que muestre recuentos de clics, distribución geográfica y datos de referenciador por URL acortada, pero la analítica no debe degradar el rendimiento de las redirecciones. Proporcione un diseño de sistema integral que aborde: A. Arquitectura de alto nivel: Describa los componentes principales y cómo interactúan. B. Estrategia de generación de URL: Cómo genera códigos cortos únicos, por qué eligió ese enfoque y cómo maneja las colisiones. C. Modelo de datos y almacenamiento: Qué bases de datos o sistemas de almacenamiento usa y por qué. Incluya consideraciones de esquema. D. Optimización del camino de lectura: Cómo alcanza el requisito de latencia para redirecciones a la escala dada. E. Camino de escritura: Cómo se crean y persisten de forma fiable las nuevas URL. F. Estrategia de escalado: Cómo escala horizontalmente el sistema para manejar el crecimiento. G. Confiabilidad y tolerancia a fallos: Cómo maneja fallos de centros de datos, replicación y conmutación por error. H. Canalización de analítica: Cómo recopila, procesa y sirve los datos de analítica sin afectar el camino crítico de redirección. I. Principales compensaciones: Identifique al menos tres compensaciones significativas que haya tomado en su diseño y justifique cada una. Sea específico acerca de tecnologías, protocolos y estimaciones numéricas donde corresponda (p. ej., cálculos de almacenamiento, estimaciones de QPS, tamaños de caché).

151
18 Mar 2026 22:59

Programación

Google Gemini 2.5 Pro VS Anthropic Claude Sonnet 4.6

Implementar un almacén de clave-valor versionado con consultas históricas

Escriba código que implemente un almacén de clave-valor versionado en memoria que soporte lecturas históricas. El almacén comienza vacío y procesa una secuencia de comandos. Cada comando mutador exitoso crea exactamente un nuevo número de versión global, empezando desde 1. Los comandos de solo lectura no deben crear una versión. Las claves y los valores son cadenas sensibles a mayúsculas y minúsculas sin espacios. Las versiones son enteros positivos. Commands: SET key value Create or overwrite key with value. DELETE key Remove key if it exists. GET key Return the current value for key, or NULL if the key does not exist. GET_VERSION key version Return the value associated with key immediately after the specified global version was created, or NULL if the key did not exist at that version. If version is greater than the latest existing version, treat it as invalid and return INVALID_VERSION. HISTORY key Return all historical states for the key in increasing version order, including deletions, formatted as version:value pairs separated by commas. Use NULL for deleted or absent-after-mutation states. If the key has never been affected by any mutating command, return EMPTY. Input format: The first line contains an integer N, the number of commands. The next N lines each contain one command. Output format: For every GET, GET_VERSION, and HISTORY command, print one line with the result. Behavior details and edge cases: - Every SET always creates a new version, even if the value is unchanged. - Every DELETE always creates a new version, even if the key does not exist. - Versions are global across all keys, not per key. - HISTORY for a key should include only versions where that key was directly affected by SET or DELETE. - If a key was deleted and later set again, both events must appear in HISTORY. - Efficiency matters: assume up to 200000 commands, with many historical queries. Your solution should read from standard input and write to standard output. Include the full working program in one file. You may use any mainstream programming language, but the code should be complete and executable as written.

171
18 Mar 2026 22:33

Preguntas educativas

Google Gemini 2.5 Pro VS OpenAI GPT-5.4

Explicar la paradoja del teorema de Banach–Tarski y sus implicaciones educativas

La paradoja de Banach–Tarski afirma que una bola sólida en el espacio tridimensional se puede descomponer en un número finito de piezas no solapadas, las cuales pueden luego ser reensambladas (usando únicamente rotaciones y traslaciones) en dos bolas sólidas, cada una idéntica en tamaño a la original. Responda lo siguiente en un ensayo estructurado: 1. Indique con precisión cuántas piezas se necesitan en la demostración estándar del teorema de Banach–Tarski (dé el número mínimo exacto establecido en la bibliografía). 2. Explique por qué este resultado no contradice la realidad física ni la conservación de la masa. En su explicación, identifique la propiedad matemática específica que deben tener las piezas y que impide que sean realizables físicamente, y nombre el axioma de la teoría de conjuntos del que depende fundamentalmente la demostración. 3. Describa cómo se relaciona el concepto de “medida” (en el sentido de la medida de Lebesgue) con esta paradoja. ¿Por qué no podemos simplemente decir que los volúmenes deben sumarse? 4. Discuta cómo se usa este teorema en la educación matemática a nivel avanzado de pregrado o posgrado. ¿Qué lecciones clave sobre los fundamentos de las matemáticas—específicamente respecto al Axioma de Elección, los conjuntos no medibles y los límites de la intuición geométrica—ilustra? Sugiera un enfoque pedagógico para introducir este tema a estudiantes que lo encuentran por primera vez. Su ensayo debe ser riguroso pero accesible, demostrando tanto precisión matemática como perspectiva educativa.

158
18 Mar 2026 20:40

Acompañamiento

OpenAI GPT-5.4 VS Google Gemini 2.5 Pro

Ayudando a un amigo a navegar un cambio de carrera a los 40

Tu amigo cercano, Alex (40 años), ha trabajado como contador durante 15 años. Alex recientemente te confió que siente una profunda insatisfacción y quiere cambiar de carrera para convertirse en profesor de matemáticas de secundaria. Sin embargo, Alex está preocupado por varias cosas: una reducción significativa de sueldo, la posible desaprobación de su cónyuge, sentirse como un principiante de nuevo a su edad, y si es demasiado tarde para empezar de cero. Alex aún no tiene credenciales docentes, pero siempre le ha encantado dar clases particulares informalmente a los niños del vecindario. Escribe una respuesta reflexiva y de apoyo a Alex como si fueras un amigo cariñoso y sabio. Tu respuesta debe: 1. Reconocer y validar los sentimientos de Alex sin minimizar sus preocupaciones. 2. Ayudar a Alex a pensar en las realidades prácticas (finanzas, credenciales, cronograma) de manera equilibrada—ni demasiado optimista ni desalentadora. 3. Abordar las dimensiones emocionales (miedo a empezar de nuevo, dinámica con la pareja, cambio de identidad) con empatía y matices. 4. Sugerir pasos concretos que Alex podría dar para explorar esta transición antes de tomar una decisión irreversible. 5. Reconocer los límites de tu consejo como amigo y señalar suavemente cuándo podría ser valiosa la orientación profesional (por ejemplo, orientador profesional, planificador financiero, terapeuta de pareja). Apunta a un tono cálido y conversacional que utilizaría un amigo real—no clínico ni formulaico.

138
16 Mar 2026 07:32

Persuasión

Anthropic Claude Sonnet 4.6 VS Google Gemini 2.5 Pro

Persuadir a un concejo municipal escéptico para que ponga en marcha un programa piloto de calles escolares sin coches

Escribe un discurso persuasivo dirigido a un concejo municipal que está considerando un programa piloto de seis meses para hacer que las calles inmediatamente alrededor de tres escuelas primarias estén libres de coches durante los horarios de entrada y salida de los estudiantes. Tu objetivo es convencer a los miembros escépticos del concejo de aprobar el piloto. Detalles de la audiencia: - El concejo está preocupado por el desvío de tráfico, la inconveniencia para los padres que trabajan y la reacción negativa de los negocios locales. - Están abiertos a la evidencia y a compromisos prácticos, pero no les gusta el lenguaje ideológico o acusatorio. Contenido requerido: - Declara claramente la propuesta y por qué un piloto es una forma de bajo riesgo para probarla. - Haz al menos tres argumentos distintos, incluidos la seguridad de los estudiantes, beneficios para la salud o el aprendizaje, y la calidad de vida del vecindario o la gestión del tráfico. - Aborda al menos dos objeciones serias de manera justa y refútalas con pasos de mitigación realistas. - Incluye un ejemplo o escenario breve e ilustrativo. - Termina con una llamada a la acción concreta. Restricciones: - Extensión: 500 a 700 palabras. - Tono: respetuoso, pragmático y persuasivo. - No inventes estadísticas, estudios ni expertos nombrados. Si mencionas evidencia, descríbela solo en términos generales. - No uses viñetas. Contexto: La ciudad es de tamaño medio, con barrios residenciales y comerciales mezclados. Las escuelas actualmente experimentan una fuerte congestión en la recogida y entrega, con vehículos estacionados en doble fila, motores en ralentí y acercamientos peligrosos que involucran a niños. Algunas familias ya caminan, van en bicicleta o usan autobuses, mientras que muchas siguen dependiendo del coche. El piloto propuesto permitiría el acceso de residentes, vehículos de emergencia, autobuses escolares y vehículos para personas con necesidades de movilidad. Política de evaluación: Una buena respuesta aborda directamente las preocupaciones del concejo mientras presenta un caso convincente para el piloto. Debe presentar una propuesta clara, desarrollar múltiples argumentos bien enmarcados y mostrar una estructura persuasiva en lugar de solo enumerar pros y contras. Las respuestas sólidas reconocen objeciones legítimas y las responden con medidas de mitigación factibles y específicas. Deben sonar creíbles sin recurrir a hechos inventados, usar un tono cívico apropiado y terminar con una petición concreta y motivadora para aprobar el programa de prueba.

154
16 Mar 2026 04:13

Mostrando 41 a 60 de 95 resultados

Enlaces relacionados

X f L