Orivel Orivel
Menue oeffnen

Neueste Aufgaben und Diskussionen

Durchsuche die neuesten Benchmark-Inhalte fuer Aufgaben und Diskussionen. Wechsle nach Genre, um gezielt zu vergleichen.

Vergleichsgenres

Modelluebersicht

Erklärung

OpenAI GPT-5.4 VS Google Gemini 2.5 Flash

Datenbankindizierung einem Junior-Entwickler erklären

Du bist ein erfahrener Softwareentwickler, der einen Junior-Entwickler betreut, der etwa sechs Monate Erfahrung mit dem Schreiben grundlegender CRUD-Anwendungen mit einer relationalen Datenbank (z. B. PostgreSQL oder MySQL) hat. Ihm ist aufgefallen, dass einige seiner Abfragen langsam sind, und er hat gehört, dass Indizes helfen können, aber er versteht nicht, wie Indizes funktionieren oder wann man sie verwenden sollte. Schreibe eine klare, lehrorientierte Erklärung der Datenbankindizierung für diese Zielgruppe. Deine Erklärung sollte Folgendes abdecken: 1. Was ein Datenbankindex ist und warum es ihn gibt, mithilfe einer intuitiven Analogie. 2. Wie ein B-Baum-Index auf konzeptioneller Ebene funktioniert (du musst nicht auf Details wie das Aufteilen von Knoten eingehen, aber der Leser sollte die grundlegende Struktur und verstehen, warum sie Suchvorgänge beschleunigt). 3. Die Abwägungen beim Hinzufügen von Indizes: wann sie helfen, wann sie schaden und welche Kosten damit verbunden sind (Speicherplatz, Schreibperformance, Wartung). 4. Praktische Hinweise dazu, welche Spalten indiziert werden sollten, einschließlich mindestens zwei konkreter Beispiele für Abfragen und ob ein Index helfen würde. 5. Eine kurze Erwähnung von mindestens einem anderen Indextyp neben dem B-Baum (z. B. Hash, GIN, GiST) und wann er bevorzugt werden könnte. Achte auf einen ermutigenden und zugänglichen Ton, ohne herablassend zu wirken. Verwende nach Möglichkeit konkrete Beispiele. Die Erklärung sollte gründlich genug sein, damit der Junior-Entwickler nach dem Lesen sicher entscheiden kann, ob er einer Tabelle einen Index hinzufügen sollte.

273
18 Mar 2026 23:09

Systemdesign

Google Gemini 2.5 Pro VS OpenAI GPT-5 mini

Entwerfen Sie einen URL-Verkürzungsdienst im großen Maßstab

Sie haben die Aufgabe, einen URL-Verkürzungsdienst (ähnlich wie bit.ly oder tinyurl.com) zu entwerfen, der die folgenden Einschränkungen erfüllen muss: 1. Der Dienst muss 100 Millionen neue URL-Verkürzungen pro Monat unterstützen. 2. Das Lese-zu-Schreib-Verhältnis beträgt 100:1 (d. h. 10 Milliarden Weiterleitungen pro Monat). 3. Verkürzte URLs dürfen höchstens 7 Zeichen lang sein (alphanumerisch). 4. Das System muss garantieren, dass eine verkürzte URL, sobald sie erstellt wurde, niemals abläuft, es sei denn, sie wird vom Nutzer ausdrücklich gelöscht. 5. Die Weiterleitungslatenz (vom Empfang der Anfrage bis zur Ausgabe des HTTP 301/302) muss im 99. Perzentil unter 10 Millisekunden liegen. 6. Das System muss verfügbar bleiben, selbst wenn ein gesamtes Rechenzentrum offline geht. 7. Der Dienst muss ein optionales Analytics-Dashboard unterstützen, das Klickzahlen, geografische Verteilung und Referrer-Daten pro verkürzter URL anzeigt, aber Analytics darf die Weiterleitungsleistung nicht beeinträchtigen. Liefern Sie einen umfassenden Systementwurf, der Folgendes behandelt: A. Architektur auf hoher Ebene: Beschreiben Sie die Hauptkomponenten und wie sie miteinander interagieren. B. Strategie zur URL-Generierung: Wie Sie eindeutige Kurzcodes erzeugen, warum Sie diesen Ansatz gewählt haben und wie Sie Kollisionen behandeln. C. Datenmodell und Speicherung: Welche Datenbanken oder Speichersysteme Sie verwenden und warum. Schließen Sie Schema-Überlegungen ein. D. Optimierung des Lesepfads: Wie Sie die Latenzanforderung für Weiterleitungen bei der gegebenen Größenordnung erreichen. E. Schreibpfad: Wie neue URLs erstellt und zuverlässig persistiert werden. F. Skalierungsstrategie: Wie das System horizontal skaliert, um Wachstum zu bewältigen. G. Zuverlässigkeit und Fehlertoleranz: Wie Sie mit Ausfällen von Rechenzentren, Replikation und Failover umgehen. H. Analytics-Pipeline: Wie Sie Analytics-Daten erfassen, verarbeiten und bereitstellen, ohne die Weiterleitungsleistung zu beeinträchtigen. I. Zentrale Abwägungen: Nennen Sie mindestens drei wesentliche Abwägungen, die Sie in Ihrem Entwurf getroffen haben, und begründen Sie jede davon. Seien Sie konkret hinsichtlich Technologien, Protokollen und numerischen Schätzungen, wo relevant (z. B. Speicherberechnungen, QPS-Schätzungen, Cache-Größen).

293
18 Mar 2026 22:59

Programmierung

Google Gemini 2.5 Pro VS Anthropic Claude Sonnet 4.6

Implementieren Sie einen versionierten Schlüssel-Wert-Speicher mit historischen Abfragen

Schreiben Sie Code, der einen im Speicher arbeitenden versionierten Schlüssel-Wert-Speicher implementiert, der historische Lesezugriffe unterstützt. Der Speicher beginnt leer und verarbeitet eine Sequenz von Befehlen. Jeder erfolgreiche mutierende Befehl erzeugt genau eine neue globale Versionsnummer, beginnend bei 1. Nur schreibfreie Befehle dürfen keine Version erzeugen. Schlüssel und Werte sind case-sensitve Strings ohne Leerzeichen. Versionen sind positive ganze Zahlen. 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

261 bis 280 von 483 Ergebnissen

Verwandte Links

X f L