Pregunta

Soy un desarrollador de C ++, Unix, principalmente en el lado de sistemas, dominio de producto. Me gustaría comenzar un proyecto paralelo para mejorar mis habilidades en lo siguiente:

  • Diseño orientado a objetos
  • Programación multiproceso, con amplio margen para mutexes y semáforos
  • Comunicaciones entre procesos en Unix
  • Core C ++ stuff (quiero usar plantillas, manejar excepciones, usar punteros inteligentes y cosas)

Tengo decente " bookish " conocimiento de todo lo anterior, pero no tengo suficientes oportunidades para ensuciarme las manos. Hace poco fui a una entrevista y me dieron problemas realmente buenos (y duros) de la vida anterior y fallé miserablemente. De ahí este esfuerzo :-)

Estoy mirando algo así como un proyecto de 6 meses, que pasa aproximadamente 3 horas diariamente. Cualquier sugerencia sería genial.

Gracias.

¿Fue útil?

Solución

Con ese tipo de tiempo extra y motivación, ¡puede que te paguen mientras entrenas! http://www.rentacoder.com

Para un buen desafío, intente algún tipo de aplicación de red. Tal vez un servidor que informa del estado del sistema. Cosas que aprenderías:

  • Programación de sockets.
  • Manejo asíncrono de eventos.
  • Múltiples subprocesos (manejar una solicitud mientras se espera la siguiente).
  • Llamadas del sistema, para recuperar la información de estado
  • Muy útiles habilidades de depuración en el mundo real.
  • Paciencia. :-)

¡Buena suerte - disfruta!

Otros consejos

La sugerencia de Adam es buena, pero si estás más inclinado a hacerlo solo y divertirte, implementaría un juego de acción multijugador en red utilizando OpenGL, OpenSceneGraph o uno de los otros juegos orientados a juegos. kits de herramientas por ahí.

Puedes hacer deporte con él en Top Coder .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top