I 10 siti web di sfida di codifica più popolari [aggiornati per il 2020]

Un ottimo modo per migliorare le tue abilità quando impari a programmare è risolvere le sfide di codifica. Risolvere diversi tipi di sfide ed enigmi può aiutarti a diventare un risolutore di problemi migliore, apprendere le complessità di un linguaggio di programmazione, prepararti per i colloqui di lavoro, apprendere nuovi algoritmi e altro ancora.

Di seguito è riportato un elenco di alcuni popolari siti Web di sfide di codifica con una breve descrizione di ciò che ognuno offre.

1. TopCoder

TopCoder è una delle piattaforme originali per la programmazione competitiva online. Fornisce un elenco di sfide algoritmiche del passato che puoi completare da solo direttamente online utilizzando il loro editor di codice. Le loro popolari partite a round singolo vengono offerte alcune volte al mese in un momento specifico in cui competi contro altri per risolvere le sfide più velocemente con il miglior punteggio.

I primi utenti classificati su TopCoder sono ottimi programmatori competitivi e competono regolarmente nelle competizioni di programmazione. L'utente in cima alla classifica gestisce settimanalmente il proprio blog intitolato Algorithms di Petr Mitrichev dove scrive di concorsi di codifica, algoritmi, matematica e altro.

2. Coderbyte

Coderbyte offre oltre 200 sfide di codifica che puoi risolvere direttamente online in uno dei 10 linguaggi di programmazione (guarda questo esempio). Le sfide vanno da facile (trovare la parola più grande in una stringa) a difficile (stampare la corrispondenza massima di cardinalità di un grafico).

Forniscono anche una raccolta di tutorial sugli algoritmi, video introduttivi e corsi di preparazione ai colloqui. A differenza di HackerRank e altri siti Web simili, puoi visualizzare le soluzioni fornite da altri utenti per qualsiasi sfida oltre alle soluzioni ufficiali pubblicate da Coderbyte.

3. Progetto Eulero

Il progetto Euler offre un'ampia raccolta di sfide nel campo dell'informatica e della matematica. Le sfide in genere comportano la scrittura di un piccolo programma per capire la soluzione a una formula o un'equazione matematica intelligente, come trovare la somma delle cifre di tutti i numeri che precedono ogni numero in una serie.

Non è possibile codificare direttamente sul sito Web in un editor, quindi è necessario scrivere una soluzione sul proprio computer e quindi fornire la soluzione sul sito Web.

4. HackerRank

HackerRank offre sfide per diversi domini come algoritmi, matematica, SQL, programmazione funzionale, intelligenza artificiale e altro. Puoi risolvere tutte le sfide direttamente online (guarda questo esempio). Forniscono una discussione e una classifica per ogni sfida e la maggior parte delle sfide viene fornita con un editoriale che spiega di più sulla sfida e su come affrontarla per trovare una soluzione. A parte l'editoriale, attualmente non è possibile visualizzare le soluzioni di altri utenti su HackerRank.

HackerRank offre anche la possibilità agli utenti di inviare domande e candidarsi a lavori risolvendo le sfide di codifica sponsorizzate dall'azienda.

5. CodeChef

CodeChef è un sito Web di programmazione competitiva con sede in India che offre centinaia di sfide. Puoi scrivere codice nel loro editor online e visualizzare una raccolta di sfide suddivise in diverse categorie a seconda del tuo livello di abilità (guarda questo esempio). Hanno una vasta comunità di programmatori che contribuiscono ai forum, scrivono tutorial e prendono parte ai concorsi di codifica di CodeChef.

6. Exercism.io

L'esercizio è un sito Web di sfide di codifica che offre oltre 3100 sfide che abbracciano 52 diversi linguaggi di programmazione. Dopo aver scelto una lingua che ti piacerebbe padroneggiare, affronti le sfide di codifica direttamente sulla tua macchina (Exercism ha la propria interfaccia a riga di comando che puoi scaricare da GitHub).

Tuttavia, è leggermente diverso dagli altri siti Web di sfide, perché lavori con un mentore dopo aver completato ogni sfida. Il mentore esamina le tue risposte online e ti aiuta a migliorarle se necessario. Una volta che le tue risposte sono state approvate e inviate, sblocchi altre sfide.

7. Codewars

Codewars fornisce un'ampia raccolta di sfide di codifica inviate e modificate dalla propria comunità. Puoi risolvere le sfide direttamente online nel loro editor in una delle diverse lingue. È possibile visualizzare una discussione per ciascuna sfida e per le soluzioni utente.

8. LeetCode

LeetCode è un popolare giudice online che fornisce un elenco di oltre 190 sfide che possono aiutarti a prepararti per i colloqui di lavoro tecnici. Puoi risolvere le sfide direttamente online in uno dei 9 linguaggi di programmazione. Non è possibile visualizzare le soluzioni di altri utenti, ma vengono fornite statistiche per le proprie soluzioni, ad esempio la velocità di esecuzione del codice rispetto al codice di altri utenti.

Hanno anche una sezione Mock Interview che è specifica per la preparazione del colloquio di lavoro, ospitano i propri concorsi di codifica e hanno una sezione per gli articoli per aiutarti a comprendere meglio determinati problemi.

9. SPOJ

Sphere Online Judge (SPOJ) è un giudice online che offre oltre 20.000 sfide di codifica. Puoi inviare il tuo codice in un editor online. SPOJ ospita anche i propri concorsi e ha un'area in cui gli utenti possono discutere delle sfide di codifica. Tuttavia, attualmente non forniscono soluzioni o editoriali ufficiali come fanno altri siti web.

10. CodinGame

CodinGame è un po 'diverso dagli altri siti Web, perché invece di risolvere semplicemente le sfide di codifica in un editor, prendi effettivamente parte alla scrittura del codice per i giochi a cui giochi direttamente online. Puoi vedere un elenco di giochi attualmente offerti qui e un esempio di uno qui. Il gioco include una descrizione del problema, casi di test e un editor in cui è possibile scrivere il codice in uno degli oltre 20 linguaggi di programmazione.

Sebbene questo sito Web sia diverso dai tipici siti Web di programmazione competitiva come quelli sopra menzionati, è ancora popolare tra i programmatori che amano risolvere le sfide e prendere parte ai concorsi.

Questo elenco si basava su alcune cose: le mie esperienze utilizzando i siti Web, alcune ricerche su Google, post di Quora e articoli come questo e questo. Ho anche frequentato alcuni forum e subreddit come r / learnprogramming per vedere quali siti web erano solitamente consigliati dagli utenti. Disclaimer: lavoro in Coderbyte, uno dei siti web sopra menzionati.