10 najobľúbenejších webov s výzvami na kódovanie [aktualizované na rok 2020]

Skvelým spôsobom, ako si zlepšiť svoje zručnosti pri učení sa kódovaniu, je riešenie problémov s kódovaním. Riešenie rôznych typov úloh a hlavolamov vám môže pomôcť stať sa lepším riešiteľom problémov, spoznať zložitosti programovacieho jazyka, pripraviť sa na prijímacie pohovory, naučiť sa nové algoritmy atď.

Nižšie je uvedený zoznam niektorých populárnych webových stránok s výzvami na kódovanie a krátkym popisom toho, čo každý z nich ponúka.

1. TopCoder

TopCoder je jednou z pôvodných platforiem pre konkurenčné programovanie online. Poskytuje zoznam algoritmických výziev z minulosti, ktoré môžete sami dokončiť priamo online pomocou ich editora kódu. Ich populárne zápasy jedného kola sú ponúkané niekoľkokrát mesačne v konkrétnom čase, keď súťažíte s ostatnými, aby ste čo najrýchlejšie vyriešili výzvy s najlepším skóre.

Najlepšie umiestnení používatelia v programe TopCoder sú veľmi dobrí konkurenčné programátory a pravidelne súťažia v programátorských súťažiach. Najlepšie hodnotený užívateľ udržiava vlastný blog s názvom Algoritmy týždenne od Petra Mitricheva, kde píše o súťažiach v kódovaní, algoritmoch, matematike a ďalších.

2. Koderbyte

Coderbyte poskytuje viac ako 200 výziev v oblasti kódovania, ktoré môžete vyriešiť priamo online v jednom z 10 programovacích jazykov (pozrite si tento príklad). Úlohy sa pohybujú od ľahkých (nájdenie najväčšieho slova v reťazci) až po ťažké (vytlačenie zhody maximálnej mohutnosti grafu).

Poskytujú tiež zbierku tutoriálov o algoritmoch, úvodných videí a kurzov prípravy na pohovor. Na rozdiel od HackerRank a iných podobných webových stránok si okrem oficiálnych riešení zverejnených spoločnosťou Coderbyte môžete prezrieť riešenia, ktoré poskytujú iní používatelia pri riešení akýchkoľvek výziev .

3. Projekt Euler

Projekt Euler poskytuje veľkú zbierku výziev v oblasti informatiky a matematiky. Výzvy zvyčajne zahŕňajú napísanie malého programu na zistenie riešenia šikovného matematického vzorca alebo rovnice, napríklad nájdenie súčtu číslic všetkých čísel, ktoré predchádzajú každému číslu v rade.

Na webovej stránke nemôžete priamo kódovať v editore, takže by ste museli napísať riešenie na svojom počítači a potom ho poskytnúť na jeho webovej stránke.

4. HackerRank

HackerRank poskytuje výzvy pre niekoľko rôznych domén, ako sú algoritmy, matematika, SQL, funkčné programovanie, AI a ďalšie. Všetky úlohy môžete vyriešiť priamo online (pozrite si tento príklad). Poskytujú diskusiu a výsledkovú tabuľku pre každú výzvu a väčšina výziev prichádza s úvodníkom, ktorý vysvetľuje viac o výzve a o tom, ako k nej pristupovať pri hľadaní riešenia. Okrem úvodníka momentálne nemôžete zobraziť riešenia ostatných používateľov na serveri HackerRank.

HackerRank tiež poskytuje používateľom možnosť odosielať žiadosti a uchádzať sa o pracovné miesta riešením problémov s kódovaním sponzorovaných spoločnosťou.

5. CodeChef

CodeChef je indický konkurenčný programovací web, ktorý ponúka stovky výziev. Môžete napísať kód v ich online editore a prezerať si zbierky úloh, ktoré sú rozdelené do rôznych kategórií v závislosti od úrovne vašich schopností (pozrite si tento príklad). Majú veľkú komunitu programátorov, ktorí prispievajú do fór, píšu tutoriály a zúčastňujú sa kódovacích súťaží CodeChef.

6. Cvičenie.io

Cvičenie je webová stránka s výzvou na programovanie, ktorá ponúka viac ako 3 100 výziev zahŕňajúcich 52 rôznych programovacích jazykov. Po výbere jazyka, ktorý by ste chceli ovládať, zvládnete výzvy spojené s programovaním priamo na vašom počítači (Cvičenie má svoje vlastné rozhranie príkazového riadku, ktoré si môžete stiahnuť z GitHubu).

Je to trochu odlišné od iných webových stránok s výzvami, pretože po dokončení každej výzvy pracujete s mentorom. Mentor skontroluje vaše odpovede online a pomôže vám ich v prípade potreby vylepšiť. Po schválení a odoslaní odpovedí získate ďalšie výzvy.

7. Codewars

Codewars poskytuje veľkú zbierku výziev v oblasti kódovania, ktoré odoslala a upravila ich vlastná komunita. Výzvy môžete vyriešiť priamo online v ich editore v jednom z niekoľkých jazykov. Môžete si pozrieť diskusiu o každej výzve, ako aj používateľské riešenia.

8. LeetCode

LeetCode je populárny online sudca, ktorý poskytuje zoznam viac ako 190 výziev, ktoré vám môžu pomôcť pripraviť sa na technické pracovné pohovory. Výzvy môžete vyriešiť priamo online v jednom z 9 programovacích jazykov. Nie ste schopní zobraziť riešenia iných používateľov, ale sú vám poskytnuté štatistiky pre vaše vlastné riešenia, napríklad ako rýchlo bežal váš kód v porovnaní s kódom iných používateľov.

Majú tiež sekciu Mock Interview, ktorá je špeciálne na prípravu pracovných pohovorov, organizujú vlastné súťaže v kódovaní a majú sekciu s článkami, ktoré vám pomôžu lepšie pochopiť určité problémy.

9. SPOJ

Sphere Online Judge (SPOJ) je online sudca, ktorý poskytuje viac ako 20 000 výziev v kódovaní. Svoj kód môžete zadať v online editore. SPOJ tiež organizuje svoje vlastné súťaže a pre používateľov má priestor na diskusiu o výzvach v oblasti kódovania. V súčasnosti však neposkytujú žiadne oficiálne riešenia ani úvodníky, ako to poskytujú niektoré iné webové stránky.

10. CodinGame

CodinGame sa trochu líši od ostatných webových stránok, pretože namiesto jednoduchého riešenia problémov s kódovaním v editore sa vlastne podieľate na písaní kódu pre hry, ktoré hráte priamo online. Tu vidíte zoznam momentálne ponúkaných hier a príklad jednej z nich. Hra obsahuje popis problému, testovacie prípady a editor, v ktorom môžete napísať kód v jednom z viac ako 20 programovacích jazykov.

Aj keď sa táto webová stránka líši od bežných konkurenčných programovacích webov, ako sú tie, ktoré sú uvedené vyššie, je stále populárna medzi programátormi, ktorí radi riešia výzvy a zúčastňujú sa súťaží.

Tento zoznam bol založený na niekoľkých veciach: mojich vlastných skúsenostiach s používaním webových stránok, niektorých vyhľadávaniach Google, príspevkoch Quora a článkoch, ako je tento a tento. Tiež som navštevoval niektoré fóra a subreddity, ako je r / learnprogramming, aby som zistil, aké webové stránky tam títo používatelia zvyčajne odporúčajú. Zrieknutie sa zodpovednosti: Pracujem v spoločnosti Coderbyte, ktorá je jedným z vyššie uvedených webov.