Versionen

Was ist neu

Aktualisierungsverlauf der SQL Arena. Neueste Versionen oben.

v5.2.05. Juni 2026Aktuell

Every task is now solved by writing SQL — new task formats and catalog filters, plus new task packs.

Hinzugefügt
  • New task types: debugging, data-quality checks, index design, query rewriting, schema design with constraints, transactions & locking, and access permissions (GRANT/REVOKE).
  • New catalog filters: by task format, difficulty, solved status, dialect (PostgreSQL/MySQL) and favorites.
  • Permissions tasks are graded by the resulting privilege set (least privilege enforced).
  • Transaction tasks are graded under real concurrency: safe debits, atomic transfers, idempotency, isolation levels and row locks.
  • New task packs: ride-hailing analytics, data modification, schema design, recursive hierarchies and product events.
  • Your chosen SQL dialect (PostgreSQL/MySQL) now persists across tasks.
  • Most tasks now show a preview of the expected output.
  • Hundreds of new step-by-step hints, plus an AI mentor that explains the errors in your query.
Geändert
  • Every format is now code-writing: you write real SQL instead of picking an answer.
  • Task descriptions are living business scenarios in Russian and English; difficulty levels recalibrated.
v5.1.33. Juni 2026
Behoben
  • AI task generation: descriptions now read as a real business scenario and no longer give away the solution — formulas, SQL function names and dry table listings are kept out of the text.
v5.1.23. Juni 2026
Geändert
  • Company examples on the home page and in Premium are now locale-aware: the Russian site shows Russian employers, every other locale shows international ones (Tesla, Uber, Microsoft, Spotify, Meta) whose tasks we carry.
v5.1.13. Juni 2026
Behoben
  • Removed a stray privacy notice banner on the user profile page.
v5.1.03. Juni 2026

Die Oberfläche spricht jetzt jede EU-Sprache — 21 neue Sprachen.

Hinzugefügt
  • 21 EU-Sprachen hinzugefügt: Deutsch, Französisch, Italienisch, Niederländisch, Polnisch, Rumänisch, Griechisch, Tschechisch, Ungarisch, Schwedisch, Dänisch, Finnisch, Slowakisch, Bulgarisch, Kroatisch, Litauisch, Slowenisch, Lettisch, Estnisch, Irisch und Maltesisch. Wähle eine im Sprachumschalter, oder sie wird automatisch anhand deines Landes und der Browsersprache erkannt.
  • Die Seite „Fehler melden“ heißt jetzt „Feedback“ (unter /feedback) und hat zwei Tabs: „Fehler melden“ und „Verbesserung vorschlagen“. Verbesserungsvorschläge erreichen das Team genauso wie Fehlerberichte.
Geändert
  • In den Profileinstellungen wird jetzt das Enddatum des Abos angezeigt, und die Formulierung „einmalige Zahlung“ wurde entfernt.
  • Das Aufklappmenü des Sprachumschalters ist jetzt kompakter.
Behoben
  • Profile lassen sich für angemeldete Nutzer wieder aus der Bestenliste öffnen — die Privatsphäre verbirgt ein Profil nur vor anonymen Besuchern. Das URL-Kürzel des Profils lässt sich nicht mehr löschen, sodass jedes Profil per Link erreichbar bleibt.
v5.0.11. Juni 2026
Behoben
  • Die Zahlung mit einer ausländischen Karte (Tab Visa/MC) auf der russischen Seite wird jetzt korrekt in USD berechnet und über Paddle abgewickelt, statt YooKassa mit einem Rubelbetrag zu öffnen.
v5.0.01. Juni 2026

Zertifizierung: Bestehe eine Prüfung unter Zeitdruck und erhalte ein überprüfbares Niveau-Zertifikat.

Hinzugefügt
  • Zertifizierungsprüfungen: drei Stufen (Foundations / Practitioner / Expert), je 8 Aufgaben, ein Timer pro Aufgabe, Bestehensgrenze 7 von 8. Jeder Versuch erhält seinen eigenen Datensatz, sodass Antworten nicht im Voraus auswendig gelernt werden können.
  • Ein überprüfbares Zertifikat mit QR-Code, der auf dein öffentliches Profil verweist; im Profil erscheint nun ein Zertifikate-Bereich.
  • Lösche dein Konto direkt aus den Profileinstellungen.
Geändert
  • Die Profileinstellungen wurden im klaren Stil einer gegliederten Liste neu gestaltet; Premium-Nutzer erhalten einen animierten Ring um ihren Avatar.
v4.1.1129. Mai 2026
Geändert
  • Bewertung bei 324 Aufgaben verschärft: Sie läuft jetzt auf einem versteckten Datensatz, sodass man nicht mehr besteht, indem man die sichtbare Beispiellösung anpasst.
v4.1.1029. Mai 2026
Geändert
  • Die Autovervollständigung im Editor schlägt jetzt mit WITH deklarierte CTE-Namen vor, wenn du FROM/JOIN tippst.
v4.1.929. Mai 2026
Geändert
  • AI Mentor sieht jetzt deinen Fehler und die aktuelle Query auch nach dem Ausführen — eine neue Schaltfläche „Meinen Fehler erklären“ lässt dich jeden Fehler besprechen, einschließlich Syntaxfehlern.
v4.1.829. Mai 2026
Geändert
  • Aufgabe #91: Die Bewertung läuft jetzt auf einem versteckten Datensatz — man besteht nicht mehr, indem man das sichtbare Beispiel anpasst (z. B. über LIMIT oder eine fest codierte Länge).
v4.1.726. Mai 2026
Geändert
  • Aufgabe #13: Der verräterische Filter-Hinweis wurde aus der Aufgabenstellung entfernt — du leitest die Lösung jetzt selbst her.
v4.1.623. Mai 2026
Geändert
  • Die Skill Map deckt jetzt jede Aufgabenkategorie ab (CTE, DDL, Transaktionen, Optimierung hinzugefügt) und ist größer und leichter zu lesen.
Behoben
  • Der „Was verbessern“-Hinweis der Skill Map verweist jetzt auf das Thema mit den meisten ungelösten Aufgaben statt auf ein zufälliges.
  • Das Jahresaktivitätsdiagramm zeigt wieder vollständige Monatsnamen, statt sie auf einen einzigen Buchstaben zu kürzen.
v4.1.523. Mai 2026
Behoben
  • Lösungen, die ein Zeitintervall zurückgeben (z. B. die Differenz zweier Uhrzeiten), schlagen beim Absenden nicht mehr fehl.
v4.1.421. Mai 2026
Behoben
  • Aufgabe #88: Daten korrigiert — Abflüge aus Paris haben jetzt unterschiedliche Dauern statt drei identischer Zeilen.
v4.1.320. Mai 2026
Behoben
  • Rückgängig (Strg+Z) im Editor führt jetzt einen separaten Verlauf pro Query-Tab.
v4.1.220. Mai 2026
Geändert
  • Aufgabe #624: Die Aufgabenstellung weist jetzt darauf hin, dass der Durchschnittspreis auf 2 Dezimalstellen gerundet werden muss.
Behoben
  • SQL-Editor-Vorschläge werden nach dem Wechsel zwischen Aufgaben nicht mehr dupliziert.
  • Aufgabe #621: Clubs ohne Mitglieder erscheinen jetzt mit einem Umsatz von null im Ergebnis.
v4.1.120. Mai 2026
Geändert
  • Schwierigkeitsgrad von Aufgabe #831 von EXPERT auf MEDIUM geändert.
v4.1.016. Mai 2026

SQL Arena ist jetzt mehrsprachig: Englisch, Spanisch und Portugiesisch, jeweils mit eigenen Seiten-URLs und automatischer Regionserkennung.

Hinzugefügt
  • Sprachumschalter: Russisch, Englisch, Spanisch (Spanien und Lateinamerika) und Portugiesisch.
  • Beim ersten Besuch öffnet sich die Seite in der Sprache deiner Region, und deine Wahl wird gespeichert.
  • Jede Sprache hat eigene Seiten-URLs (/en, /es, /es-419, /pt-br), die sich gefahrlos teilen lassen.
  • Premium-Checkout in deiner Landeswährung: RUB, USD, EUR oder BRL je nach Region.
Geändert
  • Die englische Seite wird vollständig unterstützt; spanische und portugiesische Übersetzungen werden schrittweise ausgerollt.
v4.0.1118. Mai 2026

Aufgaben zur Tabellenerstellung akzeptieren jede gültige Form, Fehlerhinweise sind jetzt relevant, und eine Aufgabe mit mehrdeutiger Antwort wurde korrigiert.

Behoben
  • Die Aufgabe „beliebtestes Kurspaar“: Die Beispieldaten ließen mehrere gleichwertige Antworten zu, während die Bewertung nur eine akzeptierte. Die Aufgabe hat jetzt eine einzige richtige Antwort.
  • CREATE TABLE-Aufgaben wiesen eine korrekte Lösung zurück, wenn der Lernende eine Einschränkung benannte (z. B. CONSTRAINT ... PRIMARY KEY). Die Bewertung vergleicht jetzt die Tabellenstruktur — Einschränkungsnamen werden ignoriert.
  • Eine fehlgeschlagene Tabellenerstellungs-Aufgabe zeigte einen irrelevanten Hinweis „ORDER BY hinzufügen“. Der Hinweis ist jetzt treffend — zu Spalten, Typen, NOT NULL und Schlüsseln.
v4.0.1017. Mai 2026

Aufgaben zur Datenänderung werden genau so gelöst, wie es die Aufgabenstellung sagt — kein undokumentiertes Verifizierungs-SELECT.

Behoben
  • INSERT/UPDATE/DELETE- und Transaktionsaufgaben (einschließlich UPSERT, MERGE, SKIP LOCKED) verlangten kein undokumentiertes Verifizierungs-SELECT mehr. Sie werden jetzt anhand des resultierenden Tabellenzustands bewertet, und die Aufgabenseite zeigt den Hinweis „kein abschließendes SELECT nötig“.
  • Top-Lösungen: Servicekonten erscheinen nicht mehr in der Liste — passend zur öffentlichen Bestenliste.
v4.0.917. Mai 2026

Aufgaben zur Tabellen- und Indexerstellung werden jetzt genau so gelöst, wie es die Aufgabenstellung sagt — kein undokumentiertes SELECT; die Live-Aktualisierung der Bestenliste funktioniert wieder.

Behoben
  • DDL-Aufgaben (CREATE TABLE, ALTER, CREATE INDEX, Fremdschlüssel) verlangten kein undokumentiertes Verifizierungs-SELECT mehr. Sie werden jetzt anhand des resultierenden Datenbankschemas bewertet, und die Aufgabenseite zeigt den Hinweis „kein abschließendes SELECT nötig“.
  • Bestenlisten-Seite: Live-Aktualisierung wiederhergestellt — die WebSocket-Verbindung der Bestenliste bricht nicht mehr ab.
  • Schemadiagramm: Bei einigen Aufgaben wurden keine Verbindungen zwischen Tabellen angezeigt — Fremdschlüsselpfeile erscheinen jetzt im Diagramm.
  • Der „Richtig!“-Dialog zeigt einen Rangverlust nicht mehr als Aufstieg an — das Rang-Badge erscheint nur bei einem echten Aufstieg.
v4.0.816. Mai 2026

CREATE / ALTER TABLE-Aufgaben und andere mehrstufige Lösungen können wieder abgesendet werden — das Anweisungslimit pro Absendung war zu streng.

Behoben
  • Das Anweisungslimit pro Absendung wurde von 3 auf 20 angehoben: DDL-Aufgaben (CREATE TABLE, ALTER, Indizes, Trigger) und mehrstufiges DML werden nicht mehr mit dem Fehler „zu viele Anweisungen“ abgewiesen.
v4.0.716. Mai 2026

Die MySQL-Variante der Katalogaufgaben ist wieder mit PostgreSQL synchron — einige MySQL-Aufgaben wurden gegen veraltete Daten bewertet.

Behoben
  • Die MySQL-Variante von Hunderten von Aufgaben lief auf einem veralteten Datensatz — die Seeds wurden neu synchronisiert, die MySQL-Antwort stimmt wieder mit PostgreSQL überein.
  • Sechs Aufgaben, die nur in PostgreSQL funktionierten, haben jetzt eine funktionierende MySQL-Variante.
  • CREATE TABLE / CREATE INDEX / ALTER-Aufgaben werden anhand des resultierenden Tabellenschemas bewertet — eine falsche Struktur wird nicht mehr als korrekt akzeptiert.
  • INSERT-Aufgaben mit CURRENT_TIMESTAMP / NOW() weisen eine korrekte Antwort nicht mehr wegen eines Laufzeitunterschieds zurück.
  • Beispielausgaben, die versehentlich die exakte Antwort verrieten, wurden durch spoilerfreie Proben ersetzt; die Zeilenreihenfolge wird erzwungen, wo eine Aufgabe sie verlangt.
  • Ein katalogweites Audit richtete Aufgabenstellung, Bewertungsdaten und Referenzlösung bei mehreren Dutzend Aufgaben wieder aufeinander aus, bei denen sie auseinandergedriftet waren.
v4.0.616. Mai 2026

Bewertung mehrstufiger Lösungen behoben — ein DELETE/UPDATE mit abschließendem SELECT wird jetzt korrekt bewertet.

Geändert
  • Datums- und Zeitangaben in Query-Ergebnissen werden jetzt sauber als 2024-01-15 08:00:00 angezeigt statt im technischen ISO-Format.
Behoben
  • DML-Aufgaben (DELETE, UPDATE, INSERT) mit einem Verifizierungs-SELECT weisen eine korrekte Antwort nicht mehr als „zusätzliche Spalten“ zurück.
  • Aufgabe #768: Die Aufgabenstellung stimmt jetzt mit der bewerteten Antwort überein.
  • Der Hinweis bei falscher Antwort schlägt nicht mehr vor, mit dem Beispielblock zu vergleichen, der absichtlich nicht exakt ist.
  • Reine UPDATE / DELETE / INSERT-Aufgaben werden jetzt anhand des resultierenden Tabellenzustands bewertet — eine falsche Mutation wird nicht mehr als korrekt akzeptiert.
v4.0.516. Mai 2026

Fünf Aufgaben korrigiert, bei denen der Aufgabentext nicht zu Schema und Antwort passte.

Behoben
  • Aufgaben #762, #763, #764, #765, #809: Aufgabenstellung neu geschrieben, damit sie zum tatsächlichen Schema und zur erwarteten Antwort passt.
  • KI-Aufgabengenerierung, AI Mentor und das Bug-Report-Formular: Bei Rate-Limit zeigen sie jetzt „in N Sekunden erneut versuchen“ statt „ThrottlerException“.
v4.0.415. Mai 2026

Aufgabe #17 behoben — der Bewerter lieferte wegen eines Schemafehlers NULL zurück.

Behoben
  • Aufgabe #17 (average-post-hiatus): Schema mit dem Seed abgeglichen, der Bewerter funktioniert wieder.
v4.0.315. Mai 2026

Bei der Aufgabe „Alte Zeilen in einem Rutsch ins Archiv verschieben — race-frei“ (#789) verlangte die Aufgabenstellung eine Spalte customer_id, die im Schema nicht existiert. Der Wortlaut ist jetzt mit dem tatsächlichen Schema und Bewerter abgeglichen: id, status, amount.

Behoben
  • Aufgabe #789 (hard-cte-atomic-archive): Die Beschreibung erwähnte eine nicht existierende Spalte customer_id. Der Wortlaut passt jetzt zum Schema orders / orders_archive und zu den erwarteten Spalten id, status, amount.
v4.0.215. Mai 2026

Die Meldung „Zu viele Anfragen“ zeigt jetzt das genaue Limit und die Sekunden bis zum Zurücksetzen statt des kryptischen „ThrottlerException“. Das serverseitige Rate-Limit wurde angehoben, sodass schnelle Track-Navigation nicht mehr an die Decke stößt.

Geändert
  • Serverseitiges Rate-Limit für reguläre API-Anfragen um das 5-Fache angehoben. Schnelles Hin und Her zwischen Aufgaben innerhalb eines Tracks (10+ parallele Mount-Fetches) stößt nicht mehr an die Decke und löst keine 429 aus.
Behoben
  • Bei Rate-Limit beim Absenden oder Ausführen zeigt die Meldung jetzt das tatsächliche Limit und die exakten Sekunden bis zum erneuten Versuch. Zuvor erschien nur das kryptische „ThrottlerException: Too Many Requests“ ohne Wartehinweis.
v4.0.114. Mai 2026

„Start“ auf der Track-Karte startet den Track wieder tatsächlich — ein unsichtbares Karten-Link-Overlay fing den Klick ab und leitete ihn auf die Track-Detailseite um.

Behoben
  • Auf /trainer/tracks navigiert die Schaltfläche „Start“ auf einer Track-Karte nicht mehr zur Track-Detailseite, statt den Track zu starten. Klick irgendwo auf die Karte → Details bleibt erhalten.
v4.0.013. Mai 2026

SQL-Sandbox: bring deine eigenen Tabellen und Queries mit — keine Aufgabe, keine Bewertung. Plus ein einheitliches breites Bento-Layout über Bestenliste, Fortschritt, Tracks, Aufgaben und Sessions hinweg.

Hinzugefügt
  • Neue Seite /sandbox — Monaco-Editor, Schemapanel, Ergebnispanel, Datentabs pro Tabelle, Aufwärm-Snippets. Anonyme Sessions laufen nach 30 Min. ab, angemeldete Nutzer erhalten 7 Tage.
  • Gespeicherte Fiddles: bis zu 5 in der kostenlosen Version, unbegrenzt mit Premium. Bibliothek mit Suche, Link-Kopieren, Löschen und Sichtbarkeitsschalter.
Geändert
  • Einheitliches breites Layout über die Seiten des persönlichen Bereichs — Meine Fiddles, Fortschritt, Bestenliste, Sessions, Aufgaben, Tracks und die Track-Detailseite teilen sich jetzt eine Hülle mit Verlaufs-Hero und einem konsistenten Kartenraster.
v3.0.413. Mai 2026

Die Pfeile für Positionsänderungen auf der Bestenliste sind zurück — zuvor war die Spalte leer, weil es keinen Ausgangs-Snapshot zum Vergleich gab.

Behoben
  • Der Indikator „aufgestiegen / abgestiegen / unverändert“ ist neben jeder Zeile der Bestenliste zurück. Der Ausgangs-Snapshot der Vorwoche wurde geseedet; der reguläre wöchentliche Cron hält ihn weiterhin aktuell.
v3.0.313. Mai 2026

Einen Fehler behoben, bei dem das erneute Absenden einer bereits gelösten Aufgabe stillschweigend Power entfernte — der „erster Versuch“-Bonus wurde gelöscht. Bei allen betroffenen Nutzern wurde die Power neu berechnet.

Behoben
  • Das erneute Absenden einer Lösung für eine bereits gelöste Aufgabe löscht nicht mehr den „erster Versuch“-Bonus — die Power für diese Aufgabe bleibt dieselbe wie direkt nach dem ersten erfolgreichen Absenden.
  • Aufgabe #107 (Aufschlüsselung der Ausgaben nach Buchgenre für 2005) verlangt keine bestimmte Zeilenreihenfolge mehr — jede Sortierung wird jetzt akzeptiert, passend zum Wortlaut der Aufgabenstellung.
v3.0.212. Mai 2026

Das DB-Schemapanel bei mehreren Aufgaben behoben — die orangefarbenen Beziehungslinien zwischen verknüpften Tabellen wurden nicht gezeichnet.

Behoben
  • Bei einigen Aufgaben zeigte das „Schema“-Panel die Beziehungen zwischen Tabellen nicht an (die orangefarbenen 1:N-Pfeile) — die fehlenden Beziehungen wurden den Datensätzen hinzugefügt.
v3.0.112. Mai 2026

Die Aufgabe „Kunden in Niedrig-/Mittel-/Hochausgeber aufteilen“ behoben: Beispielantwort und Referenzlösung waren von der Aufgabenstellung abgedriftet — jetzt verwendet alles die Kunden-ID und die Segmente low / mid / high.

Behoben
  • Aufgabe „Kunden in Niedrig-/Mittel-/Hochausgeber aufteilen“ (#757): Beispielantwort und Referenzlösung passen jetzt zur Aufgabenstellung — Spalten customer_id, segment, Segmente low / mid / high, sortiert nach customer_id.
v3.0.012. Mai 2026

Ein großes „Arena“-Rebranding: eine neue Startseite, eine von Grund auf neue Bestenliste mit Podium und Live-Updates, Punkte in „Power“ umbenannt mit einer Streitaxt-Markenmarke, neu aufgebaute Lernpfade und adaptive KI-Aufgabengenerierung, die deine letzten Absendungen tatsächlich liest.

Hinzugefügt
  • Ein neuer „League“-Tab — die 30 dir nach Power am nächsten stehenden Nutzer. Schwierigkeitsfilter im globalen Tab (Power pro Leiter neu berechnet). Auf-/Abstiegspfeile neben jeder Position — Bewegung im Wochenvergleich.
  • Erfolge: Emojis durch vektorbasierte Icons ersetzt, nach Kategorie eingefärbt, Browser-Tooltips zeigen lokalisierte Namen; auf /stats ist es ein Raster mit Tap-Popovers auf Mobilgeräten. Neuer Erfolg „10 Expert“.
  • Fahre auf der Bestenliste über einen Namen für eine Mini-Nutzerkarte. Eine Schaltfläche „Rang teilen“ — der Link verweist auf dein öffentliches Profil mit einer OG-Vorschau.
Geändert
  • Startseite unter der Marke „Arena“ neu geschrieben: eine prägnante Überschrift „Sharpen SQL. Take the offer.“, ein Live-Scoreboard im Hero, eine Rangleiter mit einem „Du“-Pin, Abschnitte zu Trainer / Tracks / KI / Mock Interview-Modus / Fortschritt und ein abschließendes Band „The axe is in your hand. Swing.“. Mobiltauglich.
  • Punkte in „Power“ umbenannt. Der Blitz wurde durch eine Streitaxt ersetzt — jetzt im Logo, im Favicon und in der Link-Teilen-Vorschau.
  • Die Bestenlisten-Seite wurde von Grund auf neu geschrieben: ein Top-3-Podium (Gold / Silber / Bronze), eine persönliche Fortschrittskarte mit einem Balken bis zum nächsten Rang, eine einzige fixierte Filterleiste, die Rangleiter direkt unter der Kopfzeile, eine angeheftete „Du“-Zeile, wenn du außerhalb der Top 50 bist, und Live-Updates — die Tabelle reagiert ohne Neuladen flüssig auf die Lösungen anderer.
  • Lernpfade neu aufgebaut. Analyst / Backend / QA / Data Engineering — je ~50 kuratierte Aufgaben: einige Vertreter pro Thema×Schwierigkeit-Zelle, vom Aufwärmen bis EXPERT, gewichtet zu echten Interviewproblemen. Ein Data-Engineering-Track sowie ein eigener Interview-Vorbereitungs-Track hinzugefügt.
  • Die Schaltfläche „Für mich generieren“ ist jetzt wirklich adaptiv: Sie liest deine letzten 40 Absendungen, wählt das Thema mit der schlechtesten jüngsten Trefferquote und kalibriert die Schwierigkeit auf dein Niveau — bei Stillstand wird die nächste eine Stufe leichter, bei einer Serie steigt sie.
  • Neue Besucher landen standardmäßig im Theme „Night“ (zuvor „Evening“). Wenn du bereits ein Theme gewählt hast, bleibt deine Wahl erhalten.
Behoben
  • Aufgabe „Sag es in einer Zahl: wie viele aktive Kunden“ — die kanonische Lösung verlangte Kunden mit ≥2 bezahlten Bestellungen, während die Beschreibung „mindestens einmal“ sagt. Behoben, damit es zur Beschreibung passt.
v2.4.512. Mai 2026

EXPERT-Aufgaben gewähren jetzt echte 75 Power pro Lösung (mit Boni bis zu 281) statt der 10 der EASY-Stufe. Die Lifetime-Power von Nutzern, die bereits eine EXPERT-Aufgabe gelöst haben, wurde rückwirkend neu berechnet.

Behoben
  • Die Belohnungstabelle hatte keine Zeile für EXPERT, sodass der Bewerter auf einen Standardwert von 10 zurückfiel und jede EXPERT-Aufgabe genauso viel zahlte wie eine EASY-Aufgabe. Die EXPERT-Basis beträgt jetzt 75 Power, mit denselben Multiplikatoren obendrauf (erster Versuch ×2, bestandenes Mock Interview ×1,25, Premium-Lösung ×1,5) — bis zu 281 Power pro EXPERT-Aufgabe. Eine Migration spielte xp_total für jedes Profil nach den korrigierten Regeln erneut ab, sodass alle, die bereits eine EXPERT-Aufgabe gelöst hatten, die fehlende Power automatisch erhalten.
v2.4.412. Mai 2026

Die Lücke geschlossen, durch die eine Aufgabe „gelöst“ werden konnte, indem man die Beispielausgabe fest codierte: Bei 25 Datensätzen prüft der Bewerter deine Query jetzt gegen versteckte Zeilen, die sich von den in der Aufgabenbeschreibung gezeigten unterscheiden.

Geändert
  • Lösungen laufen weiterhin gegen dieselben Tabellen und Spalten wie zuvor, aber die Zeilen im Bewertungs-Seed unterscheiden sich vom sichtbaren Beispiel. Jede echte query-basierte Antwort besteht weiterhin, während ein fest codiertes SELECT … UNION ALL …, das die Beispiel-Literale kopierte, jetzt als „falsch“ bewertet wird. 25 Datensätze aus dem neuesten Katalog-Batch sind abgedeckt (Listen, CTE, Window, Pivot, DML, Expert).
v2.4.39. Mai 2026

Zwei von Lernenden gemeldete Aufgabenprobleme behoben: das falsch sortierte Beispiel in „Studierende nach Region“ und die von Schema abgedriftete Beschreibung in der Nettoumsatz-Aufgabe.

Behoben
  • Aufgabe „Studierende nach Region“ (#357): Das Beispiel steigt jetzt nach rn an (Jack / Kim / Lars in der ersten Zeile), und die Referenzlösung enthält ein explizites ORDER BY rn, sodass sie dieselbe Reihenfolge erzeugt.
  • Aufgabe „Nutzer mit einem Nettoumsatz von mindestens 100“ (#783): Titel und Beschreibung passen jetzt zu den tatsächlichen Daten — Nutzer und purchase/refund-Ereignisse, nicht Produkte und sale/refund, mit einem Schwellenwert von 100, nicht 1000.
v2.4.29. Mai 2026

Sechs fortgeschrittene Aufgaben liefern jetzt eine vorbefüllte Tabelle — Lösungen beginnen nicht mehr mit einer CREATE TABLE-Präambel.

Geändert
  • Sechs Hard- / Expert-Aufgaben (UPSERT mit einer und mehreren Spalten, CTE mit RETURNING, Bulk-INSERT … RETURNING, SKIP LOCKED-Queue, Array-Entfaltung über UNNEST) haben sich dem Rest des fortgeschrittenen Katalogs angeschlossen: Die Tabelle wird im Datensatz erstellt und befüllt, und die Lösung enthält nur die zu prüfende Operation plus ein abschließendes SELECT zur Bewertung.
Behoben
  • Die Beschreibung der Aufgabe „Aufrufzähler“ driftet nicht mehr von der erwarteten Ausgabe ab: Beide beschreiben jetzt dieselbe Tabelle counters(id, count) und fünf Durchläufe derselben Zeile.
v2.4.19. Mai 2026

DDL-Aufgaben zeigen im seitlichen Schemapanel keine nicht zugehörigen Tabellen mehr.

Behoben
  • Bei 10 CREATE TABLE-Aufgaben (von leicht bis Experte) rendert das seitliche Schemapanel Tabellen aus einem nicht zugehörigen Datensatz — z. B. zeigte eine Artikel-Aufgabe orders. Das Panel ist jetzt leer, wie es sein sollte, wenn eine Aufgabe verlangt, die Tabelle von Grund auf zu erstellen.
v2.4.09. Mai 2026

115 neue Aufgaben, ein dreistufiger Theme-Umschalter Tag / Abend / Nacht und eine sanftere dunkle Palette.

Hinzugefügt
  • Der Katalog ist um 115 Aufgaben gewachsen: 20 leichte, 35 mittlere, 45 schwere und 15 Experten-Aufgaben — Unterabfragen, CTEs, Window-Funktionen, DML/DDL, MERGE, Query-Optimierung, Transaktionen, JSONB, Rekursion und LATERAL.
  • Neue Schwierigkeitsstufe „Expert“ mit einem violetten Badge und einem eigenen Filter im Katalog.
  • Dreistufiger Theme-Umschalter: Tag (hell), Abend (sanft dunkel) und Nacht (tief) — wähle nach Umgebungslicht, um die Augen zu schonen.
Geändert
  • Dunkles Theme abgemildert: Die Fläche wechselte zu einem Linear-artigen Graublau (#1B1B1F) statt des bisherigen Beinahe-Schwarz, der primäre Text sank auf Zinc-300 — weniger Halation bei langen Sessions.
  • Im „Nacht“-Modus liegt der SQL-Editor-Bereich drei Stufen tiefer als die Fläche mit einem leichten Stich Richtung echtem Schwarz — liest sich als versenktes Panel in derselben Familie.
  • Der themenbezogene Spickzettel in der Aufgabe ist jetzt schwierigkeitsbewusst: Auf den Stufen Hard / Expert blendet er einfaches SELECT/WHERE/ORDER BY/LIMIT aus und holt stattdessen fortgeschrittene Muster hervor — STRING_AGG, ARRAY_AGG, GROUPING SETS, LATERAL, JSONB, partielle Indizes und so weiter.
  • Aktive Schwierigkeitsfilter-Pillen wechselten zu einer Marken-Akzent-Softfill statt zu reinem Schwarz — sie sprengen das Erscheinungsbild des hellen Themes nicht mehr.
  • Russische Schwierigkeitslabels: «Лёгкое» → «Лёгкий», «Среднее» → «Средний», «Сложное» → «Сложный».
v2.3.08. Mai 2026

24 neue Blogartikel für Einsteiger.

Hinzugefügt
  • Themenabdeckung erweitert: DML (INSERT/UPDATE/DELETE), DDL (CREATE TABLE/ALTER TABLE), Aggregate, DISTINCT, NULL-Behandlung (CASE WHEN/COALESCE/NULLIF), CTEs und Unterabfragen, Window-Funktionen, Zeichenketten und Datum.
Geändert
  • Trainer-Spickzettel: Jeder Eintrag verweist jetzt auf seinen eigenen Artikel. Zuvor verlinkten die vier Window-Funktions-Einträge auf eine einzige Übersicht — ROW_NUMBER, RANK/DENSE_RANK, PARTITION BY und LAG/LEAD haben jetzt jeweils einen eigenen.
Behoben
  • Aufgabe #114 „Wie viele Kardiologie-Stationen“ — die erwartete Ausgabespalte von count in wards_count umbenannt, sodass sie visuell nicht mehr mit dem reservierten Schlüsselwort kollidiert.
v2.2.28. Mai 2026

Die Antwort-Anpassungs-Lücke geschlossen: Aufgaben werden jetzt gegen einen versteckten Datensatz bewertet.

Geändert
  • Der Bewerter kann eine Aufgabe jetzt gegen einen versteckten Datensatz ausführen. Die kanonische Referenz wird auf denselben Daten neu berechnet, sodass korrekte Lösungen weiterhin bestehen, während aus dem sichtbaren Beispiel übernommene Konstanten durchfallen.
Behoben
  • Die Aufgabe „Ältestes Clubmitglied“ akzeptiert kein auf das sichtbare Beispiel abgestimmtes, fest codiertes LIMIT mehr — nur eine Query, die „alle Zeilen mit dem minimalen Geburtsdatum“ ausdrückt, besteht.
v2.2.18. Mai 2026

Politur der Preiskarten und Korrekturen der Schaltfläche „Anmelden & abonnieren“ direkt nach v2.2.0.

Geändert
  • Preis und CTA-Schaltfläche in den Free- und Premium-Karten liegen jetzt auf derselben Y-Höhe.
  • Die Preis-Fußnoten für Crypto und Visa/MC gekürzt — nur der Name des Zahlungswegs bleibt.
Behoben
  • Die Schaltfläche „Anmelden & abonnieren“ ist für abgemeldete Nutzer wieder klickbar.
v2.2.08. Mai 2026

Krypto- und internationale Visa/Mastercard-Zahlungen hinzugefügt, plus verschärfte Anti-Bot-Abwehr im Auth-Flow.

Hinzugefügt
  • Krypto-Zahlungen über NowPayments — BTC, ETH, USDT und andere. $21 vierteljährlich / $28 halbjährlich.
  • Internationale Visa/Mastercard über Paddle mit automatischer MwSt./Sales Tax. $21 / $28.
  • Zahlungsmethoden-Auswahl auf der Premium-Karte: RU-Karte, Crypto, Visa/MC. Die Währung wechselt je Methode.
  • Cloudflare Turnstile bei Login und Registrierung — für Menschen unsichtbar, blockiert Bots.
Geändert
  • Das Konto wird nach 5 falschen Passwörtern für 15 Min. gesperrt (exponentiell bis zu 24 h) mit einem expliziten Countdown.
  • Login- und Registrierungsfehler sind humanisiert — keine rohen „Forbidden“ oder „Invalid credentials“ mehr.
  • Rate-Limit für Absendungen: 5/Min, 30/15Min pro Nutzer. Beeinträchtigt echte Lösesitzungen nicht.
Behoben
  • Nach dem Login kehren wir zu der Seite zurück, von der du kamst — einschließlich OAuth (Google, GitHub, Yandex).
  • Das Abmelden von einer öffentlichen Seite wirft dich nicht mehr auf die Startseite zurück.
v2.1.87. Mai 2026

Die Korrektur des Speicherns von Telegram, GitHub und LinkedIn auf der Profilseite abgeschlossen. Das vorherige Release behob den Username-Normalisierer im Backend, aber die Frontend-Komponente brach onBlur kurz — das PATCH wurde nie tatsächlich ausgelöst. Das Feld nahm Eingaben visuell an, der Server blieb leer, und nach einem Neuladen war das Feld leer. Jetzt verwendet der Blur-Vergleich den beim Fokussieren erfassten Wert, nicht die laufende Eingabe.

Behoben
  • Die Felder Telegram, GitHub und LinkedIn auf der Profilseite speichern wieder. Ein useEffect überschrieb die „zuletzt gespeicherte“ Referenz bei jedem Tastendruck, sodass die onBlur-Prüfung den aktuellen Wert mit sich selbst verglich und das PATCH übersprang. Die Blur-Prüfung vergleicht jetzt mit einem beim Fokussieren erstellten Snapshot.
v2.1.77. Mai 2026

Das Speichern von Telegram-, GitHub- und LinkedIn-Handles auf der Profilseite behoben: Das Eingeben des Platzhalterformats wie t.me/username wurde zu Müll wie t.me zusammengekürzt. Jetzt normalisiert sich jede Eingabe — bloßes Handle, @handle, t.me/handle oder https://t.me/handle — zu einem sauberen Benutzernamen.

Behoben
  • Die Felder Telegram, GitHub und LinkedIn auf der Profilseite speichern jetzt korrekt, wenn die Adresse ohne https:// eingegeben wird. Zuvor wurde t.me/durov als t.me, github.com/octocat als github.com gespeichert, weil der Normalisierer ein http(s)://-Schema verlangte und den Wert sonst beim ersten Schrägstrich abschnitt.
v2.1.65. Mai 2026

Das fehlerhafte Premium-Upsell-Banner im Lösungsergebnis-Panel entfernt: Es löste bei kostenlosen Aufgaben und sogar für Premium-Nutzer aus. Es war von vornherein totes UI — Premium-Aufgaben werden beim Öffnen der Aufgabe blockiert, sodass der Editor sie nie sieht.

Geändert
  • Im „Richtig!“-Glückwunschmodal hat die Pille „+50% Power per solve — go Premium“ jetzt ordentliche horizontale Abstände — Krone und Chevron berühren die Pillenränder nicht mehr.
  • AI Mentor erhält jetzt kompakten Aufgabenkontext: aktiver SQL-Dialekt, Tabellen, Beziehungen, erwartete Spalten, Beispielausgabe und das jüngste Bewertungs-Diff. Referenz-SQL wird nur als privater Kontext für Fehlererklärungen und spätere Hinweisstufen verwendet.
Behoben
  • Das Upsell-Banner „Interview-Aufgaben — Premium“ ist aus dem Feedback-Panel verschwunden. Zuvor löste jeder serverseitige Fehler, der das Wort premium in seinem Stacktrace enthielt (z. B. eine fehlende Spalte solved_as_premium direkt nach einer Migration), einen Teilstring-Treffer aus und rendert das Upsell — sogar bei kostenlosen Aufgaben und sogar für Premium-Nutzer.
v2.1.55. Mai 2026

Premium gewährt jetzt +50% Power pro gelöster Aufgabe — der Boost haftet für immer an der Aufgabe, sogar nach Ablauf des Abonnements. AI Mentor verrät die Lösung nicht mehr beim ersten Hinweis und steigert die Hilfe jetzt pro Aufgabe. Außerdem wurde der Starter-Kommentar -- Click ▶ Run aus dem Editor der ersten Aufgabe entfernt.

Hinzugefügt
  • Das Premium-Abonnement gewährt einen ×1,5-Power-Multiplikator bei jeder gelösten Aufgabe. Der Boost wird im Moment des Lösens festgeschrieben, sodass er in deiner Gesamtsumme bleibt, selbst wenn das Abonnement später abläuft.
  • Das „Richtig!“-Glückwunschmodal zeigt jetzt direkt unter dem +Power-Chip einen Upgrade-Hinweis für kostenlose Nutzer: „Get +50% Power per solve — go Premium“, mit Link zu /pricing.
Geändert
  • AI Mentor steigert Hinweise jetzt pro Aufgabe. Die erste Anfrage erhält einen reinen Richtungs-Anstoß ohne Operatornamen; Anfragen 2–4 ergänzen Konzept und Kategorie; ab Anfrage 5 darf der Mentor LIKE / WHERE / GROUP BY direkt benennen. Der Zähler wird alle 24 Stunden zurückgesetzt.
  • Erklärungen zu falschen Antworten folgen jetzt denselben Hinweisstufen wie einfache Hinweise — sie verraten bei der allerersten fehlgeschlagenen Absendung keine konkreten Operatoren mehr.
Behoben
  • Die verbleibenden Befunde des SQL-Aufgaben-Audits geschlossen: die Referenz bei Tournament Winners korrigiert, TIMESTAMP-Vorschauen bei mehreren Aufgaben angeglichen und die PostgreSQL-Variante für eine KI-Aufgabe wiederhergestellt.
Entfernt
  • Den Starter-Kommentar -- Click ▶ Run — see what's in this table aus dem Editor der ersten Aufgabe entfernt. Geöffnete Aufgaben beginnen jetzt mit einem leeren Editor.
v2.1.45. Mai 2026

Die Filter des Aufgabenkatalogs überarbeitet: Der Status wurde zu einem dreistufigen Segment-Control (Alle / Ungelöst / Gelöst) mit Standard Ungelöst, ein Dialektfilter hinzugefügt, Themen- und Firmen-Chips zeigen jetzt ihre aktuelle Aufgabenzahl, aktive Filter erscheinen als entfernbare Pillen mit einer „Alle zurücksetzen“-Möglichkeit.

Hinzugefügt
  • Dialektfilter im Katalog: Alle / PG / MySQL — ein eigenes Segment neben dem Status-Control.
  • Themen- und Firmen-Chips zeigen jetzt, wie viele Aufgaben passen: „Windows (43)“, „Tinkoff (5)“. Chips mit null Aufgaben blenden aus.
  • Zeile mit aktiven Filter-Pillen: Jeder angewendete Filter (Suche, Schwierigkeit, Status, Dialekt, Favoriten, Thema, Tag, Firma, Region) wird als entfernbare Pille gerendert; „Alle zurücksetzen“ setzt alles auf die Standardwerte zurück.
Geändert
  • Der Aufgaben-Status-Filter ist jetzt ein dreistufiges Segment-Control (Alle / Ungelöst / Gelöst), Standard Ungelöst. Ersetzt den einzelnen Schalter „Gelöste ausblenden“.
  • Das Sortier-Control nach oben in die Leiste verschoben — zuvor unten vergraben und hinter dem Scrollen verborgen.
  • Der Favoriten-Schalter wurde in die obere Filterleiste verschoben — jetzt neben den anderen binären Schaltern.
Behoben
  • Das Filter-Badge zeigt von Haus aus nicht mehr „1“ — die Standardansicht „Ungelöst“ zählt nicht als angewendeter Filter.
v2.1.35. Mai 2026

Katalogweites Audit: Der Bewerter weist korrekte Antworten nicht mehr wegen DATE-vs-TIMESTAMP-Serialisierung zurück, Beispielvorschauen bei 60+ Aufgaben passen jetzt zu dem, was die Referenzlösung tatsächlich zurückgibt, und 5 Aufgaben, die CURRENT_DATE / NOW() verwenden, sind auf eine feste Referenz fixiert, damit Vorschauen nicht mehr Tag für Tag abdriften. Plus eine Beschreibungskorrektur bei der Aufgabe zu monatlichen Transaktionen aus einer Nutzer-Fehlermeldung.

Behoben
  • Bewerter: Datum-als-Timestamp-Normalisierung hinzugefügt (2024-01-01T00:00:00.000Z2024-01-01) — korrekte Antworten erhalten nicht mehr „Zeilenzahl stimmt überein, Inhalte unterscheiden sich“ wegen der Rückgabetyp-Formatierung.
  • Aufgabe „Monatliche Transaktionen und Chargebacks“: Die Beschreibung stellt jetzt klar, dass ein Chargeback zum Monat der ursprünglichen Transaktion gehört, nicht zum Erstattungsdatum; die Vorschau zeigt Daten des ersten Monatstags statt TZ-verschobener ISO-Timestamps.
  • Beispielvorschauen bei 60+ Aufgaben neu generiert: numerische Formatierung (100100.00), Zeitzonenanzeige (+03+00), DATE-als-TIMESTAMP, INTERVAL-als-Objekt — die Vorschau passt jetzt zu dem, was der Live-Runner zurückgibt.
  • Fünf Aufgaben, die CURRENT_DATE / NOW() / CURRENT_TIMESTAMP in ihrem Seed verwenden (#170, #601, #602, #668, #693), sind jetzt auf 2026-05-05 12:00:00 UTC fixiert. Vorschauen driften nicht mehr ab.
v2.1.24. Mai 2026

Den Blog überarbeitet: Suche, Navigation nach 10 Abschnitten, erste 7 Einsteiger-Tutorials. Befehlsnamen im aufgabeninternen Spickzettel sind jetzt anklickbare Links zu Artikeln. Die Releases-Seite erhielt einen Versionsbaum mit Scroll-Spy.

Hinzugefügt
  • Blog: Suche über Titel, Inhalt und Tags + linke Abschnitts-Seitenleiste. Der aktive Abschnitt wird beim Scrollen hervorgehoben.
  • Blog: 7 erste Einsteiger-Tutorials — SELECT … FROM, WHERE, ORDER BY, LIMIT, INNER JOIN, LEFT JOIN, Aliase.
  • Aufgabeninterner themenbezogener Spickzettel: Befehlsnamen sind jetzt blaue Links zum passenden Blog-Tutorial — öffnen in einem neuen Tab.
  • Releases-Seite: linksseitiger Versionsbaum gruppiert nach major.minor; ein Klick scrollt zur Version und aktualisiert den Hash-Anker.
  • Schaltfläche „SQL kopieren“ in jeder Zeile des Tabs „Absendungen“.
Behoben
  • Russische Pluralanpassung überall: „221 задача“, „2 задачи“, „5 задач“ statt des alten „221 задач“.
  • Der aufgabeninterne themenbezogene Spickzettel ruckelt beim Aufklappen nicht mehr — die Scrollbar-Spur ist jetzt reserviert.
  • Markdown-Tabellen in Blogartikeln werden jetzt als HTML-Tabellen gerendert statt als einzelne reine Textzeile.
v2.1.14. Mai 2026

Katalogweiter Qualitätsdurchgang: 23 nicht ausführbare Aufgaben repariert, 66 englische Beschreibungen neu geschrieben, Beschreibungen und Beispielvorschauen bei einigen Dutzend weiteren angeglichen. Plus eine von Nutzern gemeldete Korrektur.

Geändert
  • Beispielvorschauen bei 50+ Aufgaben passen jetzt zu dem, was die Referenzlösung zurückgibt.
  • Doppelte Firmen-Tags in den Filter-Chips der Aufgaben zusammengeführt.
Behoben
  • 23 Aufgaben repariert (pharma-*, loyal-*, hotel-*, qa-*), die aufgrund einer Schema-/Seed-Diskrepanz nicht lösbar waren.
  • Englische Beschreibungen bei 66 lc-* / lc2-*-Aufgaben neu geschrieben, die zuvor einen Platzhalter oder ein Fragment auslieferten.
  • Die Aufgabe „Am 2. September 2019 gebuchte Räume“ akzeptiert die falsche Antwort nicht mehr.
  • Zehn Aufgaben, bei denen die Beschreibung mit der Referenzlösung uneinig war, sind jetzt konsistent.
  • Sieben Tochka-Aufgaben lieferten die Aufgabenstellung einer anderen aus — neu geschrieben.
v2.1.04. Mai 2026

69 neue Aufgaben aus echten Bewerbungsgesprächen am russischen Markt (Yandex, Tinkoff, Sber, VTB, Alfa, VK, Ozon, Avito, Magnit, Samokat und 23 weitere Unternehmen) — rund um das breitere PostgreSQL-Typuniversum aufgebaut: UUID, JSONB, ENUM, INTERVAL, TSTZRANGE, INET, NUMERIC und POINT. Plus wichtige Korrekturen aus Nutzermeldungen und ein „Was ist neu“-Roter-Punkt-Indikator in der Seitenleiste.

Hinzugefügt
  • 69 neue Aufgaben aus echten Interviews bei russischen Unternehmen. 33 Arbeitgeber: Yandex, Tinkoff / T-Bank, Sber / SberMarket, VTB, Alfa-Bank, Gazprombank, Rosbank, Sovcombank, MTS / MTS Bank, Otkritie, Renaissance Bank, Megafon, VK, Ozon, Avito, Magnit, Lenta, Wildberries, Cian, ivi, Delimobil, Aviasales, Samokat, Domclick, Lesta, Skypro, Uchi.ru, Sravni.ru, Vizor, CloudReports und Yandex Practicum. Alle als Interview getaggt, für Premium zugänglich.
  • Reichhaltige PostgreSQL-Typen in Aufgabenschemata. Die meisten Aufgaben verwendeten früher INT + VARCHAR(100) — in Ordnung für Lehrbuchbeispiele, weit weg von der Produktion. Die neuen Aufgaben führen UUID für Kunden- und Bestell-PKs ein, NUMERIC(15,2) für Geld und NUMERIC(12,4) für FX-Kurse, TIMESTAMPTZ für Ereignisse, INTERVAL für Anruf- und Sitzungsdauern, TSTZRANGE / DATERANGE / NUMRANGE für SCD2-Historien und Gültigkeitsfenster, JSONB für Metadaten und Ereignis-Payloads, ENUM (mit explizitem CREATE TYPE) für Status und Kategorien, INET für IPs in Antifraud-Aufgaben, POINT für GPS-Koordinaten, TEXT[] / INTEGER[] für Tags und ID-Arrays. So begegnest du im Trainer denselben Typen, die dir in der Produktion begegnen werden.
  • Roter-Punkt-Indikator am Seitenleisten-Eintrag „Was ist neu“ — erscheint, wenn ein neues Release ausgeliefert wurde, das du noch nicht geöffnet hast. Der Punkt verschwindet nach einem Besuch von /releases (das Flag liegt im localStorage dieses Browsers). Zuvor existierte der Indikator nur in der oberen Navbar; in reinen Seitenleisten-Layouts war er nicht erreichbar.
Geändert
  • Korrekte Darstellung der neuen Typen in der Query-Ergebnistabelle. Zuvor wurden JSONB-, INTERVAL- und POINT-Spalten als „[object Object]“ gerendert und Arrays (TEXT[], INTEGER[]) zu kommagetrennten Zeichenketten reduziert — die Struktur war unsichtbar. Jetzt werden JSONB und Arrays als lesbares JSON gerendert, INTERVAL als 1d 02:30:00, POINT als (x, y). Booleans und UUIDs behalten ihre Textdarstellung.
  • ER-Diagramme auf der Aufgabenseite erhielten Paletteneinträge für die neuen Typen: UUID violett, JSONB gelb, INTERVAL lila (dieselbe Familie wie andere Datums-/Zeittypen), TSTZRANGE / DATERANGE / NUMRANGE pink, INET cyan, POINT pink, benutzerdefinierte ENUMs rosé. Zuvor fielen diese Typen auf das Standardgrau zurück und waren von einfachem INT / VARCHAR nicht zu unterscheiden.
  • Die sechs oben behobenen Aufgaben erhielten zudem ein angereichertes Schema im selben Stil wie das neue Interview-Set: UUID-Primärschlüssel, JSONB-Payloads, ENUM-Typen für Geschlecht / Kategorien / Status, NUMERIC(15,2) anstelle von INT für Gehälter und Preise, INTERVAL für Dauern. Der Aufgabenwortlaut wurde leicht angepasst, um die neuen Typen zu motivieren, aber das zugrunde liegende Problem ist unverändert. Dies ist der erste Schritt beim Aufwerten älterer Aufgaben — mehr in kommenden Releases.
Behoben
  • Eine Handvoll älterer, von Nutzern gemeldeter Aufgaben behoben. „Project Employees II“ — das ER-Diagramm zeigte Employee + Department statt Project + Employee, während das zugrunde liegende Schema korrekt war; das Diagramm angeglichen. „Reported Posts“ — die Beschreibung führte nicht aus, dass der Meldegrund in der Spalte extra liegt: jetzt tut sie es. „Sales Analysis I“ — die Referenzlösung verwendete SUM(price), obwohl das Schema eine quantity-Spalte hat, was verwirrend war; neu formuliert als SUM(quantity * price), näher am realen Umsatz. „Swap Salary“ — die Aufgabe war an den falschen Datensatz angebunden (Employee + Department statt Salary(id, name, sex, salary)), was sie unlösbar machte; an den kanonischen Datensatz neu verknüpft. Dasselbe stille ER-Abdriften in „Project Employees III“ und „Reported Posts II“ erhielt dieselbe Korrektur.
v2.0.03. Mai 2026

Großes Release: eine neue Navigation per linker Seitenleiste, der strenge Mock Interview-Modus mit einem +25% Power-Bonus, öffentliche Profile und Freunde, E-Mail-Benachrichtigungen, markenfarbene Firmen-Tags, zusätzliche Filter und ein Partnerkurs-Block. Plus eine wichtige kontoübergreifende Datenschutzkorrektur und Dutzende UX-Politur-Punkte.

Hinzugefügt
  • Partnerkurs-Block. Auf der Aufgabenseite (breite Bildschirme) zeigt eine rechte Spalte eine kuratierte Auswahl an Partnerkursen; auf Mobilgeräten ist es ein horizontales Karussell über der Liste. Die Karten verlinken auf Partner-Landingpages mit UTM-Tags — für uns eine Möglichkeit, den Abopreis niedrig zu halten, indem wir die Infrastrukturkosten decken.
  • Neuer Mock Interview-Modus — eine strenge Simulation eines echten Interviews. Jeder einzelne Verstoß (Tab-Wechsel, Einfügen, Verlassen des Vollbilds, > 1 Sekunde Fensterunschärfe) führt automatisch zum Nichtbestehen der Session. Hinweise, AI Mentor und Spickzettel sind ausgeblendet und gesperrt. Dauern: 5 / 10 / 15 / 30 / 60 Minuten. Kostenlose Stufe — 1 Versuch pro Tag; Premium — unbegrenzt. Während eine Session läuft, ist die umgebende Navigation (Seitenleiste, „Aufgaben“, „Top-Lösungen“, „Nächste Aufgabe“, „Track verlassen“, Zurück/Weiter/Zufällig) gesperrt — der einzige Ausweg ist die explizite Schaltfläche „Beenden“ oder das Schließen des Tabs (was die Session automatisch verwirft).
  • +25% Power für jede im Mock Interview-Modus gelöste Aufgabe — der Bonus gilt pro Aufgabe und ist im Bericht nach der Session gekennzeichnet. Die Bestenliste hat jetzt eine informative „Mock“-Spalte (dieselbe Zahl auf der Profilkarte und auf /u/<username>); sie beeinflusst die Power-basierte Sortierreihenfolge nicht.
  • Öffentliche Profile unter /u/<username>: Wähle ein kurzes Handle und aktiviere den öffentlichen Schalter — jeder anonyme Besucher sieht deinen Rang, deine Power, die aktuelle Streak, die Erfolgszahl, die Aktivitäts-Heatmap und GitHub-/Telegram-/LinkedIn-Links. Keine privaten Daten offengelegt.
  • Freunde: Füge Nutzer über ihr öffentliches Handle hinzu, verwalte ein- und ausgehende Anfragen, sieh eine eigene Freundes-Bestenlisten-Registerkarte mit ihrer Power, Streak und gelösten Aufgaben.
  • Favoriten: Jede Aufgabenkarte hat jetzt einen Stern — klicke ihn an, und die Aufgabe landet im Filter „Nur Favoriten“. Die Liste liegt serverseitig an dein Konto gebunden und übersteht Browserwechsel.
  • E-Mail-Benachrichtigungen (Schalter im Profil). „Rette deine Streak“ — Abenderinnerung, wenn deine Streak ≥ 3 Tage beträgt und du heute noch nichts gelöst hast. „Wochenrückblick“ — samstagmorgendliche Zusammenfassung mit den letzte Woche gelösten Aufgaben, der aktuellen Streak und der schwächsten Kategorie.
  • Premium-Nutzer sind überall, wo Avatare erscheinen, visuell gekennzeichnet: ein holografischer Verlaufsring (Bestenliste, Freunde, Profil, Seitenleiste, öffentliche /u/<username>-Seite); ein kleines Kronen-Badge in der Ecke großer Avatare. Beeinflusst die Sortierreihenfolge nicht.
  • Markenfarbene Firmen-Tags auf Aufgabenkarten: Gelb für Yandex / Tinkoff / Beeline, Grün für Sberbank / Spotify / OpenAI, Blau für VK / Ozon / Google / Meta, Rot für MTS / Alfa / Tesla, Lila für Stripe / Skypro / Wayfair, Orange für Amazon / Alibaba und so weiter. Zuvor war jedes Tag ein einheitliches Lila.
  • Zusätzliche SQL-Klausel-Chips im Filter „Thema“ auf der Aufgabenseite: Neben den 8 breiten Kategorien (SELECT, JOIN, Unterabfragen, Window, Aggregate, CTE, DML, DDL) kannst du jetzt GROUP BY, COUNT, HAVING umschalten. Mische sie mit Kategorien für eine schärfere Filterung.
  • Das „DB-Schema“-Panel auf der Aufgabenseite kann jetzt eingeklappt werden. Der Schalter neben dem Aufgabentitel blendet die Spalte aus und gibt Breite für Editor und Ergebnistabelle frei. Der Einklappzustand wird pro Browser gemerkt, sodass das Schema bei der nächsten Aufgabe genauso öffnet.
  • 8 neue Interview-Aufgaben von Tochka — von EASY bis HARD. CRM-Szenarien (Kunden mit aktivem Antrag finden), Portfolioberechnungen (Struktur, gewichtete durchschnittliche Laufzeit, Wertentwicklung), Anleihen-Queries mit Window-Funktionen. Lösungen für PostgreSQL und MySQL.
  • Blog-Bereich unter /blog. Lange Tutorials — beginnend mit einem Window-Funktionen-Deep-Dive. Zweisprachige Inhalte, Slug-URLs, OG-Karten zum Teilen in sozialen Netzwerken. Erreichbar über die Fußzeile und das untere Ende der Seitenleiste.
  • Eigene 404-Seite. Die alte Next.js-Standardseite rendert schwarzen Text auf Weiß — im Dark Mode unsichtbar. Die neue Seite verwendet Theme-Tokens und liegt innerhalb der gemeinsamen Hülle, sodass die Navigation in Reichweite bleibt.
Geändert
  • Navigation neu gestaltet. Für angemeldete Nutzer innerhalb der App ist die primäre Navigation in eine linke Seitenleiste gewandert — Trainer, Fortschritt, Bestenliste und die anderen Bereiche liegen dort, mit Power + Streak unter deinem Avatar und Sprache-/Theme-Schaltern unten. Die Landingpage, die Preise und die Auth-Flows behalten die schlanke obere Leiste. Dienstseiten (Was ist neu / Bug melden / Blog) erben das Chrome, von dem du kamst.
Behoben
  • Der Premium-Verlaufsring um Avatare wird jetzt auf jeder Bestenlisten-Registerkarte angezeigt — zuvor erschien der Ring nur auf der Registerkarte „Gesamtzeit“ und fiel auf „Woche“ und „Monat“ stillschweigend weg, weil das Backend das Abonnement-Flag für die periodischen Ranglisten nicht ausgab.
  • Namens- und Avatar-Änderungen in deinem Profil spiegeln sich jetzt sofort in der Seitenleiste wider — kein Neuladen der Seite erforderlich. Zuvor konnte die alte Nutzerkarte bis zu einem vollständigen Refresh hängen bleiben.
  • Kontoübergreifende Datenlecks beim Nutzerwechsel im selben Browser. Zuvor konnten nach Abmelden / Anmelden mit einem anderen Konto folgende Daten bestehen bleiben: AI Mentor-Chatverläufe, SQL-Entwürfe im Editor, „gelöst“-Flags pro Aufgabe, aktive Mock Interview-Sessions, der KI-Generierungszähler, der Favoriten-Cache. Jetzt löscht das Abmelden und jeder Anmeldepfad (Formular, OAuth, E-Mail-Bestätigung) alles, was an den vorherigen Nutzer gebunden ist.
  • Der Link „Freundes-Rating“ aus dem Profil landet jetzt direkt auf der Freunde-Registerkarte — zuvor warf er dich auf die globale Bestenliste. Die Einsteiger-Spur „Hier starten“ kommt nicht mehr zurück, nachdem du sie ausgeblendet hast; zuvor wurde das Ausblenden bei jedem Abmelden / Anmelden zurückgesetzt.
  • Dutzende Verbesserungen an Mobile-Layout und -Interaktion: ein kompakteres Modal für den Bericht nach der Session, korrekte Filterabstände auf schmalen Bildschirmen, das Feedback-Banner überlappt das Seitenpanel bei 1024px nicht mehr, Namens- + E-Mail-Felder auf der Bug-Report-Seite für anonyme Absender.
v1.2.93. Mai 2026

Editor-UX-Hotfix auf schmalen Bildschirmen: Das Popup „Editor-Einstellungen“ wird nicht mehr vom Code-Panel abgeschnitten und läuft auf Mobilgeräten nicht mehr über den Viewport-Rand hinaus. Dieselbe Zahnrad-Schaltfläche, die der Desktop hat, liegt jetzt auch in der Mobile-Toolbar, und die Schriftgrößeneinstellung gilt endlich für den Mobile-Editor.

Behoben
  • Das Popup „Editor-Einstellungen“ konnte von den Seitenrändern abgeschnitten werden und hatte kein internes Scrollen — auf einem schmalen Laptop oder einem Telefon waren die Hälfte der Einstellungen schlicht unsichtbar. Das Popup rendert jetzt über der ganzen Seite (über ein Portal), klemmt sich automatisch in den sichtbaren Bereich und erhält eine interne Scrollbar, wenn sein Inhalt die Viewport-Höhe überschreitet. Die Kopfzeile mit Titel und Schließen-Schaltfläche bleibt beim Scrollen fixiert.
  • In der Mobile-Editor-Ansicht (≤1024px) fehlte der Toolbar das Editor-Einstellungs-Zahnrad — „Schriftgröße“ war nur vom Desktop aus erreichbar. Das Zahnrad sitzt jetzt neben PG/MySQL und Format, und die Schriftgrößeneinstellung skaliert die Mobile-Editor-Eingabe tatsächlich.
v1.2.71. Mai 2026

Hotfix aus einer Fehlermeldung: Aufgabe #240 („Staff Bonuses“) zeigte das falsche Schema — sie zeigte Employee + Department statt des echten Employee + Bonus, was die Aufgabenstellung unleserlich machte.

Behoben
  • Aufgabe #240 „Staff Bonuses“: Der Schema-Viewer rendert veraltete Tabellen Employee + Department (mit den Feldern department_id, manager_id) und eine hohle Department-Registerkarte. Die Sandbox und die Referenzlösung waren die ganze Zeit korrekt — nur die Viewer-Metadaten waren falsch. Jetzt zeigt das Schema die echten Tabellen Employee + Bonus mit der Beziehung Bonus.empId → Employee.empId.
v1.2.61. Mai 2026

Datensätze über 268 von 339 Aufgaben angereichert — vollständigere Quelltabellen, aussagekräftigere Zeilen in der erwarteten Ausgabe, Aufgaben wirken nicht mehr kaputt.

Geändert
  • Massenhafte Datensatzanreicherung: 268 von 339 Aufgaben erhielten vollständigere Seed-Daten — typischerweise 6–12 Zeilen in Primärtabellen statt 2–4, mit Vielfalt entlang der Filter-/JOIN-/GROUP BY-Achsen, die die Referenzlösung beansprucht. 137 eindeutige Datensätze berührt. Referenzlösungen und Schemata sind unverändert. Der Nutzerfortschritt bleibt erhalten — bereits gelöste Aufgaben bleiben gelöst, Power und Erfolge werden nicht neu berechnet.
  • Jede angereicherte Aufgabe wurde validiert: Die Referenzlösung wurde über den Executor gegen den neuen Seed ausgeführt, sample_output aus dem realen Ergebnis neu generiert.
Behoben
  • Aufgabe #38 (well-paid-employees) — ursprünglich ein v1.2.4-Hotfix, jetzt Teil des umfassenderen Durchgangs.
v1.2.51. Mai 2026

Hotfix aus einer Fehlermeldung: Das Panel „Beispiel der erwarteten Ausgabe“ stellt jetzt klar, dass die dortige Zeilenzahl nicht mit den Schematabellen übereinstimmen muss.

Behoben
  • Über dem Panel „Beispiel der erwarteten Ausgabe“ einen Hinweis hinzugefügt: „So sieht eine korrekte Antwort aus — ihre Zeilenzahl ist ihre eigene, sie muss nicht mit den Schematabellen übereinstimmen“. Zuvor zählten Nutzer Zeilen in einer der Schematabellen und nahmen an, die Aufgabe sei kaputt, wenn die Zahlen abwichen.
v1.2.430. Apr. 2026

Hotfix aus einer Fehlermeldung: Aufgabe #38 „Gehalt höher als das des Vorgesetzten“ läuft jetzt auf einem ordentlichen Datensatz mit drei echten Fällen. Plus ein kleiner orangefarbener Punkt auf „Was ist neu?“, wenn ein frisches Release ausgeliefert wird.

Hinzugefügt
  • Ein kleiner orangefarbener Punkt erscheint am Navigationselement „Was ist neu?“, wenn ein frisches Release ausgeliefert wird. Ein Besuch von /releases löscht ihn bis zum nächsten Release.
Behoben
  • Aufgabe #38 (well-paid-employees): Der Datensatz war zu dünn — 6 Mitarbeiter und ein einziger Fall „Untergebener verdient mehr als Vorgesetzter“, was den Eindruck erweckte, die Daten seien falsch. Auf 9 Mitarbeiter in zwei Abteilungen mit drei klaren Fällen erweitert (Eve > Alice, Frank > Dave, Henry > Bob).
v1.2.330. Apr. 2026

Neue Seite „Bug melden“ mit Screenshot-Anhängen, eine sekundäre Navigationsgruppe und eine kompaktere „Hier starten“-Spur auf Mobilgeräten.

Hinzugefügt
  • Neue Seite „Bug melden“ in der Navbar: Formular mit Betreff + Beschreibung und bis zu 5 Screenshots / kurzen Clips (Drag-and-Drop unterstützt). Meldungen landen in unserem Posteingang für eine schnelle Triage.
  • Die Navbar erhält eine sekundäre Gruppe — „Was ist neu?“ und „Bug melden“ — durch einen dünnen senkrechten Trenner von den primären Tabs getrennt.
Geändert
  • Die Einsteiger-Spur „Hier starten“ ist auf Mobilgeräten kompakter — kürzerer Titel, ausgeblendete Beschreibung, schmalere Karten. Schafft Platz für die Aufgabenliste selbst.
Behoben
  • Die Einsteiger-Spur „Hier starten“ blitzt beim Öffnen der Aufgabenseite nicht mehr für den Bruchteil einer Sekunde auf — sie rendert jetzt erst, nachdem /progress aufgelöst ist.
  • Das Release-Notes-Highlight (oberster Einzeiler) rendert jetzt korrekt Backticks — zuvor zeigte es das wörtliche „?lang=“ statt einer gestylten Code-Pille.
  • Die Phantom-Vertikal-Scrollbar auf der Seite „Lernpfade“ ist weg — min-h-screen in Kombination mit der Navbar erzwang ~60px zusätzliche Höhe, selbst wenn der Inhalt passte.
v1.2.230. Apr. 2026

UX-Politur im gesamten Trainer plus ein ?lang=-URL-Parameter für Werbung und direkte sprachspezifische Links.

Hinzugefügt
  • Lande über ?lang=en oder ?lang=ru in der URL auf einer bestimmten Sprache: https://sql.coderang.dev/?lang=en. Praktisch für Werbung und das Teilen sprachspezifischer Links; die Wahl wird ein Jahr lang gemerkt.
Geändert
  • Wenn die täglichen KI-Hinweise aufgebraucht sind, wird aus der Schaltfläche „Erklären“ „Spickzettel“ und öffnet die Themenreferenz.
  • Der Favoriten-Stern ist jetzt auf Mobilgeräten sichtbar und auf dem Desktop schwach sichtbar, statt bis zum Hover verborgen zu sein.
  • Die Aufgabenbeschreibung springt nicht mehr, wenn sich der Spickzettel ausklappt. Der Stern ist beim Hover heller.
  • Bei DDL-Aufgaben zeigt das Schemapanel „keine Starttabellen; erstelle sie“ statt einer leeren Fläche.
  • Die KI-Schaltfläche pulsiert jetzt tatsächlich nur bei Fehlern (die Animationsklasse war zuvor nie definiert).
  • Navbar-Power und -Streak werden vor dem Server-Fetch aus localStorage geladen — kein „0 ⚡“-Aufblitzen mehr.
  • Der KI-Generierungszähler setzt sich nach der Weiterleitung zur generierten Aufgabe nicht mehr auf 0 zurück.
  • Mobile Annehmlichkeiten: Schwierigkeits-Badges gleicher Breite (Stern ausgerichtet), der Text im unteren Tab passt, Skalierungsanimation des Tageszählers, Tooltip auf dem Streak-Icon, russische Pluralregeln.
Behoben
  • Russische Firmennamen (Сбербанк, Яндекс, Авито…) werden auf englischer UI jetzt in lateinischer Transliteration (Sberbank, Yandex, Avito) gerendert; auf Russisch bleibt Kyrillisch.
  • Namen von Spickzettel-Einträgen (Aliase, Skalare Unterabfrage usw.) werden jetzt beim Sprachwechsel korrekt übersetzt.
  • Die Wochen-/Monats-Bestenliste wendet jetzt den Erster-Versuch-×2-Bonus an und ignoriert erneute Absendungen, passend dazu, wie Lifetime-Power berechnet wird. Zuvor zeigte die Periodenansicht etwa die Hälfte der Lifetime — ein Fehler in der Rechnung, nicht in den Daten.
  • Eine tote Solutions-Registerkarte entfernt — keine Schaltfläche aktivierte sie, aber sie verdoppelte die Last.
  • Backticks lassen vor nachgestellter Interpunktion keine Lücke mehr („Action.“).
  • Empty-States im Ergebnisbereich werden jetzt korrekt ins Englische übersetzt.
v1.2.130. Apr. 2026

Politur für Datenänderungsaufgaben und das allgemeine Beschreibungsrendering.

Hinzugefügt
  • Hinweis für DDL/DML-Aufgaben: UPDATE/INSERT/DELETE- und CREATE/ALTER/DROP-Aufgaben zeigen jetzt einen kurzen Hinweis „kein abschließendes SELECT nötig“ — kein Rätselraten mehr, was auszugeben ist.
Geändert
  • Der Themen-Spickzettel berücksichtigt jetzt den Aufgabentyp: DML-Aufgaben zeigen kein SELECT/ORDER BY/LIMIT mehr, DDL-Aufgaben zeigen nur Befehle zur Schemaänderung.
  • In Backticks gesetzte Token in Aufgabenbeschreibungen (\id = 4\, \users.email\) werden jetzt als Akzent-Code-Pillen gerendert statt als roher Text — Beschreibungen lesen sich genau so, wie die Autoren sie schreiben.
  • Code-Blöcke im Spickzettel haben jetzt einen Akzent-Balken links und einen dezenten Rahmen — sie lesen sich als echte Code-Snippets statt als graue Klötze.
v1.2.030. Apr. 2026

Onboarding für Neulinge: eine „Hier starten“-Spur, Starter-SQL bei deiner ersten Aufgabe und ein Themen-Spickzettel in jeder Aufgabe. Hinweise bei falscher Antwort sind jetzt konkret und verbrauchen dein KI-Kontingent nicht.

Hinzugefügt
  • „Hier starten“-Spur oben auf der Aufgabenseite — 8 einfache SELECT-Aufgaben für Erstnutzer. Wird angezeigt, bis du etwas löst; Drag-to-Scroll mit Greif-Cursor.
  • Starter-SQL im Editor. Die allererste Aufgabe, die du öffnest, füllt SELECT * FROM <first_table> LIMIT 5; vor, sodass du sofort ▶ drücken und sehen kannst, wie die Daten aussehen.
  • Themen-Spickzettel. Das Aufgabenpanel hat jetzt einen einklappbaren Referenzblock mit relevanten SQL-Befehlen, Syntax und einer einzeiligen Erklärung — pro Thema zugeschnitten: SELECT, JOIN, Aggregate, Unterabfragen, Window, CTE, DML, DDL.
Geändert
  • Das Banner bei falscher Antwort ist jetzt konkret: Es benennt zusätzliche/fehlende Spalten, Zeilenunterschiede, Sortierprobleme und häufige SQL-Fehler. Läuft lokal, kein KI-Kontingent verbraucht.
v1.1.030. Apr. 2026

Alias-bewusste Autovervollständigung im SQL-Editor und große Verbesserungen am Mobile-Layout.

Hinzugefügt
  • Releases-Seite: Der Aktualisierungsverlauf ist jetzt unter /releases sichtbar.
  • Alias-bewusste Autovervollständigung. Nach <alias>. sind die Vorschläge auf die Spalten dieser einen Tabelle beschränkt. Aliase selbst werden mit Tab vervollständigt.
  • . ist jetzt ein Triggerzeichen: Vorschläge erscheinen automatisch danach, kein Ctrl+Space nötig.
Geändert
  • Das Mobile-Menü überlagert jetzt den Inhalt, statt die Seite nach unten zu schieben. Schließt bei Tippen außerhalb.
  • 300+ Aufgabenbeschreibungen neu geschrieben: Geschäftskontext hinzugefügt, Ausgabespalten aufgelistet, Sortierung und Rundung explizit gemacht.
Behoben
  • Die mobile Aufgabenbeschreibung scrollt jetzt korrekt, wenn der Text lang ist. Früher klemmte sie und blockierte den Zugriff auf die Tabs unten.
  • Die untere Tab-Leiste des Trainers ist jetzt in jedem mobilen Browser (Yandex Browser, MIUI, Samsung Internet) immer sichtbar. Früher wurde sie unter dem Viewport abgeschnitten.
  • Das Mobile-Menü ist jetzt vollständig undurchsichtig. Zuvor schimmerten 5% des Hintergrundinhalts in Browsern ohne backdrop-filter-Unterstützung durch.
  • Auf schmalen Bildschirmen (320px und darunter) läuft das Aufgaben-Sortier-Dropdown nicht mehr über den rechten Rand hinaus.
  • Alter Autovervollständigungs-Fehler: Das Tippen von t.e nach FROM employee t fügte t.employee.salary ein (ungültiges SQL). Der Alias wird jetzt respektiert.
v1.0.010. Apr. 2026

Erstes stabiles Release von SQL Arena.

Hinzugefügt
  • 259 kuratierte SQL-Aufgaben über 6 Kategorien: SELECT, JOIN, Aggregate, Unterabfrage, Window, DML.
  • 96 Interview-Aufgaben von führenden Technologieunternehmen (Google, Meta, Amazon, Stripe usw.).
  • Unterstützung für zwei SQL-Dialekte — PostgreSQL und MySQL mit sofortigem Umschalten.
  • KI-Aufgabengenerierung: einzigartige Aufgaben, angepasst an dein Niveau.
  • AI Mentor: kontextbezogene Hinweise, ohne die Antwort zu verraten.
  • 3 Lernpfade: strukturierte Wege von den Grundlagen bis zu fortgeschrittenem SQL.
  • Echtzeit-SQL-Ausführung in einer Sandbox-Umgebung mit Ergebnisbewertung (Spalten-/Zeilen-/Reihenfolgen-Diff).
  • OAuth-Authentifizierung über GitHub, Google, Yandex, plus E-Mail-/Passwort-Registrierung.
  • XP-basierte (Power) Bestenliste, Nutzerprofile, Erfolge, dunkle und helle Themes.
  • Premium-Abonnement mit YooKassa-Integration und Anti-Bot-Rate-Limiting.
  • Interaktive ER-Schemadiagramme, Monaco-Editor mit SQL-Hervorhebung und -Formatierung.
  • Zweisprachige Oberfläche: Russisch und Englisch.