Domanda

Sono uno sviluppatore C ++, Unix, principalmente nel settore dei sistemi, dominio del prodotto. Vorrei intraprendere un progetto collaterale per migliorare le mie capacità in quanto segue:

  • Design orientato agli oggetti
  • Programmazione multithread, con ampio ambito per mutex e semafori
  • Comunicazioni tra processi in Unix
  • Elementi Core C ++ (vuoi usare modelli, gestire eccezioni, usare puntatori intelligenti e altro)

Ho un discreto "bookish" conoscenza di quanto sopra ma non ho abbastanza opportunità per sporcarmi le mani. Recentemente sono andato per un'intervista e mi hanno dato problemi di vita reale davvero buoni (e difficili) da quanto sopra e ho fallito miseramente. Da qui questo sforzo :-)

Sto guardando qualcosa come un progetto di 6 mesi, trascorrendo circa 3 ore al giorno. Qualsiasi suggerimento sarebbe fantastico.

Grazie.

È stato utile?

Soluzione

Con quel tipo di tempo extra e motivazione, potresti anche essere pagato mentre ti alleni! http://www.rentacoder.com

Per una buona sfida, prova una sorta di applicazione di rete. Forse un server che segnala lo stato del sistema. Cose che impareresti:

  • Programmazione socket.
  • Gestione degli eventi asincroni.
  • Multithreading (gestire una richiesta in attesa della successiva).
  • Chiamate di sistema, per recuperare le informazioni sullo stato
  • Molto utili capacità di debug nel mondo reale.
  • Pazienza. : -)

Buona fortuna, divertiti!

Altri suggerimenti

Il suggerimento di Adam è buono - ma se sei più propenso a farlo solo per te stesso e divertirti, implementerei un gioco d'azione multiplayer di rete usando OpenGL, OpenSceneGraph o uno degli altri orientati al gioco toolkit là fuori.

Puoi farne sport a Top Coder .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top