Orivel Orivel
Ouvrir le menu

Dernieres taches et discussions

Parcourez les derniers contenus benchmark (taches et discussions). Filtrez par genre pour cibler ce que vous voulez comparer.

Genres de comparaison

Liste des modeles

Explication

OpenAI GPT-5.4 VS Google Gemini 2.5 Flash

Expliquer l'indexation des bases de données à un développeur junior

Vous êtes un ingénieur logiciel senior qui encadre un développeur junior ayant environ six mois d'expérience dans l'écriture d'applications CRUD basiques avec une base de données relationnelle (par exemple PostgreSQL ou MySQL). Il/elle a remarqué que certaines de ses requêtes sont lentes et a entendu que les index peuvent aider, mais il/elle ne comprend pas comment les index fonctionnent ni quand les utiliser. Rédigez une explication claire et pédagogique de l'indexation des bases de données pour ce public. Votre explication doit couvrir : 1. Ce qu'est un index de base de données et pourquoi il existe, en utilisant une analogie intuitive. 2. Comment fonctionne un index B-tree au niveau conceptuel (vous n'avez pas besoin d'entrer dans les détails de la division des nœuds, mais le lecteur doit comprendre la structure de base et pourquoi cela accélère les recherches). 3. Les compromis liés à l'ajout d'index : quand ils aident, quand ils nuisent, et les coûts impliqués (stockage, performances d'écriture, maintenance). 4. Des conseils pratiques pour décider quelles colonnes indexer, incluant au moins deux exemples concrets de requêtes et si un index aiderait ou non. 5. Une brève mention d'au moins un autre type d'index au-delà du B-tree (par ex. hash, GIN, GiST) et quand il pourrait être préféré. Adoptez un ton encourageant et accessible sans être condescendant. Utilisez des exemples concrets quand c'est possible. L'explication doit être suffisamment complète pour que le développeur junior puisse, après lecture, décider en toute confiance s'il faut ajouter un index à une table.

273
18 Mar 2026 23:09

Conception de systèmes

Google Gemini 2.5 Pro VS OpenAI GPT-5 mini

Concevoir un service de raccourcissement d'URL à grande échelle

On vous confie la conception d'un service de raccourcissement d'URL (similaire à bit.ly ou tinyurl.com) qui doit respecter les contraintes suivantes : 1. Le service doit supporter 100 millions de nouveaux raccourcissements d'URL par mois. 2. Le ratio lecture/écriture est de 100:1 (c.-à-d. 10 milliards de redirections par mois). 3. Les URL raccourcies doivent comporter au maximum 7 caractères (alphanumériques). 4. Le système doit garantir qu'une URL raccourcie, une fois créée, n'expire jamais à moins d'être explicitement supprimée par l'utilisateur. 5. La latence de redirection (de la réception de la requête à l'émission du HTTP 301/302) doit être inférieure à 10 millisecondes au 99e centile. 6. Le système doit rester disponible même si un centre de données entier devient indisponible. 7. Le service doit prendre en charge un tableau de bord d'analyse optionnel affichant les comptes de clics, la répartition géographique et les données des référents par URL raccourcie, mais l'analytique ne doit pas dégrader la performance des redirections. Fournissez une conception système complète qui aborde : A. Architecture haute-niveau : Décrivez les composants principaux et comment ils interagissent. B. Stratégie de génération d'URL : Comment vous générez des codes courts uniques, pourquoi vous avez choisi cette approche, et comment vous gérez les collisions. C. Modèle de données et stockage : Quelles bases de données ou systèmes de stockage vous utilisez et pourquoi. Incluez les considérations de schéma. D. Optimisation du chemin de lecture : Comment vous atteignez l'exigence de latence pour les redirections à cette échelle. E. Chemin d'écriture : Comment les nouvelles URL sont créées et persistées de manière fiable. F. Stratégie de mise à l'échelle : Comment le système évolue horizontalement pour gérer la croissance. G. Fiabilité et tolérance aux pannes : Comment vous gérez les pannes de centres de données, la réplication et le basculement. H. Pipeline d'analytique : Comment vous collectez, traitez et servez les données analytiques sans impacter le chemin critique de redirection. I. Principaux compromis : Identifiez au moins trois compromis significatifs que vous avez faits dans votre conception et justifiez chacun. Soyez précis concernant les technologies, protocoles et estimations numériques lorsque c'est pertinent (par exemple, calculs de stockage, estimations de QPS, tailles de cache, analyse de l'espace de clés des codes courts).

293
18 Mar 2026 22:59

Programmation

Google Gemini 2.5 Pro VS Anthropic Claude Sonnet 4.6

Implémenter un magasin clé-valeur versionné avec requêtes historiques

Écrivez du code qui implémente un magasin clé-valeur versionné en mémoire prenant en charge les lectures historiques. Le magasin commence vide et traite une séquence de commandes. Chaque commande mutative réussie crée exactement un nouveau numéro de version global, en commençant par 1. Les commandes en lecture seule ne doivent pas créer de version. Les clés et valeurs sont des chaînes sensibles à la casse sans espaces. Les versions sont des entiers positifs. 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.

297
18 Mar 2026 22:33

Affichage de 261 a 280 sur 483 resultats

Liens associes

X f L