Prepararsi per le sfide del codice [chiuso]


15

Solo pochi giorni fa ho scoperto Codility e ho provato le loro sfide. E devo dire. Mi sono consegnato alle mie spalle su un piatto. Non sono sicuro di quale fosse il problema, ma leccherò le mie ferite e aspetterò che esca la soluzione e la confronterò con la mia. Nel frattempo, voglio prepararmi per la prossima sfida, quindi sto leggendo i loro post precedenti sul blog e vedo come risolvere i loro problemi precedenti. Ci sono molte cose nuove di cui non ho sentito parlare (alberi cartesiani, vari algoritmi di ordinamento, ecc.)

Quindi, come ci si prepara per tali sfide (in particolare la complessità del tempo e dello spazio O (x)). Cosa dovrei leggere per prepararmi a tale compito?


Ho studiato Haskell ultimamente in parte per costringere il mio cervello a contorcersi (che sarà forzare questo) specificamente per aiutare diventare più agile nel pensare a soluzioni. Detto questo, sto anche leggendo The Algorithm Design Manual (esiste un pdf online gratuito) e una copia di vendita in garage de The Art of Computer Programming Vol 1 Fundamental Algorithms di Knuth (che è anche una seria fonte di dolore al cervello) per lo stesso scopo .
Jimmy Hoffa,

Risposte:


3

come ci si prepara per tali sfide (in particolare la complessità del tempo e dello spazio O (x)). Cosa dovrei leggere per prepararmi a tale compito?

Con sempre preparata naturalmente! È una questione di pratica e tenersi aggiornati sulle aree che si sono sentite a corto. Grazie a Dio, risorse abbastanza buone da coprire una volta che le carenze di informazioni sono su Internet e Google è tuo amico.

Per quanto riguarda i riferimenti, consiglierei diversi siti Web che hanno domande di sfide per i programmatori. Da questi tipi di domande puoi determinare i tuoi difetti e studiare per loro.

Risorse da cercare:


7

L'unica cosa che puoi fare per prepararti a questo tipo di test è la pratica. Fai molta pratica . Ci sono molte buone risorse per l'aiuto dei programmatori, come topcoder, codegolf, geek per geek, Praxies di programmazione, CodeKata, Project Euler ecc.

In caso di problemi con le strutture dati, sarebbe meglio ripulire i concetti dell'algoritmo e della struttura dati. Il posto migliore per questo è wikipedia, ma puoi anche cercare corsi di dati algo su nptel, coursera, ecc ...


Stavo cercando più risorse come i libri, ma alcuni dei tuoi link sono stati nuovi e informativi.
Daniel Fath,

1
@DanielFath: leggere a riguardo aiuta, ma la risoluzione dei problemi è un'arte che deve essere praticata se vuoi diventare bravo. Nel mondo della scrittura di software, c'è un numero sorprendentemente elevato di problemi che vedrai ripetutamente. L'esperienza di averli risolti in precedenza ti dà la possibilità di individuare nuove variazioni e applicare rapidamente una buona soluzione.
Blrfl,

Concordo molto con la pratica, sto semplicemente esprimendo il desiderio di risorse più concrete , al fine di considerare la domanda risolta. Ho votato a fondo le risposte (diamine ho votato a tutti).
Daniel Fath,

4

I post di blog semi-ufficiali sul reclutamento di Google raccomandano questo libro: il manuale di progettazione degli algoritmi .

È molto completo e ben scritto, con una parte di "riferimento rapido" che può aiutare molto nella tua situazione, una volta che hai abbastanza familiarità con algoritmi e strutture dati comuni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.