Čo je nové
História aktualizácií SQL Arena. Najnovšie verzie hore.
Every task is now solved by writing SQL — new task formats and catalog filters, plus new task packs.
- 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.
- 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.
- 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.
- 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.
- Removed a stray privacy notice banner on the user profile page.
Rozhranie teraz hovorí všetkými jazykmi EÚ — 21 nových jazykov.
- Pridaných 21 jazykov EÚ: nemčina, francúzština, taliančina, holandčina, poľština, rumunčina, gréčtina, čeština, maďarčina, švédčina, dánčina, fínčina, slovenčina, bulharčina, chorvátčina, litovčina, slovinčina, lotyština, estónčina, írčina a maltčina. Vyberte si v prepínači jazykov alebo sa jazyk zistí automaticky podľa vašej krajiny a jazyka prehliadača.
- Stránka „Nahlásiť chybu“ je teraz „Spätná väzba“ (na /feedback) s dvoma kartami: „Nahlásiť chybu“ a „Navrhnúť vylepšenie“. Návrhy na vylepšenie sa k tímu dostanú rovnako ako hlásenia chýb.
- V nastaveniach profilu je teraz vidieť dátum konca predplatného a formulácia „jednorazová platba“ bola odstránená.
- Rozbaľovacia ponuka prepínača jazykov je teraz kompaktnejšia.
- Profily sa prihláseným používateľom znova otvárajú z rebríčka — súkromie skryje profil len pred anonymnými návštevníkmi. Identifikátor URL profilu už nemožno odstrániť, takže každý profil zostáva dostupný cez odkaz.
- Platba zahraničnou kartou (záložka Visa/MC) na ruskej stránke sa teraz správne počíta v USD a spracúva cez Paddle namiesto otvorenia YooKassa so sumou v rubľoch.
Certifikácia: zložte časovo limitovanú skúšku a získajte overiteľný certifikát úrovne.
- Certifikačné skúšky: tri úrovne (Foundations / Practitioner / Expert), po 8 úloh, časovač na každú úlohu, hranica úspešnosti 7 z 8. Každý pokus dostane vlastnú množinu dát, takže odpovede sa nedajú naučiť vopred.
- Overiteľný certifikát s QR kódom, ktorý vedie na váš verejný profil; v profile sa teraz zobrazuje sekcia s certifikátmi.
- Vymažte svoj účet priamo z nastavení profilu.
- Nastavenia profilu boli prepracované do čistého štýlu sekciovaného zoznamu; používatelia Premium dostanú animovaný prstenec okolo avatara.
- Vyhodnocovanie sprísnené na 324 úlohách: teraz beží na skrytej množine dát, takže už neprejdete tým, že prispôsobíte riešenie viditeľnému príkladu.
- Automatické dopĺňanie v editore teraz pri písaní FROM/JOIN navrhuje názvy CTE deklarovaných cez WITH.
- AI Mentor teraz vidí vašu chybu a aktuálny dotaz aj po Run — nové tlačidlo „Explain my error“ vám umožní prebrať akúkoľvek chybu vrátane syntaktických.
- Úloha #91: vyhodnocovanie teraz beží na skrytej množine dát — už neprejdete tým, že prispôsobíte riešenie viditeľnému príkladu (napr. cez LIMIT alebo natvrdo zadanú dĺžku).
- Úloha #13: zo zadania bola odstránená prezrádzajúca pomôcka s hotovým filtrom — riešenie si teraz odvodíte sami.
- Mapa zručností teraz pokrýva všetky kategórie úloh (pridané CTE, DDL, transakcie, optimalizácia) a je väčšia a čitateľnejšia.
- Pomôcka „čo zlepšiť“ v Mape zručností teraz ukazuje na tému s najväčším počtom nevyriešených úloh namiesto náhodnej.
- Graf ročnej aktivity opäť zobrazuje úplné názvy mesiacov namiesto orezania na jedno písmeno.
- Riešenia vracajúce časový interval (napr. rozdiel dvoch časov) už pri odoslaní nehlásia chybu.
- Úloha #88: dáta opravené — odlety z Paríža majú teraz rozdielne trvania namiesto troch identických riadkov.
- Vrátenie zmien (Ctrl+Z) v editore teraz uchováva samostatnú históriu pre každú záložku dotazu.
- Úloha #624: v zadaní je teraz uvedené, že priemerná cena sa musí zaokrúhliť na 2 desatinné miesta.
- Návrhy v SQL editore sa už po prechode medzi úlohami neduplikujú.
- Úloha #621: kluby bez členov sa teraz objavujú vo výsledku s nulovými tržbami.
- Úlohe #831 sa zmenila obťažnosť z EXPERT na MEDIUM.
SQL Arena je teraz viacjazyčná: angličtina, španielčina a portugalčina, každá s vlastnými URL stránok a automatickým rozpoznaním regiónu.
- Prepínač jazykov: ruština, angličtina, španielčina (Španielsko a Latinská Amerika) a portugalčina.
- Pri prvej návšteve sa stránka otvorí v jazyku vášho regiónu a vaša voľba sa zapamätá.
- Každý jazyk má vlastné URL stránok (/en, /es, /es-419, /pt-br), ktoré možno bezpečne zdieľať.
- Platba za Premium v miestnej mene: RUB, USD, EUR alebo BRL v závislosti od regiónu.
- Anglická verzia stránky je plne podporovaná; španielske a portugalské preklady sa postupne nasadzujú.
Úlohy na vytváranie tabuliek prijímajú akúkoľvek platnú formu, pomôcky pri chybách sú teraz relevantné a jedna úloha s nejednoznačnou odpoveďou bola opravená.
- Úloha „najpopulárnejšia dvojica kurzov“: vzorové dáta umožňovali niekoľko rovnako platných odpovedí, no kontrola prijímala iba jednu. Úloha má teraz jedinú správnu odpoveď.
- Úlohy CREATE TABLE odmietali správne riešenie, keď študent pomenoval obmedzenie (napr.
CONSTRAINT ... PRIMARY KEY). Vyhodnocovanie teraz porovnáva štruktúru tabuľky — názvy obmedzení sa ignorujú. - Neúspešná úloha na vytvorenie tabuľky zobrazovala nerelevantnú pomôcku „pridajte ORDER BY“. Pomôcka je teraz vecná — o stĺpcoch, typoch, NOT NULL a kľúčoch.
Úlohy na úpravu dát sa riešia presne tak, ako hovorí zadanie — bez nezdokumentovaného overovacieho SELECT.
- Úlohy INSERT/UPDATE/DELETE a transakčné úlohy (vrátane UPSERT, MERGE, SKIP LOCKED) už nevyžadovali nezdokumentovaný overovací SELECT. Teraz sa vyhodnocujú podľa výsledného stavu tabuľky a na stránke úlohy sa zobrazuje poznámka „SELECT na konci netreba“.
- Najlepšie riešenia: služobné účty sa už v zozname neobjavujú — v zhode s verejným rebríčkom.
Úlohy na vytváranie tabuliek a indexov sa teraz riešia presne tak, ako hovorí zadanie — bez nezdokumentovaného SELECT; živé obnovovanie rebríčka opäť funguje.
- Úlohy DDL (CREATE TABLE, ALTER, CREATE INDEX, cudzie kľúče) už nevyžadovali nezdokumentovaný overovací SELECT. Teraz sa vyhodnocujú podľa výslednej schémy databázy a na stránke úlohy sa zobrazuje poznámka „SELECT na konci netreba“.
- Stránka rebríčka: živé obnovovanie obnovené — WebSocket spojenie rebríčka už nezlyháva.
- Diagram schémy: niektoré úlohy nezobrazovali väzby medzi tabuľkami — šípky cudzích kľúčov sa teraz na diagrame objavujú.
- Dialóg „Správne!“ už nezobrazuje pokles hodnosti ako povýšenie smerom nahor — odznak hodnosti sa objaví iba pri skutočnom povýšení.
Úlohy CREATE / ALTER TABLE a iné viackrokové riešenia sa dajú opäť odoslať — limit počtu príkazov na odoslanie bol príliš prísny.
- Limit počtu príkazov na odoslanie bol zvýšený z 3 na 20: úlohy DDL (CREATE TABLE, ALTER, indexy, triggery) a viackrokové DML sa už neodmietajú s chybou „príliš veľa príkazov“.
MySQL variant úloh z celého katalógu je opäť zosynchronizovaný s PostgreSQL — niektoré MySQL úlohy sa predtým vyhodnocovali na zastaraných dátach.
- MySQL variant stoviek úloh bežal na zastaranej množine dát — seedy boli prestavané, odpoveď v MySQL sa opäť zhoduje s PostgreSQL.
- Šesť úloh, ktoré fungovali iba v PostgreSQL, má teraz funkčný MySQL variant.
- Úlohy CREATE TABLE / CREATE INDEX / ALTER sa vyhodnocujú podľa výslednej schémy tabuliek — nesprávna štruktúra sa už neuznáva ako správna.
- Úlohy INSERT používajúce CURRENT_TIMESTAMP / NOW() už neodmietajú správnu odpoveď kvôli rozdielu v čase behu.
- Vzorové výstupy, ktoré náhodne prezrádzali presnú odpoveď, sú nahradené neprezrádzajúcimi vzorkami; poradie riadkov sa vynucuje tam, kde to úloha vyžaduje.
- Audit naprieč celým katalógom zosúladil zadanie, vyhodnocovacie dáta a referenčné riešenie v niekoľkých desiatkach úloh, kde sa od seba odchýlili.
Opravené vyhodnocovanie viacpríkazových riešení — DELETE/UPDATE s koncovým SELECT sa teraz vyhodnocuje správne.
- Dátumy a časy vo výsledkoch dotazov sa teraz zobrazujú čisto ako
2024-01-15 08:00:00namiesto technického ISO formátu.
- Úlohy DML (DELETE, UPDATE, INSERT) s overovacím SELECT už neodmietajú správnu odpoveď ako „nadbytočné stĺpce“.
- Úloha #768: zadanie sa teraz zhoduje s vyhodnocovanou odpoveďou.
- Pomôcka pri nesprávnej odpovedi už nenavrhuje porovnávať s blokom príkladu, ktorý je zámerne nepresný.
- Čisté úlohy UPDATE / DELETE / INSERT sa teraz vyhodnocujú podľa výsledného stavu tabuľky — nesprávna mutácia sa už neuznáva ako správna.
Opravených päť úloh, kde text zadania nesedel so schémou a odpoveďou.
- Úlohy #762, #763, #764, #765, #809: zadanie prepísané tak, aby zodpovedalo skutočnej schéme a očakávanej odpovedi.
- AI generovanie úloh, AI Mentor a formulár na nahlásenie chyby: pri prekročení limitu teraz zobrazujú „skúste znova o N sekúnd“ namiesto „ThrottlerException“.
Opravená úloha #17 — vyhodnocovač vracal NULL pre chybu v schéme.
- Úloha #17 (
average-post-hiatus): schéma zosúladená so seedom, vyhodnocovač opäť funguje.
V úlohe „Move old rows to archive in one go — race-free“ (#789) zadanie žiadalo stĺpec customer_id, ktorý v schéme neexistuje. Znenie je teraz zosúladené so skutočnou schémou a vyhodnocovačom: id, status, amount.
- Úloha #789 (
hard-cte-atomic-archive): popis spomínal neexistujúci stĺpeccustomer_id. Znenie sa teraz zhoduje so schémouorders/orders_archivea očakávanými stĺpcamiid, status, amount.
Správa „Príliš veľa požiadaviek“ teraz zobrazuje presný limit a počet sekúnd do obnovenia namiesto nejasného „ThrottlerException“. Serverový limit požiadaviek bol zvýšený, takže rýchla navigácia v rámci tréningu už nenaráža na strop.
- Serverový limit požiadaviek na bežné API požiadavky zvýšený 5×. Rýchle prepínanie medzi úlohami v rámci tréningu (10+ paralelných načítaní pri mount) už nenaráža na strop a nekončí s 429.
- Pri prekročení limitu pri Submit alebo Run správa teraz zobrazuje skutočný limit a presný počet sekúnd do opätovného pokusu. Predtým sa objavilo iba nejasné „ThrottlerException: Too Many Requests“ bez pomôcky, koľko čakať.
Tlačidlo „Štart“ na karte tréningu opäť skutočne spúšťa tréning — neviditeľná prekryvná vrstva odkazu karty zachytávala klik a presmerovala ho na stránku s detailom tréningu.
- Na
/trainer/trackstlačidlo „Štart“ na karte tréningu už nepresmeruje na stránku s detailom tréningu namiesto jeho spustenia. Klik kdekoľvek na karte → detail zostáva zachovaný.
SQL sandbox: prineste si vlastné tabuľky a dotazy — žiadna úloha, žiadne vyhodnocovanie. Plus jednotné široké rozloženie bento naprieč rebríčkom, pokrokom, tréningmi, úlohami a reláciami.
- Nová stránka
/sandbox— editor Monaco, panel schémy, panel výsledkov, záložky dát pre jednotlivé tabuľky, rozcvičkové úryvky. Anonymné relácie sa po 30 min nečinnosti ukončia, prihlásení používatelia majú 7 dní. - Uložené fiddly: až 5 v bezplatnej verzii, neobmedzene v Premium. Knižnica s vyhľadávaním, kopírovaním odkazu, mazaním a prepínačom súkromia.
- Jednotné široké rozloženie naprieč stránkami osobného priestoru — My Fiddles, Pokrok, Rebríček, Relácie, Úlohy, Tréningy a stránka s detailom tréningu teraz zdieľajú jeden rámec s gradientovým hero a konzistentnou mriežkou kariet.
Šípky zmeny pozície v rebríčku sú späť — predtým bol stĺpec prázdny, lebo neexistoval základný snímok na porovnanie.
- Indikátor „stúpol / klesol / bez zmeny“ je späť pri každom riadku v rebríčku. Základný snímok z predošlého týždňa bol naseedovaný; pravidelný týždenný cron ho bude ďalej obnovovať.
Opravená chyba, keď opätovné odoslanie už vyriešenej úlohy potichu odobralo Power — bonus „na prvý pokus“ sa vymazal. Všetkým dotknutým používateľom bol Power prepočítaný.
- Opätovné odoslanie riešenia pre už vyriešenú úlohu už nezmaže bonus „na prvý pokus“ — Power za danú úlohu zostáva rovnaký ako hneď po prvom úspešnom odoslaní.
- Úloha #107 (rozpis výdavkov podľa žánru kníh za rok 2005) už nevyžaduje konkrétne poradie riadkov — teraz sa prijíma akékoľvek zoradenie, v zhode so znením zadania.
Opravený panel schémy DB v niekoľkých úlohách — oranžové čiary väzieb medzi prepojenými tabuľkami sa nevykresľovali.
- V niektorých úlohách panel „Schéma“ nezobrazoval väzby medzi tabuľkami (oranžové šípky 1:N) — chýbajúce väzby boli pridané do množín dát.
Opravená úloha „Split customers into low / mid / high spenders“: vzorová odpoveď a referenčné riešenie sa odchýlili od zadania — teraz všade používame ID zákazníka a segmenty low / mid / high.
- Úloha „Split customers into low / mid / high spenders“ (#757): vzorová odpoveď a referenčné riešenie sa teraz zhodujú so zadaním — stĺpce
customer_id,segment, segmentylow/mid/high, zoradené podľacustomer_id.
Veľký rebranding „Arena“: nová domovská stránka, od základu prepracovaný rebríček s pódiom a živými aktualizáciami, body premenované na „Power“ so značkou bojovej sekery, prestavané učebné tréningy a adaptívne AI generovanie úloh, ktoré naozaj číta vaše posledné odoslania.
- Nová záložka „League“ — 30 používateľov najbližších k vám podľa Power. Filtre obťažnosti na globálnej záložke (Power prepočítaný pre každý rebrík). Šípky stúpania / klesania pri každej pozícii — pohyb oproti minulému týždňu.
- Úspechy: emoji nahradené vektorovými ikonami zafarbenými podľa kategórie, popisy v prehliadači zobrazujú lokalizované názvy; na
/statsje to mriežka s vyskakovacími oknami na ťuknutie na mobile. Nový úspech „10 Expert“. - Prejdite myšou na meno v rebríčku pre mini kartu používateľa. Tlačidlo „Share rank“ — odkaz vedie na váš verejný profil s OG náhľadom.
- Domovská stránka prepísaná pod značkou „Arena“: údernejší nadpis „Sharpen SQL. Take the offer.“, živý skóreboard v hero sekcii, rebrík hodností s pinom „You“, sekcie o trenažéri / tréningoch / AI / režime Mock Interview / pokroku a záverečný pás „The axe is in your hand. Swing.“. Pripravené pre mobil.
- Body premenované na „Power“. Blesk je nahradený bojovou sekerou — teraz aj v logu, vo favicone a v náhľade pri zdieľaní odkazu.
- Stránka rebríčka bola prepísaná od základu: pódium pre top 3 (zlato / striebro / bronz), osobná karta pokroku s pruhom po nasledujúcu hodnosť, jedna prilepená lišta filtrov, rebrík hodností hneď pod hlavičkou, prilepený riadok „you“, keď ste mimo top 50, a živé aktualizácie — tabuľka plynulo reaguje na riešenia ostatných bez načítania.
- Učebné tréningy prestavané. Analyst / Backend / QA / Data Engineering — každý ~50 kurátorovaných úloh: niekoľko zástupcov na bunku téma×obťažnosť, od rozcvičky po EXPERT, s dôrazom na úlohy z reálnych pohovorov. Pridaný tréning Data Engineering plus samostatný tréning na prípravu na pohovor.
- Tlačidlo „Generate for me“ je teraz naozaj adaptívne: číta vašich posledných 40 odoslaní, vyberie tému s najhoršou nedávnou presnosťou a kalibruje obťažnosť podľa vašej úrovne — pri zaseknutí nasledujúcu o stupeň zníži, pri sérii ju zvýši.
- Noví návštevníci dostanú vo východiskovom nastavení tému „Night“ (predtým „Evening“). Ak ste si tému už vybrali, vaša voľba sa zachová.
- Úloha „Say in one number: how many active customers“ — kanonické riešenie vyžadovalo zákazníkov s ≥2 zaplatenými objednávkami, hoci popis hovorí „aspoň raz“. Opravené tak, aby zodpovedalo popisu.
Úlohy EXPERT teraz udeľujú skutočných 75 power za vyriešenie (až 281 s bonusmi) namiesto 10 ako pri úrovni EASY. Celkový power používateľom, ktorí už nejakú EXPERT úlohu zvládli, bol spätne prepočítaný.
- Tabuľka odmien nemala riadok pre EXPERT, takže vyhodnocovač sa vrátil k východiskovej hodnote 10 a každá EXPERT úloha vyplácala rovnako ako EASY. Základ EXPERT je teraz 75 power, s rovnakými násobiteľmi navrch (na prvý pokus ×2, úspešné Mock Interview ×1,25, riešenie s premium ×1,5) — až 281 power za jednu EXPERT úlohu. Migrácia prehrala
xp_totalpre každý profil podľa opravených pravidiel, takže každý, kto už EXPERT úlohu vyriešil, chýbajúci power získa automaticky.
Zatvorená medzera, keď sa úloha dala „vyriešiť“ natvrdo zadaným vzorovým výstupom: na 25 množinách dát vyhodnocovač teraz kontroluje váš dotaz oproti skrytým riadkom, ktoré sa líšia od tých zobrazených v popise úlohy.
- Riešenia stále bežia oproti rovnakým tabuľkám a stĺpcom ako predtým, no riadky vo vyhodnocovacom seede sa líšia od viditeľnej vzorky. Akákoľvek skutočná odpoveď založená na dotaze stále prejde, kým natvrdo zadané
SELECT … UNION ALL …, ktoré skopírovalo literály vzorky, sa teraz vyhodnotí ako „wrong“. Pokrytých je 25 množín dát z najnovšej dávky katalógu (zoznamy, CTE, okná, pivot, DML, expert).
Opravené dva problémy s úlohami nahlásené študentmi: zle zoradená vzorka v „Students by region“ a popis, ktorý sa odchýlil od schémy v úlohe na čisté tržby.
- Úloha „Students by region“ (#357): vzorka teraz stúpa podľa
rn(Jack / Kim / Lars v prvom riadku) a referenčné riešenie obsahuje explicitnéORDER BY rn, takže produkuje rovnaké poradie. - Úloha „Users with net revenue of at least 100“ (#783): názov a popis sa teraz zhodujú so skutočnými dátami — používatelia a udalosti
purchase/refund, nie produkty asale/refund, s hranicou 100, nie 1000.
Šesť pokročilých úloh teraz dodáva preddefinovanú tabuľku — riešenia už nezačínajú preambulou CREATE TABLE.
- Šesť úloh úrovne Hard / Expert (jedno- a viacstĺpcový UPSERT, CTE s
RETURNING, hromadnýINSERT … RETURNING, frontaSKIP LOCKED, rozbalenie poľa cezUNNEST) sa pridalo k zvyšku pokročilého katalógu: tabuľka je vytvorená a naseedovaná v množine dát a riešenie obsahuje iba testovanú operáciu plus koncovýSELECTna vyhodnotenie.
- Popis úlohy „View counter“ sa už neodchyľuje od očakávaného výstupu: oba teraz opisujú rovnakú tabuľku
counters(id, count)a päť behov rovnakého riadka.
Úlohy DDL už nezobrazujú nesúvisiace tabuľky v bočnom paneli schémy.
- Na 10 úlohách
CREATE TABLE(od ľahkých po expertné) bočný panel schémy vykresľoval tabuľky z nesúvisiacej množiny dát — napr. úloha o článkoch zobrazovalaorders. Panel je teraz prázdny, ako má byť, keď úloha žiada vytvoriť tabuľku od nuly.
115 nových úloh, trojrežimový prepínač tém Day / Evening / Night a jemnejšia tmavá paleta.
- Katalóg sa rozrástol o 115 úloh: 20 ľahkých, 35 stredných, 45 ťažkých a 15 expertných — poddotazy, CTE, okenné funkcie, DML/DDL, MERGE, optimalizácia dotazov, transakcie, JSONB, rekurzia a
LATERAL. - Nová úroveň obťažnosti «Expert» s fialovým odznakom a vlastným filtrom v katalógu.
- Trojrežimový prepínač tém: Day (svetlá), Evening (jemná tmavá) a Night (hlboká) — vyberte podľa okolitého svetla, aby sa oči menej namáhali.
- Tmavá téma zjemnená: plátno sa presunulo na sivomodrú vo štýle Linear (
#1B1B1F) namiesto predošlej takmer čiernej, primárny text klesol na zinc-300 — menej halácie pri dlhých reláciách. - V režime «Night» sedí panel SQL editora o tri stupne hlbšie ako plátno s miernym posunom k skutočnej čiernej — číta sa ako zapustený panel v rovnakej rodine.
- Tematický prehľad v úlohe teraz zohľadňuje obťažnosť: na úrovniach Hard / Expert skrýva základné
SELECT/WHERE/ORDER BY/LIMITa namiesto toho vynáša pokročilé vzory —STRING_AGG,ARRAY_AGG,GROUPING SETS,LATERAL, JSONB, čiastočné indexy a podobne. - Aktívne pilulky filtra obťažnosti prešli na jemnú výplň so značkovým akcentom namiesto plnej čiernej — už nenarúšajú vzhľad svetlej témy.
- Ruské označenia obťažnosti: «Лёгкое» → «Лёгкий», «Среднее» → «Средний», «Сложное» → «Сложный».
24 nových blogových článkov pre začiatočníkov.
- Pokrytie tém rozšírené: DML (
INSERT/UPDATE/DELETE), DDL (CREATE TABLE/ALTER TABLE), agregácie,DISTINCT, práca s NULL (CASE WHEN/COALESCE/NULLIF), CTE a poddotazy, okenné funkcie, reťazce a dátumy.
- Ťahák v trenažéri: každá položka teraz vedie na vlastný článok. Predtým štyri položky okenných funkcií odkazovali na jediný prehľad —
ROW_NUMBER,RANK/DENSE_RANK,PARTITION BYaLAG/LEADmajú teraz každá vlastný.
- Úloha #114 „Koľko kardiologických oddelení“ — očakávaný výstupný stĺpec premenovaný z
countnawards_count, takže už vizuálne nekoliduje s vyhradeným kľúčovým slovom.
Zatvorená medzera s prispôsobovaním odpovedí: úlohy sa teraz vyhodnocujú oproti skrytej množine dát.
- Vyhodnocovač teraz dokáže spustiť úlohu oproti skrytej množine dát. Kanonická referencia sa prepočíta na rovnakých dátach, takže správne riešenia stále prechádzajú, kým konštanty vypožičané z viditeľnej vzorky prepadnú.
- Úloha „Oldest club member“ už neprijíma natvrdo zadaný
LIMITprispôsobený viditeľnej vzorke — prejde iba dotaz, ktorý vyjadruje „všetky riadky s minimálnym dátumom narodenia“.
Doladenie cenových kariet a opravy tlačidla „Sign in & subscribe“ hneď po v2.2.0.
- Cena a tlačidlo CTA v kartách Free a Premium sú teraz zarovnané na rovnakej osi Y.
- Skrátené poznámky pod cenou pre Crypto a Visa/MC — zostáva iba názov platobnej siete.
- Tlačidlo „Sign in & subscribe“ je opäť klikateľné pre odhlásených používateľov.
Pridané platby kryptom a medzinárodné platby Visa/Mastercard, plus sprísnená anti-bot ochrana v procese prihlasovania.
- Platby kryptom cez NowPayments — BTC, ETH, USDT a ďalšie. 21 $ štvrťročne / 28 $ polročne.
- Medzinárodná Visa/Mastercard cez Paddle s automatickým výpočtom VAT/sales tax. 21 $ / 28 $.
- Výber platobnej metódy na karte Premium: RU karta, Crypto, Visa/MC. Mena sa mení podľa metódy.
- Cloudflare Turnstile pri prihlásení a registrácii — neviditeľný pre ľudí, blokuje boty.
- Účet sa po 5 nesprávnych heslách zamkne na 15 min (exponenciálne až do 24 h) s výslovným odpočítavaním.
- Chyby prihlásenia a registrácie sú zľudštené — žiadne surové „Forbidden“ ani „Invalid credentials“.
- Limit odoslaní: 5/min, 30/15 min na používateľa. Reálne relácie riešenia neovplyvňuje.
- Po prihlásení sa vrátime na stránku, z ktorej ste prišli — vrátane OAuth (Google, GitHub, Yandex).
- Odhlásenie z verejnej stránky vás už nevyhodí na domovskú stránku.
Dokončená oprava ukladania Telegram, GitHub a LinkedIn na stránke profilu. Predošlé vydanie opravilo normalizátor používateľského mena na backende, no frontendový komponent skratoval onBlur — PATCH sa nikdy skutočne neodoslal. Pole vizuálne prijalo vstup, server zostal prázdny a po obnovení bolo pole prázdne. Teraz porovnanie pri blur používa hodnotu zachytenú pri fokuse, nie práve zadávaný vstup.
- Polia Telegram, GitHub a LinkedIn na stránke profilu sa teraz opäť ukladajú. useEffect prepisoval referenciu „naposledy uložené“ pri každom stlačení klávesu, takže kontrola onBlur porovnávala aktuálnu hodnotu so sebou samou a PATCH preskočila. Kontrola pri blur teraz porovnáva so snímkou zachytenou pri fokuse.
Opravené ukladanie identifikátorov Telegram, GitHub a LinkedIn na stránke profilu: zadávanie formátu zástupného textu ako t.me/username sa orezávalo na nezmysel ako t.me. Teraz sa akýkoľvek vstup — holý identifikátor, @handle, t.me/handle alebo https://t.me/handle — normalizuje na čisté používateľské meno.
- Polia Telegram, GitHub a LinkedIn na stránke profilu sa teraz správne ukladajú, keď je adresa zadaná bez
https://. Predtým sat.me/durovukladalo akot.me,github.com/octocatakogithub.com, lebo normalizátor vyžadoval schémuhttp(s)://a inak hodnotu orezal pri prvej lomke.
Odstránený falošne pozitívny premium upsell banner v paneli výsledku riešenia: spúšťal sa na bezplatných úlohách a dokonca aj pre premium používateľov. Bolo to mŕtve UI od začiatku — premium úlohy sú zablokované pri otvorení úlohy, takže editor ich nikdy nevidí.
- V oslavnom modálnom okne „Správne!“ má pilulka „+50% Power per solve — go Premium“ teraz správny horizontálny padding — koruna a šípka sa už nedotýkajú okrajov pilulky.
- AI Mentor teraz dostáva kompaktný kontext úlohy: aktívny SQL dialekt, tabuľky, väzby, očakávané stĺpce, vzorový výstup a najnovší diff vyhodnotenia. Referenčné SQL sa používa iba ako súkromný kontext pre vysvetlenia chýb a neskoršie úrovne pomôcok.
- Upsell banner „Interview tasks — Premium“ je preč z panela spätnej väzby. Predtým akákoľvek serverová chyba obsahujúca slovo
premiumvo svojom stack trace (napr. chýbajúci stĺpecsolved_as_premiumhneď po migrácii) spustila zhodu podreťazca a vykreslila upsell — dokonca aj na bezplatných úlohách a aj pre premium používateľov.
Premium teraz udeľuje +50% Power za vyriešenú úlohu — bonus sa k úlohe prilepí navždy, aj po vypršaní predplatného. AI Mentor už pri prvej pomôcke neprezradí riešenie a teraz stupňuje pomoc na úrovni jednotlivých úloh. Tiež bol z editora prvej úlohy odstránený úvodný komentár -- Click ▶ Run.
- Predplatné Premium udeľuje násobiteľ Power ×1,5 za každú vyriešenú úlohu. Bonus sa uzamkne v momente vyriešenia, takže zostáva vo vašom súčte aj keď predplatné neskôr vyprší.
- Oslavné modálne okno „Správne!“ teraz zobrazuje bezplatným používateľom výzvu na upgrade hneď pod čipom +Power: „Get +50% Power per solve — go Premium“, s odkazom na /pricing.
- AI Mentor teraz stupňuje pomôcky na úlohu. Prvá požiadavka dostane len smerovacie nasmerovanie bez názvov operátorov; požiadavky 2 – 4 pridajú koncept a kategóriu; od 5. požiadavky môže mentor priamo pomenovať
LIKE/WHERE/GROUP BY. Počítadlo sa resetuje každých 24 hodín. - Vysvetlenia nesprávnej odpovede teraz nasledujú rovnaké úrovne pomôcok ako bežné pomôcky — pri úplne prvom neúspešnom odoslaní už neprezrádzajú konkrétne operátory.
- Zatvorené zostávajúce zistenia auditu SQL úloh: opravená referencia Tournament Winners, zosúladené náhľady TIMESTAMP v niekoľkých úlohách a obnovený PostgreSQL variant jednej AI úlohy.
- Odstránený úvodný komentár
-- Click ▶ Run — see what's in this tablez editora prvej úlohy. Otvorené úlohy teraz začínajú prázdnym editorom.
Prepracované filtre katalógu úloh: stav sa stal 3-stavovým segmentovým ovládačom (All / Unsolved / Solved) s východiskovým Unsolved, pridaný filter dialektu, čipy tém a firiem teraz zobrazujú aktuálny počet úloh, aktívne filtre sa zobrazujú ako odstrániteľné pilulky s možnosťou „Reset all“.
- Filter dialektu v katalógu: All / PG / MySQL — vlastný segment vedľa ovládača stavu.
- Čipy tém a firiem teraz zobrazujú, koľko úloh sa zhoduje: „Windows (43)“, „Tinkoff (5)“. Čipy s nulovým počtom úloh zoslabnú.
- Riadok piluliek aktívnych filtrov: každý použitý filter (vyhľadávanie, obťažnosť, stav, dialekt, obľúbené, téma, štítok, firma, región) sa vykreslí ako odstrániteľná pilulka; „Reset all“ vráti všetko na východiskové nastavenia.
- Filter stavu úlohy je teraz 3-stavový segmentový ovládač (All / Unsolved / Solved), s východiskovým Unsolved. Nahrádza jediný prepínač „Hide solved“.
- Ovládač zoradenia presunutý do hornej lišty — predtým bol skrytý dole a zakrytý posúvaním.
- Prepínač obľúbených presunutý do hornej lišty filtrov — teraz sedí vedľa ostatných binárnych prepínačov.
- Odznak filtra už hneď po otvorení nezobrazuje „1“ — východiskové zobrazenie „Unsolved“ sa nepočíta ako použitý filter.
Audit naprieč celým katalógom: vyhodnocovač už neodmieta správne odpovede kvôli serializácii DATE vs. TIMESTAMP, vzorové náhľady v 60+ úlohách sa teraz zhodujú s tým, čo referenčné riešenie skutočne vracia, a 5 úloh používajúcich CURRENT_DATE / NOW() je pripnutých k pevnej referencii, takže náhľady už deň čo deň neuplávajú. Plus oprava popisu úlohy o mesačných transakciách z používateľského hlásenia.
- Vyhodnocovač: pridaná normalizácia dátumu ako timestamp (
2024-01-01T00:00:00.000Z↔2024-01-01) — správne odpovede už nedostávajú „počet riadkov sedí, obsah sa líši“ kvôli formátovaniu návratového typu. - Úloha „Monthly transactions and chargebacks“: popis teraz objasňuje, že chargeback patrí do mesiaca pôvodnej transakcie, nie do dátumu refundácie; náhľad zobrazuje dátumy prvého dňa mesiaca namiesto ISO časových značiek posunutých podľa pásma.
- Regenerované vzorové náhľady v 60+ úlohách: číselné formátovanie (
100→100.00), zobrazenie časového pásma (+03→+00), DATE ako TIMESTAMP, INTERVAL ako objekt — náhľad sa teraz zhoduje s tým, čo vracia živý spúšťač. - Päť úloh používajúcich
CURRENT_DATE/NOW()/CURRENT_TIMESTAMPvo svojom seede (#170, #601, #602, #668, #693) je teraz pripnutých k2026-05-05 12:00:00 UTC. Náhľady už neuplávajú.
Prepracovaný blog: vyhľadávanie, navigácia podľa 10 sekcií, prvých 7 tutoriálov pre začiatočníkov. Názvy príkazov v ťaháku úlohy sú teraz klikateľné odkazy na články. Stránka vydaní dostala strom verzií so scroll-spy.
- Blog: vyhľadávanie naprieč názvami, obsahom a štítkami + ľavý bočný panel sekcií. Aktívna sekcia sa zvýrazní pri posúvaní.
- Blog: 7 prvých tutoriálov pre začiatočníkov —
SELECT … FROM,WHERE,ORDER BY,LIMIT,INNER JOIN,LEFT JOIN, aliasy. - Tematický ťahák v úlohe: názvy príkazov sú teraz modré odkazy na zodpovedajúci blogový tutoriál — otvárajú sa na novej karte.
- Stránka vydaní: strom verzií na ľavej strane zoskupený podľa
major.minor; kliknutie posunie na verziu a aktualizuje kotvu v hashu. - Tlačidlo „Copy SQL“ na každom riadku záložky Odoslania.
- Skloňovanie čísloviek všade: „221 задача“, „2 задачи“, „5 задач“ namiesto starého „221 задач“.
- Tematický ťahák v úlohe sa už pri rozbalení netrasie — miesto pre posuvník je teraz rezervované.
- Markdownové tabuľky v blogových článkoch sa teraz vykresľujú ako HTML tabuľky namiesto jediného riadku obyčajného textu.
Kontrola kvality naprieč celým katalógom: opravených 23 neriešiteľných úloh, prepísaných 66 anglických popisov, zosúladené popisy a vzorové náhľady v ešte niekoľkých desiatkach ďalších. Plus jedna oprava nahlásená používateľom.
- Vzorové náhľady v 50+ úlohách sa teraz zhodujú s tým, čo vracia referenčné riešenie.
- Zlúčené duplicitné štítky firiem vo filtrovacích čipoch úloh.
- Opravených 23 úloh (pharma-*, loyal-*, hotel-*, qa-*), ktoré sa nedali vyriešiť pre nesúlad schémy a seedu.
- Prepísané anglické popisy v 66 úlohách lc-* / lc2-*, ktoré predtým obsahovali zástupný text alebo útržok.
- Úloha „Rooms Booked on September 2, 2019“ už neprijíma nesprávnu odpoveď.
- Desať úloh, kde popis nesúhlasil s referenčným riešením, je teraz konzistentných.
- Sedem úloh Tochka obsahovalo cudzie zadanie — boli prepísané.
69 nových úloh z reálnych pracovných pohovorov na ruskom trhu (Yandex, Tinkoff, Sber, VTB, Alfa, VK, Ozon, Avito, Magnit, Samokat a 23 ďalších firiem) — postavených okolo širšieho sveta typov PostgreSQL: UUID, JSONB, ENUM, INTERVAL, TSTZRANGE, INET, NUMERIC a POINT. Plus kľúčové opravy z používateľských hlásení a červený bodový indikátor „Čo je nové“ v bočnom paneli.
- 69 nových úloh prevzatých z reálnych pohovorov v ruských firmách. 33 zamestnávateľov: 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 a Yandex Practicum. Všetky označené Interview, dostupné pre Premium.
- Bohaté typy PostgreSQL v schémach úloh. Väčšina úloh predtým používala
INT+VARCHAR(100)— vhodné pre učebnicové príklady, ďaleko od produkcie. Nové úlohy zavádzajúUUIDpre PK klientov a objednávok,NUMERIC(15,2)pre peniaze aNUMERIC(12,4)pre kurzy mien,TIMESTAMPTZpre udalosti,INTERVALpre trvania hovorov a relácií,TSTZRANGE/DATERANGE/NUMRANGEpre histórie SCD2 a okná platnosti,JSONBpre metadáta a payloady udalostí,ENUM(s explicitnýmCREATE TYPE) pre stavy a kategórie,INETpre IP v antifraudových úlohách,POINTpre GPS súradnice,TEXT[]/INTEGER[]pre štítky a polia ID. Trenažér vás tak vystaví rovnakým typom, s akými sa stretnete v produkcii. - Indikátor červeného bodu na položke bočného panela „Čo je nové“ — objaví sa, keď bolo nasadené nové vydanie, ktoré ste ešte neotvorili. Bod zmizne po jednej návšteve
/releases(príznak žije v localStorage tohto prehliadača). Predtým indikátor existoval iba v hornom navbare; v rozloženiach iba s bočným panelom bol nedostupný.
- Správne vykresľovanie nových typov v tabuľke výsledkov dotazu. Predtým sa stĺpce
JSONB,INTERVALaPOINTvykresľovali ako „[object Object]“ a polia (TEXT[],INTEGER[]) sa zbalili na reťazce spojené čiarkami — štruktúra bola neviditeľná. Teraz sa JSONB a polia vykresľujú ako čitateľný JSON, INTERVAL ako1d 02:30:00, POINT ako(x, y). Logické hodnoty a UUID si zachovávajú textové vykresľovanie. - ER diagramy na stránke úlohy dostali položky palety pre nové typy: UUID fialová, JSONB žltá, INTERVAL purpurová (rovnaká rodina ako ostatné dátumové/časové typy), TSTZRANGE / DATERANGE / NUMRANGE ružová, INET azúrová, POINT ružová, vlastné ENUM rosé. Predtým tieto typy spadli do východiskovej sivej a nedali sa odlíšiť od obyčajného INT / VARCHAR.
- Šesť vyššie opravených úloh tiež dostalo obohatenú schému v rovnakom štýle ako nová sada pohovorových úloh: primárne kľúče
UUID, payloadyJSONB, typyENUMpre pohlavie / kategórie / stavy,NUMERIC(15,2)namiestoINTpre platy a ceny,INTERVALpre trvania. Znenie úloh bolo mierne upravené, aby motivovalo nové typy, ale podkladový problém je nezmenený. Toto je prvý krok pri vylepšovaní starších úloh — viac v nadchádzajúcich vydaniach.
- Opravená hŕstka starších úloh nahlásených používateľmi. „Project Employees II“ — ER diagram zobrazoval Employee + Department namiesto Project + Employee, hoci podkladová schéma bola správna; diagram bol zosúladený. „Reported Posts“ — popis neuvádzal, že dôvod hlásenia sa nachádza v stĺpci
extra: teraz áno. „Sales Analysis I“ — referenčné riešenie používaloSUM(price), hoci schéma má stĺpecquantity, čo mýlilo; preformulované naSUM(quantity * price), bližšie k tržbám z reálneho sveta. „Swap Salary“ — úloha bola napojená na nesprávnu množinu dát (Employee + Department namiestoSalary(id, name, sex, salary)), čím sa stala neriešiteľnou; znova napojená na kanonickú množinu dát. Rovnaký tichý posun ER v „Project Employees III“ a „Reported Posts II“ dostal rovnakú opravu.
Veľké vydanie: nová navigácia s ľavým bočným panelom, prísny režim Mock Interview s bonusom +25% Power, verejné profily a priatelia, e-mailové upozornenia, štítky firiem v značkových farbách, ďalšie filtre a blok partnerských kurzov. Plus dôležitá oprava súkromia medzi účtami a desiatky doladení UX.
- Blok partnerských kurzov. Na stránke úloh (na širokých obrazovkách) zobrazuje pravý stĺpec kurátorovanú sadu partnerských kurzov; na mobile je to horizontálny karusel nad zoznamom. Karty odkazujú na partnerské vstupné stránky s UTM štítkami — pre nás spôsob, ako udržať cenu predplatného nízku tým, že pokryjeme náklady na infraštruktúru.
- Nový režim Mock Interview — prísna simulácia reálneho pohovoru. Akékoľvek jediné porušenie (prepnutie karty, vloženie, opustenie celej obrazovky, strata fokusu okna > 1 sekundu) reláciu automaticky ukončí ako neúspešnú. Pomôcky, AI Mentor a ťahák sú skryté a uzamknuté. Trvania: 5 / 10 / 15 / 30 / 60 minút. Bezplatná úroveň — 1 pokus denne; Premium — neobmedzene. Počas aktívnej relácie je okolitá navigácia (bočný panel, „Úlohy“, „Top solutions“, „Next task“, „Leave track“, Prev/Next/Random) uzamknutá — jediná cesta von je výslovné tlačidlo „End“ alebo zatvorenie karty (čím sa relácia automaticky opustí).
- +25% Power za každú úlohu zvládnutú v režime Mock Interview — bonus je na úlohu a je vyznačený v správe po relácii. Rebríček má teraz informačný stĺpec „Mock“ (rovnaký počet zobrazený na karte profilu a na
/u/<username>); na zoradenie podľa Power nemá vplyv. - Verejné profily na
/u/<username>: vyberte si krátky identifikátor a prepnite verejný prepínač — každý anonymný návštevník uvidí vašu hodnosť, Power, aktuálnu sériu, počet úspechov, heatmapu aktivity a odkazy GitHub / Telegram / LinkedIn. Žiadne súkromné údaje sa nezverejnia. - Priatelia: pridávajte používateľov podľa ich verejného identifikátora, spravujte prichádzajúce a odchádzajúce žiadosti, pozrite si vyhradenú záložku rebríčka priateľov s ich Power, sériou a počtom vyriešených úloh.
- Obľúbené: každá karta úlohy má teraz hviezdičku — kliknite na ňu a úloha sa dostane do filtra „Len obľúbené“. Zoznam žije na serveri viazaný na váš účet a prežije zmenu prehliadača.
- E-mailové upozornenia (prepínače v profile). „Save your streak“ — večerná pripomienka, keď je vaša séria ≥ 3 dni a dnes ste nič nevyriešili. „Weekly digest“ — sobotný ranný prehľad s úlohami vyriešenými minulý týždeň, aktuálnou sériou a najslabšou kategóriou.
- Premium používatelia sú vizuálne vyznačení všade, kde sa objavujú avatary: holografický gradientový prstenec (rebríček, priatelia, profil, bočný panel, verejná stránka
/u/<username>); malý odznak koruny v rohu na veľkých avataroch. Na poradie zoradenia nemá vplyv. - Štítky firiem v značkových farbách na kartách úloh: žltá pre Yandex / Tinkoff / Beeline, zelená pre Sberbank / Spotify / OpenAI, modrá pre VK / Ozon / Google / Meta, červená pre MTS / Alfa / Tesla, fialová pre Stripe / Skypro / Wayfair, oranžová pre Amazon / Alibaba a tak ďalej. Predtým bol každý štítok jednotne fialový.
- Ďalšie čipy SQL klauzúl vo filtri „Téma“ na stránke úloh: popri 8 širokých kategóriách (SELECT, JOIN, poddotazy, window, agregácie, CTE, DML, DDL) môžete teraz prepínať
GROUP BY,COUNT,HAVING. Kombinujte ich s kategóriami pre presnejšie filtrovanie. - Panel „DB Schema“ na stránke úlohy sa teraz dá zbaliť. Prepínač vedľa názvu úlohy skryje stĺpec a uvoľní šírku pre editor a tabuľku výsledkov. Stav zbalenia sa pamätá v rámci prehliadača, takže schéma sa pri ďalšej úlohe otvorí rovnako.
- 8 nových pohovorových úloh od Tochka — od EASY po HARD. CRM scenáre (nájdenie klientov s aktívnou žiadosťou), portfóliové výpočty (štruktúra, vážený priemer splatnosti, dynamika hodnoty), dotazy na dlhopisy s okennými funkciami. Riešenia pre PostgreSQL aj MySQL.
- Sekcia blogu na
/blog. Dlhšie tutoriály — začíname hĺbkovým ponorom do okenných funkcií. Dvojjazyčný obsah, slug URL, OG karty na zdieľanie na sociálnych sieťach. Dostupné z päty a zo spodku bočného panela. - Vlastná stránka 404. Stará predvolená stránka Next.js vykresľovala čierny text na bielom — neviditeľný v tmavom režime. Nová stránka používa tokeny témy a žije vo vnútri zdieľaného rámca, takže navigácia zostáva na dosah.
- Prepracovaná navigácia. Pre prihlásených používateľov v aplikácii sa primárna navigácia presunula do ľavého bočného panela — Trainer, Pokrok, Rebríček a ostatné sekcie sú tam, s Power + sériou pod vaším avatarom a prepínačmi jazyka/témy dole. Domovská stránka, ceny a procesy prihlásenia si zachovávajú úzku hornú lištu. Pomocné stránky (Čo je nové / Nahlásiť chybu / Blog) zdedia ten rámec, z ktorého ste prišli.
- Premium gradientový prstenec okolo avatarov sa teraz zobrazuje na každej záložke rebríčka — predtým sa prstenec objavoval iba na záložke „All time“ a potichu zmizol na „Week“ a „Month“, lebo backend pre periodické rebríčky nevysielal príznak predplatného.
- Úpravy mena a avatara vo vašom profile sa teraz okamžite prejavia v bočnom paneli — bez nutnosti znovu načítať stránku. Predtým stará karta používateľa mohla pretrvávať až do úplného obnovenia.
- Únik dát medzi účtami pri prepínaní používateľov v rovnakom prehliadači. Predtým po odhlásení / prihlásení iným účtom mohli pretrvať: vlákna chatu AI Mentor, koncepty SQL v editore, príznaky „vyriešené“ pre jednotlivé úlohy, aktívne relácie mock interview, počítadlo AI generovania, vyrovnávacia pamäť obľúbených. Teraz odhlásenie a každá cesta prihlásenia (formulár, OAuth, overenie e-mailu) vymaže všetko viazané na predchádzajúceho používateľa.
- Odkaz „Friends rating“ z profilu teraz pristane priamo na záložke Priatelia — predtým vás hodil na globálny rebríček. Začiatočnícky pruh „Start here“ sa už po jeho zatvorení nevracia; predtým sa zatvorenie resetovalo pri každom odhlásení / prihlásení.
- Desiatky doladení mobilného rozloženia a interakcie: kompaktnejšie modálne okno správy po relácii, správne rozostupy filtrov na úzkych obrazovkách, banner spätnej väzby sa už pri 1024px neprekrýva s bočným panelom, polia mena + e-mailu na stránke hlásenia chyby pre anonymných odosielateľov.
Hotfix UX editora na úzkych obrazovkách: vyskakovacie okno „Editor settings“ už nie je orezané panelom kódu a na mobile už nepresahuje cez okraj výrezu. Rovnaké tlačidlo ozubeného kolieska, aké má desktop, teraz žije aj v mobilnej lište nástrojov a nastavenie veľkosti písma sa konečne uplatňuje na mobilný editor.
- Vyskakovacie okno „Editor settings“ sa mohlo orezať okrajmi stránky a nemalo vnútorné posúvanie — na úzkom notebooku alebo na telefóne bola polovica nastavení jednoducho neviditeľná. Okno sa teraz vykresľuje nad celou stránkou (cez portál), automaticky sa prispôsobí viditeľnej oblasti a keď jeho obsah presiahne výšku výrezu, pridá vnútorný posuvník. Hlavička s názvom a tlačidlom zatvorenia zostáva pri posúvaní prilepená.
- V mobilnom zobrazení editora (≤1024px) v lište nástrojov chýbalo ozubené koliesko nastavení editora — „Font size“ bolo dostupné iba z desktopu. Ozubené koliesko teraz sedí vedľa PG/MySQL a Format a nastavenie veľkosti písma skutočne škáluje vstup mobilného editora.
Hotfix z hlásenia chyby: úloha #240 („Staff Bonuses“) vykresľovala nesprávnu schému — zobrazovala Employee + Department namiesto skutočného Employee + Bonus, čím sa zadanie stalo nečitateľným.
- Úloha #240 „Staff Bonuses“: zobrazovač schémy vykresľoval zastarané tabuľky
Employee + Department(s poľamidepartment_id,manager_id) a prázdnu záložkuDepartment. Sandbox a referenčné riešenie boli celý čas správne — chybné boli iba metadáta zobrazovača. Teraz schéma zobrazuje skutočné tabuľkyEmployee + Bonuss väzbouBonus.empId → Employee.empId.
Obohatené množiny dát naprieč 268 z 339 úloh — plnšie zdrojové tabuľky, zmysluplnejšie riadky v očakávanom výstupe, úlohy už nepôsobia pokazene.
- Hromadné obohatenie množín dát: 268 z 339 úloh dostalo plnšie seed dáta — typicky 6 – 12 riadkov v primárnych tabuľkách namiesto 2 – 4, s rozmanitosťou pozdĺž osí filter/JOIN/GROUP BY, ktoré referenčné riešenie precvičuje. Dotknutých 137 jedinečných množín dát. Referenčné riešenia a schémy sú nezmenené. Pokrok používateľov je zachovaný — už vyriešené úlohy zostávajú vyriešené, Power a úspechy sa neprepočítavajú.
- Každá obohatená úloha bola validovaná: referenčné riešenie bolo spustené oproti novému seedu cez spúšťač, sample_output regenerovaný zo skutočného výsledku.
- Úloha #38 (
well-paid-employees) — pôvodne hotfix v1.2.4, teraz súčasť širšieho prechodu.
Hotfix z hlásenia chyby: panel „Expected output sample“ teraz objasňuje, že počet riadkov v ňom sa nemusí zhodovať s tabuľkami schémy.
- Pridané upozornenie nad panelom „Expected output sample“: „takto vyzerá správna odpoveď — má vlastný počet riadkov, nemusí sa zhodovať s tabuľkami schémy“. Predtým používatelia počítali riadky v jednej z tabuliek schémy a predpokladali, že úloha je pokazená, keď sa čísla líšili.
Hotfix z hlásenia chyby: úloha #38 „Salary higher than manager“ teraz beží na poriadnej množine dát s tromi reálnymi prípadmi. Plus malý oranžový bod na „Čo je nové?“, keď je nasadené čerstvé vydanie.
- Malý oranžový bod sa objaví na navigačnej položke „Čo je nové?“, keď je nasadené čerstvé vydanie. Jedna návšteva
/releasesho zmaže až do ďalšieho vydania.
- Úloha #38 (
well-paid-employees): množina dát bola príliš riedka — 6 zamestnancov a jediný prípad „podriadený zarába viac ako manažér“, čo vyvolávalo dojem, že dáta sú nesprávne. Rozšírená na 9 zamestnancov v dvoch oddeleniach s tromi jasnými prípadmi (Eve > Alice, Frank > Dave, Henry > Bob).
Nová stránka „Nahlásiť chybu“ s prílohami snímok obrazovky, sekundárna skupina navigácie a kompaktnejší pruh „Start here“ na mobile.
- Nová stránka „Nahlásiť chybu“ v navbare: formulár s predmetom + popisom s až 5 snímkami obrazovky / krátkymi klipmi (podporuje sa drag-and-drop). Hlásenia pristanú v našej schránke na rýchle triedenie.
- Navbar dostane sekundárnu skupinu — „Čo je nové?“ a „Nahlásiť chybu“ — oddelenú od primárnych záložiek tenkým zvislým oddeľovačom.
- Začiatočnícky pruh „Start here“ je na mobile kompaktnejší — kratší názov, skrytý popis, užšie karty. Uvoľňuje priestor pre samotný zoznam úloh.
- Začiatočnícky pruh „Start here“ už pri otvorení stránky úloh na zlomok sekundy neprebleskne — teraz sa vykreslí až po vyriešení
/progress. - Zvýraznenie poznámok k vydaniu (horný jednoriadkový text) teraz správne vykresľuje spätné apostrofy — predtým zobrazovalo doslovné „
?lang=“ namiesto štýlovanej kódovej pilulky. - Fantómový zvislý posuvník na stránke „Learning Tracks“ je preč —
min-h-screenv páre s navbarom vynucoval ~60px extra výšky, aj keď sa obsah zmestil.
Doladenie UX naprieč celým trenažérom plus URL parameter ?lang= pre reklamy a priame odkazy špecifické pre lokalitu.
- Pristaňte v konkrétnom jazyku cez
?lang=enalebo?lang=ruv URL:https://sql.coderang.dev/?lang=en. Praktické pre reklamy a zdieľanie odkazov špecifických pre lokalitu; voľba sa pamätá na rok.
- Keď sa denné AI pomôcky vyčerpajú, tlačidlo „Explain“ sa zmení na „Cheatsheet“ a otvorí tematickú referenciu.
- Hviezda obľúbených je teraz viditeľná na mobile a na desktope slabo presvitá namiesto toho, aby bola skrytá až do prejdenia myšou.
- Popis úlohy už pri rozbalení ťaháku neposkočí. Hviezda je pri prejdení myšou jasnejšia.
- Na úlohách DDL panel schémy zobrazuje „žiadne počiatočné tabuľky; vytvorte ich“ namiesto prázdneho plátna.
- AI tlačidlo teraz skutočne pulzuje iba pri chybách (animačná trieda predtým nebola vôbec definovaná).
- Power a Streak v navbare sa pred serverovým načítaním naseedujú z localStorage — žiadne prebliknutie „0 ⚡“.
- Počítadlo AI generovania sa už po presmerovaní na vygenerovanú úlohu neresetuje na 0.
- Mobilné drobnosti: odznaky obťažnosti rovnakej šírky (hviezda zarovnaná), text spodných záložiek sa zmestí, animácia škálovania denného počítadla, popis ikony série, ruské pravidlá množného čísla.
- Názvy ruských firiem (Сбербанк, Яндекс, Авито…) sa teraz v anglickom rozhraní vykresľujú v latinskom prepise (Sberbank, Yandex, Avito); cyrilika zostáva v ruštine.
- Názvy položiek ťaháku (Aliases, Scalar subquery atď.) sa teraz pri prepnutí jazyka správne prekladajú.
- Týždenný/mesačný rebríček teraz uplatňuje bonus na prvý pokus ×2 a ignoruje opätovné odoslania, v zhode s tým, ako sa počíta celkový Power. Predtým periodické zobrazenie ukazovalo zhruba polovicu celkového — chyba vo výpočte, nie v dátach.
- Odstránená mŕtva záložka Solutions — žiadne tlačidlo ju neaktivovalo, no duplikovala načítanie.
- Spätné apostrofy už nenechávajú medzeru pred koncovou interpunkciou („
Action.“). - Prázdne stavy panela výsledkov sa teraz správne prekladajú do angličtiny.
Doladenie úloh na úpravu dát a celkové vykresľovanie popisov.
- Upozornenie pre úlohy DDL/DML: úlohy UPDATE/INSERT/DELETE a CREATE/ALTER/DROP teraz zobrazujú krátke upozornenie „SELECT na konci netreba“ — už žiadne hádanie, čo vypísať.
- Tematický ťahák teraz rešpektuje typ úlohy: úlohy DML už nezobrazujú SELECT/ORDER BY/LIMIT, úlohy DDL zobrazujú iba príkazy na úpravu schémy.
- Tokeny v spätných apostrofoch v popisoch úloh (\
id = 4\, \users.email\) sa teraz vykresľujú ako akcentové kódové pilulky namiesto surového textu — popisy sa čítajú presne tak, ako ich autori píšu. - Kódové bloky v ťaháku majú teraz akcentový ľavý pruh a jemný okraj — čítajú sa ako skutočné úryvky kódu namiesto sivých škvŕn.
Onboarding pre nováčikov: pruh „Start here“, štartovacie SQL na vašej prvej úlohe a tematický ťahák vo vnútri každej úlohy. Pomôcky pri nesprávnej odpovedi sú teraz konkrétne a nečerpajú vašu AI kvótu.
- Pruh „Start here“ na vrchu stránky úloh — 8 jednoduchých úloh SELECT pre prvonávštevníkov. Zobrazuje sa, kým niečo nevyriešite; posúva sa ťahaním s kurzorom uchopenia.
- Štartovacie SQL v editore. Úplne prvá úloha, ktorú otvoríte, predvyplní
SELECT * FROM <first_table> LIMIT 5;, takže môžete hneď stlačiť ▶ a vidieť, ako dáta vyzerajú. - Tematický ťahák. Panel úlohy má teraz zbaliteľný referenčný blok s relevantnými SQL príkazmi, syntaxou a jednoriadkovým vysvetlením — prispôsobený podľa témy: SELECT, JOIN, agregácie, poddotazy, okná, CTE, DML, DDL.
- Banner nesprávnej odpovede je teraz konkrétny: pomenuje nadbytočné/chýbajúce stĺpce, rozdiely v riadkoch, problémy so zoradením a bežné SQL chyby. Beží lokálne, nečerpá AI kvótu.
Automatické dopĺňanie zohľadňujúce aliasy v SQL editore a veľké zlepšenia mobilného rozloženia.
- Stránka vydaní: história aktualizácií je teraz viditeľná na /releases.
- Automatické dopĺňanie zohľadňujúce aliasy. Po
<alias>.sú návrhy obmedzené na stĺpce tejto jednej tabuľky. Samotné aliasy sa dopĺňajú tabulátorom. .je teraz spúšťací znak: návrhy sa po ňom objavia automaticky, netreba Ctrl+Space.
- Mobilné menu teraz prekrýva obsah namiesto toho, aby tlačilo stránku nadol. Zatvára sa ťuknutím mimo.
- 300+ popisov úloh prepísaných: pridaný obchodný kontext, vymenované výstupné stĺpce, zoradenie a zaokrúhlenie urobené explicitnými.
- Mobilný popis úlohy sa teraz pri dlhom texte správne posúva. Predtým sa zasekol a blokoval prístup k záložkám dole.
- Spodná lišta záložiek trenažéra je teraz vždy viditeľná v ktoromkoľvek mobilnom prehliadači (Yandex Browser, MIUI, Samsung Internet). Predtým sa orezala pod výrezom.
- Mobilné menu je teraz úplne nepriehľadné. Predtým 5 % obsahu pozadia presvitalo v prehliadačoch bez podpory backdrop-filter.
- Na úzkych obrazovkách (320px a menej) rozbaľovacia ponuka zoradenia úloh už nepresahuje pravý okraj.
- Stará chyba automatického dopĺňania: písanie
t.epoFROM employee tvkladalot.employee.salary(neplatné SQL). Alias je teraz rešpektovaný.
Prvé stabilné vydanie SQL Arena.
- 259 kurátorovaných SQL úloh v 6 kategóriách: SELECT, JOIN, agregácia, poddotaz, window, DML.
- 96 pohovorových úloh z popredných tech firiem (Google, Meta, Amazon, Stripe atď.).
- Podpora dvoch SQL dialektov — PostgreSQL a MySQL s okamžitým prepínaním.
- AI generovanie úloh: jedinečné úlohy prispôsobené vašej úrovni zručností.
- AI Mentor: kontextové pomôcky bez prezradenia odpovede.
- 3 učebné tréningy: štruktúrované cesty od základov po pokročilé SQL.
- Vykonávanie SQL v reálnom čase v izolovanom prostredí s vyhodnocovaním výsledku (diff stĺpcov/riadkov/poradia).
- Autentifikácia OAuth cez GitHub, Google, Yandex, plus registrácia e-mailom/heslom.
- Rebríček založený na XP (Power), používateľské profily, úspechy, tmavá a svetlá téma.
- Predplatné Premium s integráciou YooKassa a anti-bot obmedzovaním požiadaviek.
- Interaktívne ER diagramy schém, editor Monaco so zvýrazňovaním a formátovaním SQL.
- Dvojjazyčné rozhranie: ruština a angličtina.