X'hemm ġdid
Storja tal-aġġornamenti ta' SQL Arena. L-aktar rilaxxi ġodda fil-quċċata.
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.
L-interfaċċja issa titkellem kull lingwa tal-UE — 21 lingwa ġdida.
- Żdiedu 21 lingwa tal-UE: il-Ġermaniż, il-Franċiż, it-Taljan, l-Olandiż, il-Pollakk, ir-Rumen, il-Grieg, iċ-Ċek, l-Ungeriż, l-Iżvediż, id-Daniż, il-Finlandiż, is-Slovakk, il-Bulgaru, il-Kroat, il-Litwan, is-Sloven, il-Latvjan, l-Estonjan, l-Irlandiż u l-Malti. Agħżel waħda fil-bidla tal-lingwa, jew tiġi misjuba awtomatikament mill-pajjiż u l-lingwa tal-browser tiegħek.
- Il-paġna “Irrapporta bug” issa hija “Feedback” (fuq /feedback) b'żewġ tabs: “Irrapporta bug” u “Issuġġerixxi titjib”. Is-suġġerimenti għat-titjib jaslu għand it-tim bl-istess mod bħar-rapporti tal-bugs.
- Fis-settings tal-profil issa tidher id-data tat-tmiem tal-abbonament, u l-kliem “ħlas ta' darba” tneħħa.
- Il-menu li jinżel tal-bidla tal-lingwa issa huwa aktar kompatt.
- Il-profili jerġgħu jinfetħu mill-klassifika għall-utenti li daħlu — il-privatezza taħbi profil biss mill-viżitaturi anonimi. L-isem tal-URL tal-profil ma jistax jitħassar aktar, għalhekk kull profil jibqa' aċċessibbli permezz ta' link.
- Il-ħlas b'karta barranija (it-tab Visa/MC) fuq is-sit Russu issa jinħadem korrettament f'USD u jiġi pproċessat permezz ta' Paddle, minflok jiftaħ YooKassa b'ammont bir-rublu.
Ċertifikazzjoni: għaddi minn eżami kronometrat u aqla' ċertifikat tal-livell verifikabbli.
- Eżamijiet ta' ċertifikazzjoni: tliet livelli (Foundations / Practitioner / Expert), 8 kompiti kull wieħed, kronometru għal kull kompitu, marka tal-għaddiena 7 minn 8. Kull attentat jingħata d-dataset tiegħu stess, biex it-tweġibiet ma jistgħux jiġu mmemorizzati minn qabel.
- Ċertifikat verifikabbli b'kodiċi QR li jwassal għall-profil pubbliku tiegħek; taqsima taċ-ċertifikati issa tidher fuq il-profil.
- Ħassar il-kont tiegħek direttament mis-settings tal-profil.
- Is-settings tal-profil ġew iddisinjati mill-ġdid fi stil nadif ta' lista b'taqsimiet; l-utenti Premium jiksbu ċ-ċirku animat madwar l-avatar tagħhom.
- L-iggradar issaħħaħ fuq 324 kompitu: issa jaħdem fuq dataset moħbi, biex ma tistax tibqa' tgħaddi billi taġġusta għall-eżempju viżibbli.
- L-awtokompletament tal-editur issa jissuġġerixxi l-ismijiet tal-CTE ddikjarati permezz ta' WITH meta tikteb FROM/JOIN.
- L-AI Mentor issa jara l-iżball tiegħek u l-query attwali anke wara Run — buttuna ġdida "Explain my error" tħallik tiddiskuti kwalunkwe żball, inklużi żbalji ta' sintassi.
- Kompitu #91: l-iggradar issa jaħdem fuq dataset moħbi — ma tistax tibqa' tgħaddi billi taġġusta għall-eżempju viżibbli (eż. permezz ta' LIMIT jew tul hardcoded).
- Kompitu #13: tneħħa l-ħjiel tal-filtru lest mill-prompt — issa tasal għas-soluzzjoni int stess.
- Is-Skill Map issa tkopri kull kategorija ta' kompiti (żdiedu CTE, DDL, transazzjonijiet, ottimizzazzjoni) u hi akbar u eħfef biex taqra.
- Il-ħjiel "x'għandek ittejjeb" tas-Skill Map issa jindika s-suġġett bl-aktar kompiti mhux solvuti minflok wieħed każwali.
- Il-graff tal-attività annwali jerġa' juri l-ismijiet sħaħ tax-xhur minflok jaqtagħhom għal ittra waħda.
- Is-soluzzjonijiet li jirritornaw intervall ta' ħin (eż. id-differenza ta' żewġ ħinijiet) ma jagħtux iżjed żball mat-tressiq.
- Kompitu #88: id-data ġiet ikkoreġuta — it-tluq minn Pariġi issa għandhom tulijiet distinti minflok tliet ringieli identiċi.
- L-Undo (Ctrl+Z) fl-editur issa jżomm storja separata għal kull tab ta' query.
- Kompitu #624: il-prompt issa jiddikjara li l-prezz medju jrid jiġi arrotondat għal 2 ċifri deċimali.
- Is-suġġerimenti tal-editur SQL ma jiddupplikawx iżjed wara n-navigazzjoni bejn il-kompiti.
- Kompitu #621: il-klabbs mingħajr membri issa jidhru fir-riżultat b'dħul żero.
- Id-diffikultà tal-kompitu #831 inbidlet minn EXPERT għal MEDIUM.
SQL Arena issa hu multilingwi: bl-Ingliż, l-Ispanjol u l-Portugiż, kull wieħed bl-URLs tal-paġni tiegħu u bl-għarfien awtomatiku tar-reġjun.
- Bidla tal-lingwa: Russu, Ingliż, Spanjol (Spanja u l-Amerika Latina) u Portugiż.
- Mal-ewwel żjara s-sit jinfetaħ fil-lingwa tar-reġjun tiegħek, u l-għażla tiegħek tiġi mfakkra.
- Kull lingwa għandha l-URLs tal-paġni tagħha stess (/en, /es, /es-419, /pt-br) li huma siguri biex taqsam.
- Checkout Premium fil-munita lokali tiegħek: RUB, USD, EUR jew BRL skont ir-reġjun.
- Is-sit bl-Ingliż hu sapportjat kollu kemm hu; it-traduzzjonijiet bl-Ispanjol u l-Portugiż qed jinħarġu bil-mod.
Il-kompiti tal-ħolqien ta' tabelli jaċċettaw kwalunkwe forma valida, il-ħjiel tal-iżbalji issa huma rilevanti, u kompitu wieħed b'tweġiba ambigwa ġie kkoreġut.
- Il-kompitu tal-"par ta' korsijiet l-aktar popolari": id-data tal-kampjun kienet tippermetti diversi tweġibiet ugwalment validi filwaqt li l-grader kien jaċċetta waħda biss. Il-kompitu issa għandu tweġiba korretta waħda.
- Il-kompiti CREATE TABLE kienu jirrifjutaw soluzzjoni korretta meta l-istudent kien isemmi vinkolu (eż.
CONSTRAINT ... PRIMARY KEY). L-iggradar issa jqabbel l-istruttura tat-tabella — l-ismijiet tal-vinkoli jiġu injorati. - Kompitu falluti tal-ħolqien ta' tabella kien juri ħjiel irrilevanti "add ORDER BY". Il-ħjiel issa hu fuq il-punt — dwar il-kolonni, it-tipi, NOT NULL u ċ-ċwievet.
Il-kompiti tal-modifika tad-data jiġu solvuti eżatt kif jgħid il-prompt — mingħajr SELECT ta' verifika mhux dokumentat.
- Il-kompiti INSERT/UPDATE/DELETE u tat-transazzjonijiet (inklużi UPSERT, MERGE, SKIP LOCKED) m'għadhomx jeħtieġu SELECT ta' verifika mhux dokumentat. Issa jiġu ggradati skont l-istat finali tat-tabella, u l-paġna tal-kompitu turi nota "no trailing SELECT needed".
- L-aqwa soluzzjonijiet: il-kontijiet tal-istaff m'għadhomx jidhru fil-lista — l-istess bħall-klassifika pubblika.
Il-kompiti tal-ħolqien ta' tabelli u indiċi issa jiġu solvuti eżatt kif jgħid il-prompt — mingħajr SELECT mhux dokumentat; l-aġġornament fil-ħin reali tal-klassifika jaħdem mill-ġdid.
- Il-kompiti DDL (CREATE TABLE, ALTER, CREATE INDEX, ċwievet barranin) m'għadhomx jeħtieġu SELECT ta' verifika mhux dokumentat. Issa jiġu ggradati skont l-iskema finali tad-database, u l-paġna tal-kompitu turi nota "no trailing SELECT needed".
- Paġna tal-klassifika: l-aġġornament fil-ħin reali ġie restawrat — il-konnessjoni WebSocket tal-klassifika ma tfallix iżjed.
- Dijagramma tal-iskema: ċerti kompiti ma kienux juru rabtiet bejn it-tabelli — il-vleġeġ taċ-ċwievet barranin issa jidhru fid-dijagramma.
- Id-djalogu "Correct!" ma juri iżjed waqgħa fir-rank bħala promozzjoni 'l fuq — il-badge tar-rank jidher biss meta jkun hemm promozzjoni ġenwina.
Il-kompiti CREATE / ALTER TABLE u soluzzjonijiet oħra b'ħafna passi jistgħu jerġgħu jiġu mressqa — il-limitu tad-dikjarazzjonijiet għal kull tressiq kien stretti wisq.
- Il-limitu tad-dikjarazzjonijiet għal kull tressiq tela' minn 3 għal 20: il-kompiti DDL (CREATE TABLE, ALTER, indiċi, triggers) u DML b'ħafna passi m'għadhomx jiġu rrifjutati bi żball "too many statements".
Il-varjant MySQL tal-kompiti tal-katalgu reġa' sinkronizza ma' PostgreSQL — ċerti kompiti MySQL kienu jiġu ggradati skont data antika.
- Il-varjant MySQL ta' mijiet ta' kompiti kien jaħdem fuq dataset antik — is-seeds ġew sinkronizzati mill-ġdid, it-tweġiba MySQL terġa' taqbel ma' PostgreSQL.
- Sitt kompiti li kienu jaħdmu biss f'PostgreSQL issa għandhom varjant MySQL li jaħdem.
- Il-kompiti CREATE TABLE / CREATE INDEX / ALTER jiġu ggradati skont l-iskema finali tat-tabella — struttura żbaljata ma tiġix iżjed aċċettata bħala korretta.
- Il-kompiti INSERT li jużaw CURRENT_TIMESTAMP / NOW() ma jirrifjutawx iżjed tweġiba korretta minħabba differenza fil-ħin tat-tħaddim.
- L-outputs tal-eżempju li b'kumbinazzjoni kienu jiżvelaw it-tweġiba eżatta ġew sostitwiti b'kampjuni mingħajr spoiler; l-ordni tar-ringieli jiġi infurzat fejn kompitu jeħtieġu.
- Verifika madwar il-katalgu kollu allinjat il-prompt, id-data tal-iggradar u s-soluzzjoni ta' referenza f'diversi għexieren ta' kompiti fejn kienu nfirdu minn xulxin.
Ġie kkoreġut l-iggradar ta' soluzzjonijiet b'diversi dikjarazzjonijiet — DELETE/UPDATE b'SELECT finali issa jiġi ggradat korrettament.
- Id-dati u l-ħinijiet fir-riżultati tal-query issa jidhru b'mod nadif bħala
2024-01-15 08:00:00minflok il-format tekniku ISO.
- Il-kompiti DML (DELETE, UPDATE, INSERT) b'SELECT ta' verifika ma jirrifjutawx iżjed tweġiba korretta bħala "extra columns".
- Kompitu #768: il-prompt issa jaqbel mat-tweġiba ggradata.
- Il-ħjiel tat-tweġiba żbaljata ma jissuġġerix iżjed li tqabbel mal-blokk tal-eżempju, li hu intenzjonalment mhux eżatt.
- Il-kompiti UPDATE / DELETE / INSERT puri issa jiġu ggradati skont l-istat finali tat-tabella — mutazzjoni żbaljata ma tiġix iżjed aċċettata bħala korretta.
Ġew ikkoreġuti ħames kompiti fejn it-test tal-prompt ma kienx jaqbel mal-iskema u t-tweġiba.
- Kompiti #762, #763, #764, #765, #809: il-prompt inkiteb mill-ġdid biex jaqbel mal-iskema reali u t-tweġiba mistennija.
- Il-ġenerazzjoni AI tal-kompiti, l-AI Mentor, u l-formola tar-rapport tal-bugs: meta jintlaħaq ir-rate-limit issa juru "retry in N seconds" minflok "ThrottlerException".
Ġie kkoreġut il-kompitu #17 — il-grader kien jirritorna NULL minħabba bug fl-iskema.
- Kompitu #17 (
average-post-hiatus): l-iskema ġiet allinjata mas-seed, il-grader jaħdem mill-ġdid.
Fil-kompitu "Move old rows to archive in one go — race-free" (#789), il-prompt kien jitlob kolonna customer_id li ma teżistix fl-iskema. Il-kliem issa hu allinjat mal-iskema u l-grader reali: id, status, amount.
- Kompitu #789 (
hard-cte-atomic-archive): id-deskrizzjoni kienet issemmi kolonnacustomer_idli ma teżistix. Il-kliem issa jaqbel mal-iskemaorders/orders_archiveu l-kolonni mistennijaid, status, amount.
Il-messaġġ "Too many requests" issa juri l-limitu eżatt u s-sekondi sar-reset minflok il-misterjuż "ThrottlerException". Ir-rate-limit fuq in-naħa tas-server żdied biex in-navigazzjoni rapida fit-track ma tibqax tolqot is-saqaf.
- Ir-rate-limit fuq in-naħa tas-server għat-talbiet regolari tal-API żdied 5×. Il-mixi mgħaġġel 'l hawn u 'l hemm bejn il-kompiti fi track (10+ fetches paralleli mal-mount) ma jibqax jolqot is-saqaf u jagħti 429s.
- Meta tintlaħaq ir-rate-limit fuq Submit jew Run, il-messaġġ issa juri l-limitu attwali u s-sekondi eżatti sar-retry. Qabel kien jidher biss il-misterjuż "ThrottlerException: Too Many Requests" mingħajr ebda ħjiel ta' kemm tistenna.
Il-buttuna "Start" fuq il-karta tat-track terġa' tibda t-track verament — overlay inviżibbli tal-link tal-karta kien jiekol il-klikk u jwassluh għall-paġna tad-dettalji tat-track.
- Fuq
/trainer/tracks, il-buttuna "Start" fuq karta tat-track ma twassalx iżjed għall-paġna tad-dettalji tat-track minflok ma tibda t-track. Il-klikk fuq kwalunkwe parti tal-karta → dettalji jinżamm.
SQL sandbox: ġib it-tabelli u l-queries tiegħek — l-ebda kompitu, l-ebda iggradar. Flimkien ma' layout bento wiesa' unifikat fil-klassifika, il-progress, it-tracks, il-kompiti u s-sessjonijiet.
- Paġna ġdida
/sandbox— editur Monaco, panel tal-iskema, panel tar-riżultat, tabs tad-data għal kull tabella, snippets tat-tisħin. Is-sessjonijiet anonimi jiskadu wara 30 min ta' inattività, l-utenti loggjati jiksbu 7 ijiem. - Fiddles imsejvjati: sa 5 fuq il-pjan b'xejn, bla limitu fuq Premium. Librerija b'tiftix, copy-link, tħassir u toggle tal-privatezza.
- Layout wiesa' unifikat fil-paġni tal-ispazju personali — My Fiddles, Progress, Leaderboard, Sessions, Tasks, Tracks, u l-paġna tad-dettalji tat-track issa jaqsmu shell wieħed b'hero bil-gradjent u grid ta' karti konsistenti.
Il-vleġeġ tal-bidla tal-pożizzjoni fil-klassifika reġgħu lura — qabel il-kolonna kienet vojta għax ma kien hemm ebda snapshot bażi biex jitqabbel miegħu.
- L-indikatur "telgħa / niżla / l-ebda bidla" reġa' lura ħdejn kull ringiela fil-klassifika. Is-snapshot bażi tal-ġimgħa l-oħra ġie msoddi; il-cron regolari ta' kull ġimgħa se jkompli jaġġornah.
Ġie kkoreġut bug fejn it-tressiq mill-ġdid ta' kompitu diġà solvut kien ineħħi l-Power b'mod sigriet — il-bonus tal-"first-try" kien jitħassar. Il-Power tal-utenti kollha affettwati ġie kkalkulat mill-ġdid.
- It-tressiq mill-ġdid ta' soluzzjoni għal kompitu diġà solvut ma jħassarx iżjed il-bonus tal-"first-try" — il-Power għal dak il-kompitu jibqa' l-istess bħal eżatt wara l-ewwel tressiq ta' suċċess.
- Kompitu #107 (qsim tal-infiq skont il-ġeneru tal-kotba għall-2005) ma jeħtiġx iżjed ordni speċifiku tar-ringieli — kwalunkwe ordni issa jiġi aċċettat, jaqbel mal-kliem tal-prompt.
Ġie kkoreġut il-panel tal-iskema tad-DB fuq diversi kompiti — il-linji tar-relazzjoni oranġjo bejn it-tabelli marbuta ma kinux qed jiġu mpinġija.
- Fuq ċerti kompiti l-panel "Schema" ma kienx juri r-relazzjonijiet bejn it-tabelli (il-vleġeġ oranġjo 1:N) — ir-relazzjonijiet neqsin ġew miżjuda mad-datasets.
Ġie kkoreġut il-kompitu "Split customers into low / mid / high spenders": it-tweġiba tal-kampjun u s-soluzzjoni ta' referenza kienu nfirdu mill-prompt — issa kollox juża l-id tal-klijent u s-segmenti low / mid / high.
- Kompitu "Split customers into low / mid / high spenders" (#757): it-tweġiba tal-kampjun u s-soluzzjoni ta' referenza issa jaqblu mal-prompt — kolonni
customer_id,segment, segmentilow/mid/high, ordnati skontcustomer_id.
Aġġornament kbir tal-marka "Arena": homepage ġdida, klassifika mibnija mill-ġdid b'podju u aġġornamenti fil-ħin reali, il-punti msemmija mill-ġdid bħala "Power" bil-marka ta' mannara tal-ġlied, tracks tat-tagħlim mibnija mill-ġdid, u ġenerazzjoni adattiva ta' kompiti AI li tassew taqra t-tressiq riċenti tiegħek.
- Tab ġdid "League" — l-30 utent l-aktar qrib tiegħek skont il-Power. Filtri tad-diffikultà fit-tab globali (Power kkalkulat mill-ġdid għal kull sellum). Vleġeġ tat-telgħa / niżla ħdejn kull pożizzjoni — moviment minn ġimgħa għal oħra.
- Kisbiet: l-emoji ġew sostitwiti b'ikoni vettorjali tintati skont il-kategorija, it-tooltips tal-browser juru l-ismijiet lokalizzati; fuq
/statshuwa grid b'tap-popovers fuq il-mowbajl. Kisba ġdida "10 Expert". - Tella' isem fil-klassifika għal mini user-card. Buttuna "Share rank" — il-link iwassal għall-profil pubbliku tiegħek b'preview OG.
- Il-homepage inkitbet mill-ġdid taħt il-marka "Arena": intestatura qawwija "Sharpen SQL. Take the offer.", scoreboard fil-ħin reali fil-hero, sellum tar-rank b'pin "You", taqsimiet dwar it-trainer / tracks / AI / Mock Interview mode / progress, u faxxa tal-għeluq "The axe is in your hand. Swing.". Lest għall-mowbajl.
- Il-punti ġew imsemmija mill-ġdid bħala "Power". Is-sajjetta ġiet sostitwita b'mannara tal-ġlied — issa fil-logo, fil-favicon u fil-preview tal-qsim tal-links.
- Il-paġna tal-klassifika nkitbet mill-ġdid mill-bidu: podju top-3 (deheb / fidda / bronż), karta tal-progress personali b'bar sar-rank li jmiss, bar tal-filtri sticky wieħed, is-sellum tar-rank eżatt taħt l-intestatura, ringiela "you" mwaħħla meta tkun barra t-top 50, u aġġornamenti fil-ħin reali — it-tabella tirreaġixxi bla skossi għas-soluzzjonijiet ta' nies oħra mingħajr reload.
- It-tracks tat-tagħlim mibnija mill-ġdid. Analyst / Backend / QA / Data Engineering — ~50 kompitu magħżul kull wieħed: ftit rappreżentanti għal kull ċella ta' suġġett×diffikultà, mit-tisħin sa EXPERT, b'piż lejn problemi ta' intervisti reali. Żdied track Data Engineering flimkien ma' track dedikat ta' tħejjija għall-intervista.
- Il-buttuna "Generate for me" issa hi tassew adattiva: taqra l-aħħar 40 tressiq tiegħek, tagħżel is-suġġett bl-agħar preċiżjoni riċenti, u tikkalibra d-diffikultà għal-livell tiegħek — meta titwaqqaf tniżżel li jmiss daqsxejn, sensiela ta' suċċessi tgħollih.
- Il-viżitaturi ġodda jaslu fit-tema "Night" b'default (qabel kienet "Evening"). Jekk diġà għażilt tema, l-għażla tiegħek tinżamm.
- Kompitu "Say in one number: how many active customers" — is-soluzzjoni kanonika kienet teħtieġ klijenti b'≥2 ordnijiet imħallsa filwaqt li d-deskrizzjoni tgħid "at least once". Ġie kkoreġut biex jaqbel mad-deskrizzjoni.
Il-kompiti EXPERT issa jagħtu 75 power reali għal kull soluzzjoni (sa 281 bil-bonusijiet) minflok l-10 tal-livell EASY. Il-power tul il-ħajja għall-utenti li diġà għaddew minn EXPERT ġie kkalkulat mill-ġdid retroattivament.
- It-tabella tal-premjijiet ma kellha ebda ringiela għal EXPERT, allura l-grader kien jaqa' lura għal default ta' 10 u kull kompitu EXPERT kien iħallas l-istess bħal wieħed EASY. Il-bażi EXPERT issa hi 75 power, bl-istess multiplikaturi jiżdiedu fuq nett (first-try ×2, għaddiena tal-Mock-Interview ×1.25, soluzzjoni premium ×1.5) — sa 281 power għal kull kompitu EXPERT. Migrazzjoni reġgħet xegħlet
xp_totalgħal kull profil taħt ir-regoli kkoreġuti, biex kull min kien diġà solva EXPERT jaqbad il-power nieqes awtomatikament.
Ingħalqet il-lakuna fejn kompitu seta' jiġi "solvut" billi tikkodifika l-output tal-kampjun: fuq 25 dataset il-grader issa jiċċekkja l-query tiegħek kontra ringieli moħbija li jvarjaw minn dawk murija fid-deskrizzjoni tal-kompitu.
- Is-soluzzjonijiet xorta jaħdmu fuq l-istess tabelli u kolonni bħal qabel, imma r-ringieli ġewwa s-seed tal-iggradar ivarjaw mill-kampjun viżibbli. Kull tweġiba ġenwina bbażata fuq query tibqa' tgħaddi, filwaqt li
SELECT … UNION ALL …hardcoded li kkopja l-literali tal-kampjun issa jiġi ggradat bħala "wrong". 25 dataset madwar l-aħħar lott tal-katalgu huma koperti (listi, CTE, window, pivot, DML, expert).
Ġew irranġati żewġ problemi ta' kompiti rrapportati mill-istudenti: il-kampjun bl-ordni żbaljat f'"Students by region" u d-deskrizzjoni li nfirdet mill-iskema fil-kompitu tad-dħul nett.
- Kompitu "Students by region" (#357): il-kampjun issa jitla' skont
rn(Jack / Kim / Lars fl-ewwel ringiela), u s-soluzzjoni ta' referenza ġġorrORDER BY rnespliċitu biex tipproduċi l-istess ordni. - Kompitu "Users with net revenue of at least 100" (#783): it-titlu u d-deskrizzjoni issa jaqblu mad-data reali — utenti u avvenimenti
purchase/refund, mhux prodotti usale/refund, b'limitu ta' 100, mhux 1000.
Sitt kompiti avvanzati issa jiġu b'tabella msoddija minn qabel — is-soluzzjonijiet ma jibdewx iżjed bi preambolu CREATE TABLE.
- Sitt kompiti Hard / Expert (UPSERT b'kolonna waħda u b'diversi kolonni, CTE b'
RETURNING,INSERT … RETURNINGbulk, kjuSKIP LOCKED, żvolġiment ta' array permezz ta'UNNEST) ingħaqdu mal-bqija tal-katalgu avvanzat: it-tabella tinħoloq u tiġi msoddija fid-dataset, u s-soluzzjoni żżomm biss l-operazzjoni taħt test flimkien ma'SELECTfinali għall-iggradar.
- Id-deskrizzjoni tal-kompitu "View counter" ma tinfiridx iżjed mill-output mistenni: it-tnejn issa jiddeskrivu l-istess tabella
counters(id, count)u ħames tħaddim tal-istess ringiela.
Il-kompiti DDL ma jurux iżjed tabelli mhux relatati fil-panel laterali tal-iskema.
- Fuq 10 kompiti
CREATE TABLE(mill-faċli sal-espert) il-panel laterali tal-iskema kien ipinġi tabelli minn dataset mhux relatat — eż. kompitu dwar artikli kien juriorders. Il-panel issa hu vojt, kif suppost ikun meta kompitu jitolbok tibni t-tabella mill-bidu.
115-il kompitu ġdid, bidla tat-tema bi tliet modi Day / Evening / Night, u palett skur aktar artab.
- Il-katalgu kiber b'115-il kompitu: 20 faċli, 35 medji, 45 diffiċli, u 15 espert — subqueries, CTEs, window functions, DML/DDL, MERGE, ottimizzazzjoni tal-queries, transazzjonijiet, JSONB, rekursjoni, u
LATERAL. - Livell ġdid ta' diffikultà «Expert» b'badge vjola u l-filtru tiegħu stess fil-katalgu.
- Bidla tat-tema bi tliet modi: Day (ċar), Evening (skur artab), u Night (fond) — agħżel skont id-dawl ambjentali biex itaffi t-tensjoni tal-għajnejn.
- Tema skura artaba: il-canvas mexa lejn griż-blu fl-istil ta' Linear (
#1B1B1F) minflok l-iswed-kważi ta' qabel, it-test primarju niżel għal zinc-300 — inqas halation matul sessjonijiet twal. - Fil-mod «Night» il-pane tal-editur SQL joqgħod tliet passi aktar fond mill-canvas b'tisbita żgħira lejn l-iswed veru — jinqara bħala panel imdaħħal fl-istess familja.
- Iċ-cheatsheet tas-suġġett fil-kompitu issa jagħraf id-diffikultà: fil-livelli Hard / Expert jaħbi
SELECT/WHERE/ORDER BY/LIMITbażiċi u floku joħroġ patterns avvanzati —STRING_AGG,ARRAY_AGG,GROUPING SETS,LATERAL, JSONB, indiċi parzjali, u l-bqija. - Il-pills tal-filtru tad-diffikultà attivi qalbu għal soft-fill bl-aċċent tal-marka minflok iswed solidu — m'għadhomx jaqsmu d-dehra tat-tema ċara.
- Etiketti tad-diffikultà bir-Russu: «Лёгкое» → «Лёгкий», «Среднее» → «Средний», «Сложное» → «Сложный».
24 artiklu ġdid tal-blog għall-prinċipjanti.
- Il-kopertura tas-suġġetti tkabbret: DML (
INSERT/UPDATE/DELETE), DDL (CREATE TABLE/ALTER TABLE), aggregati,DISTINCT, ġestjoni ta' NULL (CASE WHEN/COALESCE/NULLIF), CTEs u subqueries, window functions, string u date.
- Cheat sheet tat-trainer: kull element issa jindika l-artiklu tiegħu stess. Qabel l-erba' elementi tal-window functions kienu jwasslu għal ħarsa ġenerali waħda —
ROW_NUMBER,RANK/DENSE_RANK,PARTITION BY, uLAG/LEADissa kull wieħed għandu tiegħu.
- Kompitu #114 "How many cardiology wards" — il-kolonna tal-output mistennija ġiet imsemmija mill-ġdid minn
countgħalwards_countbiex ma tibqax taħbat viżwalment ma' keyword riżervat.
Ingħalqet il-lakuna tal-imbuttar tat-tweġibiet: il-kompiti issa jiġu ggradati kontra dataset moħbi.
- Il-grader issa jista' jħaddem kompitu kontra dataset moħbi. Ir-referenza kanonika tiġi rikalkulata fuq l-istess data, biex is-soluzzjonijiet korretti xorta jgħaddu filwaqt li l-kostanti misluta mill-kampjun viżibbli jaqgħu.
- Il-kompitu "Oldest club member" ma jaċċettax iżjed
LIMIThardcoded imqabbel mal-kampjun viżibbli — tgħaddi biss query li tesprimi "ir-ringieli kollha bid-data tat-twelid minima".
Tlinġa tal-karta tal-prezzijiet u korrezzjonijiet tal-buttuna "Sign in & subscribe" eżatt wara v2.2.0.
- Il-prezz u l-buttuna CTA fil-karti Free u Premium issa jallinjaw fl-istess Y.
- Tqassru n-noti taħt il-prezz għal Crypto u Visa/MC — jibqa' biss l-isem tas-sistema tal-ħlas.
- Il-buttuna "Sign in & subscribe" terġa' tista' tiġi klikkjata għall-utenti li mhumiex loggjati.
Żdiedu l-ħlasijiet bil-crypto u b'Visa/Mastercard internazzjonali, flimkien ma' difiżi anti-bot aktar stretti fil-fluss tal-awtentikazzjoni.
- Ħlasijiet bil-crypto permezz ta' NowPayments — BTC, ETH, USDT u oħrajn. $21 kull tliet xhur / $28 kull sitt xhur.
- Visa/Mastercard internazzjonali permezz ta' Paddle bil-VAT/sales tax awtomatiku. $21 / $28.
- Għażla tal-metodu tal-ħlas fuq il-karta Premium: karta RU, Crypto, Visa/MC. Il-munita tinbidel skont il-metodu.
- Cloudflare Turnstile fil-login u r-reġistrazzjoni — inviżibbli għall-bnedmin, jimblokka l-bots.
- Il-kont jiġi msakkar għal 15-il min wara 5 passwords żbaljati (b'mod esponenzjali sa 24 siegħa) b'countdown espliċitu.
- L-iżbalji tal-login u r-reġistrazzjoni ġew umanizzati — m'hemmx iżjed "Forbidden" jew "Invalid credentials" mhux maħduma.
- Rate limit tat-tressiq: 5/min, 30/15min għal kull utent. Ma jaffettwax sessjonijiet reali ta' soluzzjoni.
- Wara l-login nerġgħu lura għall-paġna minn fejn ġejt — inkluż OAuth (Google, GitHub, Yandex).
- Il-logout minn paġna pubblika ma jkeċċikx iżjed lejn il-homepage.
Tlestiet il-korrezzjoni tal-iffrankar ta' Telegram, GitHub u LinkedIn fuq il-paġna tal-profil. Ir-rilaxx ta' qabel irranġa n-normalizzatur tal-username fil-backend, imma l-komponent tal-front-end kien jaqta' l-onBlur — il-PATCH qatt ma kien jaqbad jitlaq tassew. Il-field viżwalment kien jaċċetta l-input, is-server kien jibqa' vojt, u wara reload il-field kien vojt. Issa l-paragun mal-blur juża l-valur maqbud fil-mument tal-focus, mhux l-input li jkun għaddej.
- Il-fields Telegram, GitHub u LinkedIn fuq il-paġna tal-profil issa jerġgħu jiffrankaw. useEffect kien jikteb fuq ir-ref "last-saved" ma' kull keystroke, allura l-verifika tal-onBlur kienet tqabbel il-valur attwali miegħu nnifsu u taqbeż il-PATCH. Il-verifika tal-blur issa tqabbel ma' snapshot meħud fil-mument tal-focus.
Ġie kkoreġut l-iffrankar tal-handles ta' Telegram, GitHub u LinkedIn fuq il-paġna tal-profil: il-kitba tal-format tal-placeholder bħal t.me/username kienet titqassar għal ħmieġ bħal t.me. Issa kull input — handle wiċċu, @handle, t.me/handle, jew https://t.me/handle — jiġi normalizzat għal username nadif.
- Il-fields Telegram, GitHub u LinkedIn fuq il-paġna tal-profil issa jiffrankaw korrettament meta l-indirizz jinkiteb mingħajr
https://. Qabelt.me/durovkien jiġi maħżun bħalat.me,github.com/octocatbħalagithub.com, għax in-normalizzatur kien jeħtieġ skemahttp(s)://u inkella kien jaqta' l-valur mal-ewwel slash.
Tneħħa l-banner falz-pożittiv tal-upsell premium fil-panel tar-riżultat tas-soluzzjoni: kien jingħata fuq kompiti b'xejn u anke għall-utenti premium. Kien UI mejjet mill-bidu — il-kompiti premium huma mblukkati mal-ftuħ tal-kompitu, allura l-editur qatt ma jarahom.
- Fil-modal taċ-ċelebrazzjoni "Correct!" il-pill "+50% Power per solve — go Premium" issa għandha padding orizzontali xieraq — il-kuruna u ċ-chevron ma jmissux iżjed mat-truf tal-pill.
- L-AI Mentor issa jirċievi kuntest kompatt tal-kompitu: id-dialect SQL attiv, it-tabelli, ir-relazzjonijiet, il-kolonni mistennija, l-output tal-kampjun, u l-aħħar diff tal-iggradar. L-SQL ta' referenza jintuża biss bħala kuntest privat għall-ispjegazzjonijiet tal-iżbalji u l-livelli tal-ħjiel ta' wara.
- Il-banner tal-upsell "Interview tasks — Premium" ma għadux fil-panel tal-feedback. Qabel kwalunkwe żball fuq in-naħa tas-server li kien fih il-kelma
premiumfl-istack trace tiegħu (eż. kolonnasolved_as_premiumnieqsa eżatt wara migrazzjoni) kien iqabbad match ta' substring u jirrendi l-upsell — anke fuq kompiti b'xejn u anke għall-utenti premium.
Premium issa jagħti +50% Power għal kull kompitu solvut — il-boost jeħel mal-kompitu għal dejjem, anke wara li tiskadi l-abbonament. L-AI Mentor ma jarmix iżjed is-soluzzjoni mal-ewwel ħjiel u issa jeskala l-għajnuna għal kull kompitu. Tneħħa wkoll il-kumment tal-bidu -- Click ▶ Run mill-editur tal-ewwel kompitu.
- L-abbonament Premium jagħti multiplikatur ta' Power ×1.5 fuq kull kompitu solvut. Il-boost jiġi mwaħħal fil-mument tas-soluzzjoni, biex jibqa' fit-total tiegħek anke jekk l-abbonament jiskadi aktar tard.
- Il-modal taċ-ċelebrazzjoni "Correct!" issa juri spinta għall-upgrade għall-utenti b'xejn eżatt taħt iċ-chip +Power: "Get +50% Power per solve — go Premium", li twassal għal /pricing.
- L-AI Mentor issa jeskala l-ħjiel għal kull kompitu. L-ewwel talba tikseb spinta ta' direzzjoni biss mingħajr ismijiet ta' operaturi; it-talbiet 2-4 iżidu l-kunċett u l-kategorija; mit-talba 5 il-mentor jista' jsemmi
LIKE/WHERE/GROUP BYdirettament. Il-counter jirresettja kull 24 siegħa. - L-ispjegazzjonijiet tat-tweġibiet żbaljati issa jsegwu l-istess livelli ta' ħjiel bħall-ħjiel sempliċi — ma jiżvelawx iżjed operaturi speċifiċi mal-ewwel tressiq falluti.
- Ingħalqu l-bqija tas-sejbiet tal-verifika tal-kompiti SQL: ġiet ikkoreġuta r-referenza tat-Tournament Winners, ġew allinjati l-previews TIMESTAMP fuq diversi kompiti, u ġie restawrat il-varjant PostgreSQL għal kompitu AI wieħed.
- Tneħħa l-kumment tal-bidu
-- Click ▶ Run — see what's in this tablemill-editur tal-ewwel kompitu. Il-kompiti miftuħa issa jibdew minn editur vojt.
Ġew imġedda l-filtri tal-katalgu tal-kompiti: l-istat sar segmented control bi 3 stati (All / Unsolved / Solved) b'default Unsolved, żdied filtru tad-dialect, iċ-chips tas-suġġett u tal-kumpanija issa juru l-għadd attwali ta' kompiti, il-filtri attivi joħorġu bħala pills li jistgħu jitneħħew b'affordance "Reset all".
- Filtru tad-dialect fil-katalgu: All / PG / MySQL — segment tiegħu stess ħdejn il-kontroll tal-istat.
- Iċ-chips tas-suġġett u tal-kumpanija issa juru kemm kompiti jaqblu: "Windows (43)", "Tinkoff (5)". Iċ-chips b'żero kompiti jitfu.
- Ringiela tal-pills tal-filtri attivi: kull filtru applikat (tiftix, diffikultà, stat, dialect, favoriti, suġġett, tag, kumpanija, reġjun) jiġi rendut bħala pill li jista' jitneħħa; "Reset all" iġib kollox lura għad-defaults.
- Il-filtru tal-istat tal-kompitu issa hu segmented control bi 3 stati (All / Unsolved / Solved), b'default Unsolved. Jissostitwixxi t-toggle waħdani "Hide solved".
- Il-kontroll tal-ordni mexa lejn il-bar ta' fuq — qabel kien midfun fil-qiegħ u moħbi wara l-iscroll.
- It-toggle tal-favoriti mexa lejn il-bar tal-filtri ta' fuq — issa joqgħod ħdejn it-toggles binarji l-oħra.
- Il-badge tal-filtri ma jaqrax iżjed "1" mill-bidu — id-default "Unsolved" ma jingħaddx bħala filtru applikat.
Verifika madwar il-katalgu kollu: il-grader ma jirrifjutax iżjed tweġibiet korretti minħabba s-serializzazzjoni DATE-vs-TIMESTAMP, il-previews tal-kampjuni fuq 60+ kompitu issa jaqblu ma' dak li tabilħaqq tirritorna s-soluzzjoni ta' referenza, u 5 kompiti li jużaw CURRENT_DATE / NOW() ġew imwaħħla ma' referenza fissa biex il-previews jieqfu jitbiegħdu jum b'jum. Flimkien ma' korrezzjoni tad-deskrizzjoni fil-kompitu tat-transazzjonijiet ta' kull xahar minn rapport ta' bug ta' utent.
- Grader: żdiedet in-normalizzazzjoni ta' date-bħala-timestamp (
2024-01-01T00:00:00.000Z↔2024-01-01) — it-tweġibiet korretti jieqfu jiksbu "row count matches, contents differ" minħabba l-formattjar tat-tip ta' ritorn. - Kompitu "Monthly transactions and chargebacks": id-deskrizzjoni issa tiċċara li chargeback jappartjeni lix-xahar tat-transazzjoni oriġinali, mhux lid-data tar-rifużjoni; il-preview juri d-dati tal-ewwel jum tax-xahar minflok timestamps ISO bil-shift tat-TZ.
- Ġew rigġenerati l-previews tal-kampjuni fuq 60+ kompitu: formattjar numeriku (
100→100.00), wiri tat-timezone (+03→+00), DATE-bħala-TIMESTAMP, INTERVAL-bħala-oġġett — il-preview issa jaqbel ma' dak li jirritorna r-runner live. - Ħames kompiti li jużaw
CURRENT_DATE/NOW()/CURRENT_TIMESTAMPfis-seed tagħhom (#170, #601, #602, #668, #693) issa huma mwaħħla ma'2026-05-05 12:00:00 UTC. Il-previews jieqfu jitbiegħdu.
Ġie mġedded il-blog: tiftix, navigazzjoni skont 10 taqsimiet, l-ewwel 7 tutorials għall-prinċipjanti. L-ismijiet tal-kmandi fiċ-cheatsheet tal-kompitu issa huma links li jistgħu jiġu klikkjati lejn l-artikli. Il-paġna tar-rilaxxi kisbet siġra tal-verżjonijiet bi scroll-spy.
- Blog: tiftix fit-titli, fil-kontenut u fit-tags + sidebar tat-taqsimiet fuq ix-xellug. It-taqsima attiva tiddawwal mal-iscroll.
- Blog: l-ewwel 7 tutorials għall-prinċipjanti —
SELECT … FROM,WHERE,ORDER BY,LIMIT,INNER JOIN,LEFT JOIN, aliases. - Cheatsheet tas-suġġett fil-kompitu: l-ismijiet tal-kmandi issa huma links blu lejn it-tutorial tal-blog korrispondenti — jinfetħu f'tab ġdid.
- Paġna tar-rilaxxi: siġra tal-verżjonijiet fuq ix-xellug raggruppata skont
major.minor; il-klikk iniżżel sal-verżjoni u jaġġorna l-hash anchor. - Buttuna "Copy SQL" fuq kull ringiela tat-tab Submissions.
- Qbil tal-plural bir-Russu kullimkien: "221 задача", "2 задачи", "5 задач" minflok il-qadim "221 задач".
- Iċ-cheatsheet tas-suġġett fil-kompitu ma jħabbatx iżjed meta jinfetaħ — it-track tal-iscrollbar issa hu riservat.
- It-tabelli Markdown fl-artikli tal-blog issa jiġu rranġati bħala tabelli HTML minflok bħala linja waħda ta' test sempliċi.
Tindifa tal-kwalità madwar il-katalgu kollu: 23 kompitu li ma setgħux jiġu mħaddma ġew irranġati, 66 deskrizzjoni bl-Ingliż inkitbu mill-ġdid, id-deskrizzjonijiet u l-previews tal-kampjuni ġew allinjati fuq ftit għexieren oħra. Flimkien ma' korrezzjoni waħda rrapportata mill-utenti.
- Il-previews tal-kampjuni fuq 50+ kompitu issa jaqblu ma' dak li tirritorna s-soluzzjoni ta' referenza.
- Ġew imnaqqsa t-tags duplikati tal-kumpaniji fiċ-chips tal-filtru tal-kompiti.
- Ġew irranġati 23 kompitu (pharma-*, loyal-*, hotel-*, qa-*) li ma setgħux jiġu solvuti minħabba diskrepanza fl-iskema/seed.
- Inkitbu mill-ġdid id-deskrizzjonijiet bl-Ingliż fuq 66 kompitu lc-* / lc2-* li qabel kienu jiġu b'stub jew framment.
- Il-kompitu "Rooms Booked on September 2, 2019" ma jaċċettax iżjed it-tweġiba żbaljata.
- Għaxar kompiti fejn id-deskrizzjoni ma kinitx taqbel mas-soluzzjoni ta' referenza issa huma konsistenti.
- Seba' kompiti Tochka kienu jiġu bid-dikjarazzjoni ta' problema ta' ħaddieħor — inkitbu mill-ġdid.
69 kompitu ġdid meħud minn intervisti reali tas-suq Russu (Yandex, Tinkoff, Sber, VTB, Alfa, VK, Ozon, Avito, Magnit, Samokat u 23 kumpanija oħra) — mibni madwar l-univers usa' tat-tipi ta' PostgreSQL: UUID, JSONB, ENUM, INTERVAL, TSTZRANGE, INET, NUMERIC u POINT. Flimkien ma' korrezzjonijiet ewlenin minn rapporti tal-utenti u indikatur ta' tikka ħamra "What's new" fis-sidebar.
- 69 kompitu ġdid meħud minn intervisti reali f'kumpaniji Russi. 33 impjegatur: 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 u Yandex Practicum. Kollha tikkjettati Interview, aċċessibbli għal Premium.
- Tipi PostgreSQL għonja fl-iskemi tal-kompiti. Il-biċċa l-kbira tal-kompiti kienu jużaw
INT+VARCHAR(100)— tajbin għal eżempji tal-ktieb, imbiegħda mill-produzzjoni. Il-kompiti l-ġodda jintroduċuUUIDgħall-PKs tal-klijent u tal-ordni,NUMERIC(15,2)għall-flus uNUMERIC(12,4)għar-rati tal-kambju,TIMESTAMPTZgħall-avvenimenti,INTERVALgħat-tul tat-telefonati u tas-sessjonijiet,TSTZRANGE/DATERANGE/NUMRANGEgħall-istorji SCD2 u t-twieqi tal-validità,JSONBgħall-metadata u l-payloads tal-avvenimenti,ENUM(b'CREATE TYPEespliċitu) għall-istati u l-kategoriji,INETgħall-IPs fil-kompiti antifraud,POINTgħall-koordinati GPS,TEXT[]/INTEGER[]għat-tags u l-arrays tal-IDs. Hekk it-trainer jesponik għall-istess tipi li tiltaqa' magħhom fil-produzzjoni. - Tikka ħamra fuq l-element tas-sidebar "What's new" — tidher meta rilaxx ġdid ikun ħareġ li int għadek ma ftaħtx. It-tikka tisparixxi wara żjara waħda lejn
/releases(il-flag jgħix fil-localStorage ta' dan il-browser). Qabel l-indikatur kien jeżisti biss fin-navbar ta' fuq; fil-layouts bis-sidebar biss ma kienx jintlaħaq.
- Wiri xieraq tat-tipi l-ġodda fit-tabella tar-riżultat tal-query. Qabel il-kolonni
JSONB,INTERVALuPOINTkienu jidhru bħala "[object Object]" u l-arrays (TEXT[],INTEGER[]) kienu jingħalqu f'strings imdaħħla bil-virgola — l-istruttura kienet inviżibbli. Issa JSONB u l-arrays jidhru bħala JSON li jinqara, INTERVAL bħala1d 02:30:00, POINT bħala(x, y). Il-booleans u l-UUIDs iżommu l-wiri tagħhom bħala test. - Id-dijagrammi ER fuq il-paġna tal-kompitu kisbu entrati tal-palett għat-tipi l-ġodda: UUID vjola, JSONB isfar, INTERVAL vjola (l-istess familja bħal tipi oħra ta' data/ħin), TSTZRANGE / DATERANGE / NUMRANGE roża, INET ċjan, POINT roża, ENUMs personalizzati roża skur. Qabel dawn it-tipi kienu jaqgħu fil-griż default u ma kinux jingħarfu minn INT / VARCHAR sempliċi.
- Is-sitt kompiti rranġati ta' fuq kisbu wkoll skema arrikkita fl-istess stil bħas-sett ġdid tal-intervisti: ċwievet primarji
UUID, payloadsJSONB, tipiENUMgħal sess / kategoriji / stati,NUMERIC(15,2)minflokINTgħas-salarji u l-prezzijiet,INTERVALgħat-tulijiet. Il-kliem tal-kompitu ġie aġġustat ftit biex jimmotiva t-tipi l-ġodda, imma l-problema ta' taħt ma nbidlitx. Dan hu l-ewwel pass fl-aġġornament tal-kompiti aktar antiki — aktar fir-rilaxxi li ġejjin.
- Ġew irranġati ftit kompiti aktar antiki rrapportati mill-utenti. "Project Employees II" — id-dijagramma ER kienet turi Employee + Department minflok Project + Employee, filwaqt li l-iskema ta' taħt kienet korretta; allinjajna d-dijagramma. "Reported Posts" — id-deskrizzjoni ma kinitx tispjega li r-raġuni tar-rapport tgħix fil-kolonna
extra: issa tispjega. "Sales Analysis I" — is-soluzzjoni ta' referenza kienet tużaSUM(price)għalkemm l-iskema għandha kolonnaquantity, li kien jħawwad; ġie mfassal mill-ġdid bħalaSUM(quantity * price), eqreb għad-dħul fid-dinja reali. "Swap Salary" — il-kompitu kien marbut mad-dataset żbaljat (Employee + Department minflokSalary(id, name, sex, salary)), li kien jagħmlu impossibbli li jiġi solvut; reġa' ġie marbut mad-dataset kanoniku. L-istess drift ER sigriet f'"Project Employees III" u "Reported Posts II" kiseb l-istess korrezzjoni.
Rilaxx kbir: navigazzjoni ġdida b'sidebar fuq ix-xellug, il-mod strett Mock Interview b'bonus ta' +25% Power, profili pubbliċi u ħbieb, notifiki bl-email, tags tal-kumpanija bil-kuluri tal-marka, filtri żejda u blokk ta' korsijiet ta' sħab. Flimkien ma' korrezzjoni importanti tal-privatezza bejn il-kontijiet u għexieren ta' elementi ta' tlinġa tal-UX.
- Blokk ta' korsijiet ta' sħab. Fuq il-paġna tal-kompiti (skrins wesgħin) kolonna fuq il-lemin turi sett magħżul ta' korsijiet ta' sħab; fuq il-mowbajl huwa carousel orizzontali fuq il-lista. Il-karti jwasslu għal landing pages ta' sħab b'tags UTM — għalina, mod kif inżommu l-prezz tal-abbonament baxx billi nkopru l-ispejjeż tal-infrastruttura.
- Mod ġdid Mock Interview — simulazzjoni stretta ta' intervista reali. Kwalunkwe ksur wieħed (tibdil tat-tab, paste, ħruġ mill-fullscreen, blur tat-tieqa > sekonda) ifalli s-sessjoni awtomatikament. Il-ħjiel, l-AI Mentor u ċ-cheatsheet huma moħbija u msakkra. Tulijiet: 5 / 10 / 15 / 30 / 60 minuta. Pjan b'xejn — attentat wieħed kuljum; Premium — bla limitu. Waqt li sessjoni tkun għaddejja n-navigazzjoni ta' madwar (sidebar, "Tasks", "Top solutions", "Next task", "Leave track", Prev/Next/Random) tiġi msakkra — l-unika ħarba hi l-buttuna espliċita "End" jew l-għeluq tat-tab (li jabbanduna s-sessjoni awtomatikament).
- +25% Power għal kull kompitu mgħoddi fil-mod Mock Interview — il-bonus hu għal kull kompitu u jkun flaggjat fir-rapport ta' wara s-sessjoni. Il-klassifika issa għandha kolonna informattiva "Mock" (l-istess għadd muri fuq il-karta tal-profil u fuq
/u/<username>); ma taffettwax l-ordni tas-sort ibbażat fuq il-Power. - Profili pubbliċi f'
/u/<username>: agħżel handle qasir u aqleb it-toggle pubbliku — kwalunkwe viżitatur anonimu jara r-rank, il-Power, l-istreak attwali, l-għadd tal-kisbiet, il-heatmap tal-attività u l-links GitHub / Telegram / LinkedIn tiegħek. L-ebda data privata ma tiġi esposta. - Ħbieb: żid utenti bil-handle pubbliku tagħhom, immaniġġja t-talbiet deħlin u ħerġin, ara tab dedikat ta' klassifika tal-ħbieb bil-Power, l-istreak u l-kompiti solvuti tagħhom.
- Favoriti: kull karta tal-kompitu issa għandha stilla — ikklikkjaha u l-kompitu jasal fil-filtru "Favourites only". Il-lista tgħix fis-server marbuta mal-kont tiegħek u tibqa' wkoll meta taqleb il-browsers.
- Notifiki bl-email (toggles fil-profil). "Save your streak" — tfakkira ta' filgħaxija meta l-istreak tiegħek ikun ≥ 3 ijiem u ma tkun solvejt xejn illum. "Weekly digest" — sommarju tas-Sibt filgħodu bil-kompiti solvuti tal-ġimgħa l-oħra, l-istreak attwali u l-iktar kategorija dgħajfa.
- L-utenti Premium huma flaggjati viżwalment kull fejn jidhru l-avatars: ċirku bil-gradjent olografiku (klassifika, ħbieb, profil, sidebar, paġna pubblika
/u/<username>); badge żgħir tal-Crown fil-kantuniera fuq l-avatars il-kbar. Ma taffettwax l-ordni tas-sort. - Tags tal-kumpanija bil-kuluri tal-marka fuq il-karti tal-kompiti: isfar għal Yandex / Tinkoff / Beeline, aħdar għal Sberbank / Spotify / OpenAI, blu għal VK / Ozon / Google / Meta, aħmar għal MTS / Alfa / Tesla, vjola għal Stripe / Skypro / Wayfair, oranġjo għal Amazon / Alibaba u l-bqija. Qabel kull tag kien vjola wieħed.
- Chips żejda ta' klawżoli SQL fil-filtru "Topic" fuq il-paġna tal-kompiti: flimkien mat-8 kategoriji wesgħin (SELECT, JOIN, subqueries, window, aggregates, CTE, DML, DDL) issa tista' taqleb
GROUP BY,COUNT,HAVING. Ħalladhom mal-kategoriji għal filtrar aktar preċiż. - Il-panel "DB Schema" fuq il-paġna tal-kompitu issa jista' jingħalaq. It-toggle ħdejn it-titlu tal-kompitu jaħbi l-kolonna u jeħles wisa' għall-editur u t-tabella tar-riżultat. L-istat tal-għeluq jiġi mfakkar għal kull browser, biex l-iskema tinfetaħ bl-istess mod fil-kompitu li jmiss.
- 8 kompiti ġodda tal-intervisti minn Tochka — minn EASY sa HARD. Xenarji CRM (sib klijenti b'applikazzjoni attiva), kalkoli tal-portafoll (struttura, maturità medja peżata, dinamika tal-valur), queries tal-bonds bi window functions. Soluzzjonijiet kemm għal PostgreSQL kif ukoll għal MySQL.
- Taqsima tal-blog f'
/blog. Tutorials twal — nibdew b'analiżi fil-fond tal-window functions. Kontenut biling, URLs bis-slug, OG cards għall-qsim soċjali. Jintlaħaq mill-footer u mill-qiegħ tas-sidebar. - Paġna 404 personalizzata. L-iskart Next.js qadim kien jirrendi test iswed fuq abjad — inviżibbli fil-mod skur. Il-paġna l-ġdida tuża t-tokens tat-tema u tgħix ġewwa s-shell kondiviż, biex iżżomm in-navigazzjoni fil-qrib.
- In-navigazzjoni ġiet iddisinjata mill-ġdid. Għall-utenti loggjati ġewwa l-app in-navigazzjoni primarja marret f'sidebar fuq ix-xellug — Trainer, Progress, Leaderboard u t-taqsimiet l-oħra jgħixu hemm, bil-Power + streak taħt l-avatar tiegħek u t-toggles tal-lingwa/tema fil-qiegħ. Il-landing page, il-pricing u l-flussi tal-awtentikazzjoni jżommu t-top-bar irqiq. Il-paġni ta' utilità (What's new / Report a bug / Blog) jirtu l-istil minn fejn ġejt.
- Iċ-ċirku bil-gradjent Premium madwar l-avatars issa jidher fuq kull tab tal-klassifika — qabel iċ-ċirku kien jidher biss fuq it-tab "All time" u jaqa' bla ħoss fuq "Week" u "Month" għax il-backend ma kienx joħroġ il-flag tal-abbonament għall-klassifiki perjodiċi.
- Il-bidliet tal-isem u tal-avatar fil-profil tiegħek issa jidhru immedjatament fis-sidebar — l-ebda reload tal-paġna meħtieġ. Qabel il-karta qadima tal-utent setgħet tibqa' sa refresh sħiħ.
- Tnixxijiet ta' data bejn il-kontijiet meta taqleb l-utenti fl-istess browser. Qabel, wara logout / login b'kont differenti dawn setgħu jippersistu: it-threads tal-chat tal-AI Mentor, l-abbozzi SQL fl-editur, il-flags "solved" għal kull kompitu, is-sessjonijiet attivi tal-mock-interview, il-counter tal-ġenerazzjoni AI, il-cache tal-favoriti. Issa l-logout u kull triq ta' login (formola, OAuth, verifika tal-email) iħassar kollox marbut mal-utent ta' qabel.
- Il-link "Friends rating" mill-profil issa jasal direttament fuq it-tab Friends — qabel kien iwaqqgħek fuq il-klassifika globali. Il-lane tal-prinċipjanti "Start here" ma terġax lura wara li tkun warrabtha; qabel il-warrib kien jirresettja ma' kull logout / login.
- Għexieren ta' elementi ta' tlinġa tal-layout u tal-interazzjoni fuq il-mowbajl: modal aktar kompatt tar-rapport ta' wara s-sessjoni, spazjar korrett tal-filtri fuq skrins dojoq, il-banner tal-feedback ma jaqbiżx iżjed fuq il-panel laterali f'1024px, fields tal-isem + email fuq il-paġna tar-rapport tal-bug għal min iressaq b'mod anonimu.
Hotfix tal-UX tal-editur fuq skrins dojoq: il-popup "Editor settings" ma jibqax jinqata' mill-panel tal-kodiċi u ma jibqax joħroġ lil hinn mit-tarf tal-viewport fuq il-mowbajl. L-istess buttuna tal-gear li għandu d-desktop issa tgħix ukoll fit-toolbar tal-mowbajl, u s-setting tad-daqs tal-font fl-aħħar japplika għall-editur tal-mowbajl.
- Il-popup "Editor settings" seta' jinqata' mit-truf tal-paġna u ma kellux scroll intern — fuq laptop dejjaq jew telefon, nofs is-settings sempliċement ma kinux viżibbli. Il-popup issa jiġi rendut fuq il-paġna kollha (permezz ta' portal), jissikka awtomatikament mal-erja viżibbli, u jħallat scrollbar intern meta l-kontenut tiegħu jaqbeż l-għoli tal-viewport. L-intestatura bit-titlu u l-buttuna tal-għeluq tibqa' sticky waqt l-iscroll.
- Fil-vista tal-editur tal-mowbajl (≤1024px) it-toolbar kien nieqes il-gear tas-settings tal-editur — "Font size" kien jintlaħaq biss mid-desktop. Il-gear issa joqgħod ħdejn PG/MySQL u Format, u s-setting tad-daqs tal-font tassew tiskala l-input tal-editur tal-mowbajl.
Hotfix minn rapport ta' bug: il-kompitu #240 ("Staff Bonuses") kien jirrendi l-iskema żbaljata — kien juri Employee + Department minflok il-veru Employee + Bonus, li jagħmel il-prompt illeġibbli.
- Kompitu #240 "Staff Bonuses": il-viżwer tal-iskema kien jirrendi tabelli antiki
Employee + Department(bil-fieldsdepartment_id,manager_id) u tabDepartmentvojt. Is-sandbox u s-soluzzjoni ta' referenza kienu korretti minn dejjem — il-metadata tal-viżwer biss kienet żbaljata. Issa l-iskema turi t-tabelli veriEmployee + Bonusbir-relazzjoniBonus.empId → Employee.empId.
Ġew arrikkiti d-datasets fuq 268 minn 339 kompitu — tabelli tas-sors aktar mimlija, ringieli aktar sinifikattivi fl-output mistenni, il-kompiti ma jħossux iżjed miksura.
- Arrikkiment massiv tad-datasets: 268 minn 339 kompitu kisbu data tas-seed aktar mimlija — tipikament 6-12-il ringiela fit-tabelli primarji minflok 2-4, b'varjetà tul l-assi tal-filtru/JOIN/GROUP BY li tuża s-soluzzjoni ta' referenza. Intmissu 137 dataset uniku. Is-soluzzjonijiet ta' referenza u l-iskemi ma nbidlux. Il-progress tal-utent jinżamm — il-kompiti diġà solvuti jibqgħu solvuti, il-Power u l-kisbiet ma jiġux ikkalkulati mill-ġdid.
- Kull kompitu arrikkit ġie vvalidat: is-soluzzjoni ta' referenza ġiet imħaddma kontra s-seed il-ġdid permezz tal-executor, sample_output rigġenerat mir-riżultat reali.
- Kompitu #38 (
well-paid-employees) — oriġinarjament hotfix tal-v1.2.4, issa parti mill-pass usa'.
Hotfix minn rapport ta' bug: il-panel "Expected output sample" issa jiċċara li l-għadd tar-ringieli hemmhekk m'għandux għalfejn jaqbel mat-tabelli tal-iskema.
- Żdied diżinjament fuq il-panel "Expected output sample": "hekk tidher tweġiba korretta — l-għadd tar-ringieli tagħha hu tagħha stess, m'għandux għalfejn jaqbel mat-tabelli tal-iskema". Qabel l-utenti kienu jgħoddu r-ringieli f'waħda mit-tabelli tal-iskema u jassumu li l-kompitu kien miksur meta n-numri kienu jvarjaw.
Hotfix minn rapport ta' bug: il-kompitu #38 "Salary higher than manager" issa jaħdem fuq dataset xieraq bi tliet każijiet reali. Flimkien ma' tikka oranġjo żgħira fuq "What's new?" meta joħroġ rilaxx frisk.
- Tikka oranġjo żgħira tidher fuq l-element tan-nav "What's new?" meta joħroġ rilaxx frisk. Żjara waħda lejn
/releasestnaddafha sar-rilaxx li jmiss.
- Kompitu #38 (
well-paid-employees): id-dataset kien skars wisq — 6 impjegati u każ wieħed ta' "subordinat jaqla' aktar mill-maniġer", li kien jagħmel jidher li d-data kienet żbaljata. Tkabbar għal 9 impjegati f'żewġ dipartimenti bi tliet każijiet ċari (Eve > Alice, Frank > Dave, Henry > Bob).
Paġna ġdida "Report a bug" b'attachments ta' screenshots, grupp sekondarju tan-nav, u lane "Start here" aktar kompatt fuq il-mowbajl.
- Paġna ġdida "Report a bug" fin-navbar: formola b'suġġett + deskrizzjoni b'sa 5 screenshots / clips qosra (drag-and-drop sapportjat). Ir-rapporti jaslu fl-inbox tagħna għal triage rapida.
- In-navbar jikseb grupp sekondarju — "What's new?" u "Report a bug" — separat mit-tabs primarji b'diviżorju vertikali rqiq.
- Il-lane tal-prinċipjanti "Start here" hi aktar kompatta fuq il-mowbajl — titlu aktar qasir, deskrizzjoni moħbija, karti aktar dojoq. Teħles wisa' għal-lista tal-kompiti nnifisha.
- Il-lane tal-prinċipjanti "Start here" ma tlampax iżjed għal frazzjoni ta' sekonda meta tinfetaħ il-paġna tal-kompiti — issa tiġi rendita biss wara li
/progressjissolva. - Il-highlight tar-release-notes (one-liner ta' fuq) issa jirrendi korrettament il-backticks — qabel kien juri letteralment "
?lang=" minflok code pill stilizzat. - L-iscrollbar vertikali fantażma fuq il-paġna "Learning Tracks" għeb —
min-h-screenflimkien man-navbar kien iġiegħel ~60px ta' għoli żejjed anke meta l-kontenut kien jidħol.
Tlinġa tal-UX madwar it-trainer kollu flimkien ma' parametru URL ?lang= għar-reklami u links diretti speċifiċi għal-locale.
- Asal fuq lingwa speċifika permezz ta'
?lang=enjew?lang=rufl-URL:https://sql.coderang.dev/?lang=en. Utli għar-reklami u l-qsim ta' links speċifiċi għal-locale; l-għażla tiġi mfakkra għal sena.
- Meta l-ħjiel AI ta' kuljum jispiċċaw, il-buttuna "Explain" issir "Cheatsheet" u tiftaħ ir-referenza tas-suġġett.
- L-istilla tal-favoriti issa hi viżibbli fuq il-mowbajl u tidher bilkemm fuq id-desktop minflok moħbija sal-hover.
- Id-deskrizzjoni tal-kompitu ma taqbiżx iżjed meta jinfetaħ iċ-cheatsheet. L-istilla hi aktar tleqq fuq il-hover.
- Fil-kompiti DDL il-panel tal-iskema juri "no starting tables; create them" minflok canvas vojt.
- Il-buttuna AI issa tassew tippulsa biss fuq l-iżbalji (qabel il-klassi tal-animazzjoni qatt ma kienet definita).
- Il-Power u l-Streak tan-navbar jitilqu mil-localStorage qabel il-fetch tas-server — m'hemmx iżjed flash ta' "0 ⚡".
- Il-counter tal-ġenerazzjoni AI ma jirresettjax iżjed għal 0 wara r-ridirezzjoni lejn il-kompitu ġġenerat.
- Affarijiet sbieħ fuq il-mowbajl: badges tad-diffikultà bl-istess wisa' (l-istilla allinjata), it-test tat-tab tal-qiegħ jidħol, animazzjoni tal-iskala tal-counter ta' kuljum, tooltip tal-ikona tal-istreak, regoli tal-plural bir-Russu.
- L-ismijiet tal-kumpaniji Russi (Сбербанк, Яндекс, Авито…) issa jiġu rranġati f'trażletterazzjoni Latina (Sberbank, Yandex, Avito) fl-UI bl-Ingliż; iċ-Ċirilliku jibqa' fuq ir-Russu.
- L-ismijiet tal-entrati taċ-cheatsheet (Aliases, Scalar subquery, eċċ.) issa jiġu tradotti korrettament mal-bidla tal-lingwa.
- Il-klassifika ta' kull ġimgħa/xahar issa tapplika l-bonus first-try ×2 u tinjora t-tressiq mill-ġdid, taqbel ma' kif jiġi kkalkulat il-Power tul il-ħajja. Qabel il-vista perjodika kienet turi madwar nofs dik tul il-ħajja — bug fil-matematika, mhux fid-data.
- Tneħħa tab Solutions mejjet — l-ebda buttuna ma kienet tattivah imma kien jidduplika l-load.
- Il-backticks ma jħallux iżjed gap qabel il-punteġġjatura li ġejja warajhom ("
Action."). - L-istati vojta tal-pane tar-riżultat issa jiġu tradotti korrettament għall-Ingliż.
Tlinġa tal-kompiti tal-modifika tad-data u r-rendering ġenerali tad-deskrizzjonijiet.
- Avviż għall-kompiti DDL/DML: il-kompiti UPDATE/INSERT/DELETE u CREATE/ALTER/DROP issa juru avviż qasir "no trailing SELECT needed" — m'hemmx iżjed għalfejn taqta' x'għandek toħroġ.
- Iċ-cheatsheet tas-suġġett issa jirrispetta t-tip tal-kompitu: il-kompiti DML ma jurux iżjed SELECT/ORDER BY/LIMIT, il-kompiti DDL juru biss il-kmandi tal-modifika tal-iskema.
- It-tokens bil-backticks fid-deskrizzjonijiet tal-kompiti (\
id = 4\, \users.email\) issa jiġu rranġati bħala code-pills bl-aċċent minflok bħala test mhux maħdum — id-deskrizzjonijiet jinqraw eżatt kif jiktbuhom l-awturi. - Il-blokki tal-kodiċi fiċ-cheatsheet issa għandhom bar bl-aċċent fuq ix-xellug u bordura sottili — jinqraw bħala snippets reali ta' kodiċi minflok blobs griżi.
Onboarding tal-ġodda: lane "Start here", SQL tal-bidu fl-ewwel kompitu tiegħek, u cheatsheet tas-suġġett ġewwa kull kompitu. Il-ħjiel tat-tweġibiet żbaljati issa huma speċifiċi u ma jaħarqux il-kwota AI tiegħek.
- Lane "Start here" fil-quċċata tal-paġna tal-kompiti — 8 kompiti SELECT sempliċi għal min jibda l-ewwel darba. Tidher sakemm issolvi xi ħaġa; drag-to-scroll b'cursor tal-qbid.
- SQL tal-bidu fl-editur. L-ewwel kompitu li tiftaħ jimla minn qabel
SELECT * FROM <first_table> LIMIT 5;biex tista' tagħfas ▶ minnufih u tara kif tidher id-data. - Cheatsheet tas-suġġett. Il-panel tal-kompitu issa għandu blokk ta' referenza li jingħalaq bil-kmandi SQL rilevanti, is-sintassi, u spjegazzjoni ta' linja waħda — imfassal għal kull suġġett: SELECT, JOIN, aggregates, subqueries, windows, CTE, DML, DDL.
- Il-banner tat-tweġiba żbaljata issa hu speċifiku: isemmi kolonni żejda/neqsin, diffs tar-ringieli, problemi tas-sort, u żbalji SQL komuni. Jaħdem lokalment, l-ebda kwota AI ma tiġi kkonsmata.
Awtokompletament konxju tal-aliases fl-editur SQL u titjib kbir tal-layout tal-mowbajl.
- Paġna tar-rilaxxi: l-istorja tal-aġġornamenti issa hi viżibbli fuq /releases.
- Awtokompletament konxju tal-aliases. Wara
<alias>.is-suġġerimenti huma limitati għall-kolonni ta' dik it-tabella waħda. L-aliases infushom jitlestew bit-Tab. - Il-
.issa hu karattru ta' trigger: is-suġġerimenti jaqbżu awtomatikament warajh, mingħajr bżonn ta' Ctrl+Space.
- Il-menu tal-mowbajl issa jgħatti l-kontenut minflok jimbotta l-paġna 'l isfel. Jingħalaq b'tap barra.
- 300+ deskrizzjoni ta' kompiti inkitbu mill-ġdid: żdied kuntest tan-negozju, ġew elenkati l-kolonni tal-output, l-ordni u l-arrotondament saru espliċiti.
- Id-deskrizzjoni tal-kompitu fuq il-mowbajl issa tiskrollja korrettament meta t-test ikun twil. Qabel kienet teħel u timblokka l-aċċess għat-tabs fil-qiegħ.
- Il-bar tat-tabs tal-qiegħ tat-trainer issa hu dejjem viżibbli fuq kwalunkwe browser tal-mowbajl (Yandex Browser, MIUI, Samsung Internet). Qabel kien jinqata' taħt il-viewport.
- Il-menu tal-mowbajl issa hu opak għalkollox. Qabel 5% tal-kontenut tal-isfond kien jidher minn warajh fuq browsers mingħajr appoġġ għal backdrop-filter.
- Fuq skrins dojoq (320px u inqas), id-dropdown tal-ordni tal-kompiti ma joħroġx iżjed mit-tarf tal-lemin.
- Bug qadim tal-awtokompletament: il-kitba ta'
t.ewaraFROM employee tkienet iddaħħalt.employee.salary(SQL invalidu). L-alias issa hu rrispettat.
L-ewwel rilaxx stabbli ta' SQL Arena.
- 259 kompitu SQL magħżul fuq 6 kategoriji: SELECT, JOIN, aggregate, subquery, window, DML.
- 96 kompitu tal-intervisti minn kumpaniji tek tal-quċċata (Google, Meta, Amazon, Stripe, eċċ.).
- Appoġġ ta' żewġ dialects SQL — PostgreSQL u MySQL b'bidla istantanja.
- Ġenerazzjoni AI tal-kompiti: kompiti uniċi adattati għal-livell tal-ħila tiegħek.
- AI Mentor: ħjiel kuntestwali mingħajr ma jiżvela t-tweġiba.
- 3 tracks tat-tagħlim: mogħdijiet strutturati mill-bażiku sal-SQL avvanzat.
- Eżekuzzjoni SQL fil-ħin reali f'ambjent sandboxed bl-iggradar tar-riżultat (diff tal-kolonna/ringiela/ordni).
- Awtentikazzjoni OAuth permezz ta' GitHub, Google, Yandex, flimkien ma' reġistrazzjoni bl-email/password.
- Klassifika bbażata fuq XP (Power), profili tal-utenti, kisbiet, temi skuri u ċari.
- Abbonament Premium b'integrazzjoni ta' YooKassa u rate limiting anti-bot.
- Dijagrammi ER interattivi tal-iskemi, editur Monaco bl-immarkar u l-formattjar SQL.
- Interfaċċja biling: Russu u Ingliż.