Red de conocimiento informático - Espacio del host - Quiero realizar el examen de programador senior, ¿qué preparativos debo hacer?

Quiero realizar el examen de programador senior, ¿qué preparativos debo hacer?

Primero elige un lenguaje de programación y una plataforma de sistema operativo.

Las plataformas de sistemas operativos más populares en China son Windows, Linux (Unix) y Mac OS. En términos generales, todos eligen la plataforma Windows, porque esta plataforma es un sistema operativo monopolizado en China y hay muchas herramientas de desarrollo excelentes para elegir. La desventaja es que la apertura de la plataforma Windows no es alta y es difícil de elegir. explorar la capa inferior (Pero me disgusta bastante la idea de hablar de la capa inferior. No todos los desarrolladores necesitan conocer muy bien la capa inferior. Hacer un sistema que satisfaga a los usuarios es lo fundamental que perseguimos. Jugar con la Los trucos de la capa inferior son solo una especie de autosatisfacción. Por supuesto, necesitamos algunos maestros que dominen la tecnología subyacente, pero esto es una cuestión de elección personal), y los programadores que están acostumbrados a Windows son relativamente débiles en configuración, secuencias de comandos, etc. Linux es una plataforma de código abierto. Por supuesto, en teoría puedes controlar todo lo relacionado con Linux, pero ¿cuántas personas pueden alcanzar este nivel? Los programadores que recién comienzan a aprender a desarrollar solo pueden desarrollar algunas aplicaciones de software en Linux. Las herramientas de desarrollo en Linux no son lo suficientemente fáciles de usar, pero esta situación se está aliviando gradualmente. Eclipse es una excelente plataforma de desarrollo. Al desarrollar en Linux, puede obtener una gran cantidad de código fuente excelente y todo es transparente (siempre que lo desee), pero debe aprender muchas instrucciones de la línea de comandos, dominar varias configuraciones y scripts de parámetros y sistemas.

Elegir un lenguaje de programación es aún más problemático. No sé mucho al respecto. Para algunos lenguajes, no puedo dar ninguna sugerencia, así que tengo que esperar a que los expertos en este campo me agreguen. él. Solo estoy dando algunas explicaciones sobre C++ y Java. Por supuesto, esto solo se basa en la experiencia personal y definitivamente no es una opinión autorizada:P

C++ sigue siendo el lenguaje de desarrollo principal (para obtener más detalles, puede hacerlo). Lea la información relevante en la discusión de TCPL), y el desarrollo o desaparición de un lenguaje es un proceso gradual. En el futuro previsible, C ++ seguirá siendo un lenguaje de desarrollo importante, pero creo que sus campos y direcciones específicos pueden ajustarse más. Un cambio importante es que C++ se retirará gradualmente del mercado de sistemas MIS comerciales. La razón para elegir C ++ es que existen los mejores libros y herramientas de desarrollo sobre C ++, y los recursos relacionados también son extremadamente ricos. Después de dominar el desarrollo de aplicaciones generales, puede aprender varias tecnologías en profundidad sin transición, porque en esto. En la etapa, se explica la capa inferior del sistema. Los libros sobre tecnologías arcanas y avanzadas básicamente utilizan C\C++ como lenguaje de ejemplo. Junto con la plataforma de desarrollo cuidadosamente diseñada de Microsoft, Visual Studio, o la serie C++ Builder de Borland, el aprendizaje es aún más poderoso. Pero las deficiencias actuales de C ++ también son relativamente obvias. Mi sentimiento más profundo es que no es compatible con XP y Agile Development.

Java simplifica la sintaxis de C++ y es más fácil de aprender (pero con la creciente popularidad y desarrollo de Java, no me atrevo a decir si podrá continuar manteniendo esta ventaja). La plataforma soporta todo el proceso de XP: diseño, pruebas, codificación, reconstrucción... El lenguaje principal para el desarrollo ágil de software en esta etapa es Java. Y las funciones multiplataforma de Java son una gran ventaja.

De hecho, no importa qué idioma elijas. Simplemente elige de acuerdo con tu plan de desarrollo y el entorno actual que te rodea. No es necesario seguir la tendencia.

Bien, suponiendo que elijas C++ como lenguaje de desarrollo y desarrolles en la plataforma Windows, te daré las siguientes sugerencias de aprendizaje (agrega activamente otras opciones...):

El aprendizaje del lenguaje C ++ es, por supuesto, la base en esta etapa, dado que no tenemos ninguna experiencia de desarrollo en una plataforma específica, solo podemos ingresar y ejecutar los ejemplos uno por uno en el libro, despidiéndonos de la interfaz gráfica familiar. por el momento y volviendo al antiguo DOS.

La selección de libros de referencia es una preocupación para muchos amigos en esta etapa. "Essential C++" y "C++ Primer" de Stan Lippman son mis recomendaciones prioritarias, y "Essential C++" es más corto, tiene contenido explicativo apropiado y usa C++ STL. Hay muchas descripciones que parecen bastante prácticas y creo que es la más adecuada para principiantes. No importa qué libro elijas como libro de texto introductorio, debes digerirlo uno por uno, no seas demasiado rápido, pero al mismo tiempo debes concentrarte en el contenido clave. Todo lo que aprendemos es para resolver problemas prácticos, así que concéntrese en las partes más utilizadas en nuestra práctica, en lugar de profundizar demasiado en algunos detalles y tecnologías oscuras y poco comunes.

En este momento nos encontraremos con muchos problemas que parecen muy simples e ingenuos en retrospectiva, como por qué ocurren errores de compilación, por qué falla la compilación al ingresar de acuerdo con los ejemplos del libro, el archivo de encabezado no se puede encontrado, etc. En términos generales, este es el caso. Esto se debe a que acabo de entrar en contacto con el desarrollo de programas, mi comprensión de los programas aún es muy rudimentaria y no sé lo suficiente sobre el entorno de desarrollo utilizado. diferentes niveles de soporte para C++ estándar. Lea la documentación diversa sobre el entorno de desarrollo que está utilizando y consulte la documentación de ayuda. Tomando Visual C++ y MSDN, que uso con mayor frecuencia, cuando ocurre un error de compilación que no puedo entender, presionar la tecla F4 saltará automáticamente a la ubicación del error actual y la siguiente ventana de salida también mostrará el código de error (como C ××××), escriba el código de error, abra MSDN, ingrese el código de error en la columna de índice, puede encontrar una descripción detallada del error, por supuesto, en inglés (no pregunte qué debe hacer si no sé inglés), que es un requisito básico). Las herramientas de desarrollo actuales son muy convenientes para la resolución de problemas. Por supuesto, a veces la causa de muchos errores no es dónde lo indica el compilador, sino en algún lugar hacia adelante o hacia atrás. La experiencia de programación a largo plazo puede mejorar la velocidad de detección de errores. Practique también técnicas de depuración en este momento.

En esta etapa, siempre que pueda dominar los elementos básicos del lenguaje C++, tener cierta comprensión de la programación estructurada y el diseño basado en objetos y poder completar algunos programas pequeños y simples, será Después de todo, los programas de DOS son muy difíciles ahora, lo que despierta nuestro deseo de aprender: P Después de esto, puede decidir si aprender la estructura de datos de acuerdo con su propia situación es un curso obligatorio para los programadores. su estado es muy importante Incluso si desea ingresar al mundo del desarrollo de programas de interfaz gráfica de inmediato, también le recuerdo que se ponga al día con esta lección lo antes posible.

Por fin podemos entrar en el mundo de los gráficos. Tenemos que empezar con la programación del SDK. No te preocupes, esto no te llevará mucho tiempo, pero es un buen momento para tener un conocimiento profundo del funcionamiento. Mecanismo de los programas de Windows. Aquí todos mis esfuerzos no serán en vano (créame, no hay libros de referencia para considerar en este momento). El básico es "Programación de Windows" de Charles Petzold y el avanzado es "Windows Core". Programación". Comience con "Programación de Windows". El libro de Charles Petzold es fácil de entender y muy fácil de aprender, y no requiere grandes conocimientos de lenguaje. Solo necesita saber C.

La mayoría de los problemas que puede encontrar en este momento están relacionados con la configuración del proyecto. Si usa Visual C++, presione Alt+F7 para abrir el cuadro de diálogo de configuración del proyecto y verificarlo cuidadosamente y leer los documentos relevantes. y familiarizarse con el significado de cada configuración.

En esta etapa, concéntrese en dominar el método de escritura de los programas SDK de Windows, el mecanismo de ejecución de los programas de Windows y el mecanismo de mensajes de Windows, y las API de Windows de uso común. Podemos ir un paso más allá: intentar utilizar el conocimiento de C++ aprendido en la etapa anterior para realizar una transformación preliminar del programa SDK de procedimiento y hacer que el programa que escribimos en la computadora sea reutilizable, de acuerdo con nuestra propia comprensión del pensamiento basado en objetos. y pensamiento orientado a objetos. Comprender y reescribir el programa de ejemplo.

Bien, ahora ha comenzado a comenzar, domina el uso básico de C ++, tiene una comprensión vaga y moralista de la orientación a objetos y también puede escribir programas de Windows, aunque todavía es un poco Simple y un poco complicado, pero después de todo es una interfaz gráfica. Empezando a sentir algo, ¿verdad? :P No se apresure a avanzar, deténgase y establezca una base sólida de C ++ y Windows SDK, no muerda más de lo que puede masticar.

En este momento, hay muchos libros clásicos esperando que los domine y hay temas casi ilimitados para que practique. Lea tanto como sea posible y acceda a los siguientes recursos: "C++ Primer", "Windows Core Programming" y "Application Debugging". Tecnología "Desarrollo y diseño orientado a objetos La sección Platform SDK y la sección de publicaciones periódicas del libro MSDN (contiene una gran cantidad de valiosos artículos técnicos sobre C ++ y SDK). El código fuente relevante en CodeProject es un buen material de aprendizaje complementario

Ahora continúe. Después de todo, usar SDK para desarrollar a veces requiere demasiado tiempo y trabajo. Es mejor usar marcos de desarrollo de aplicaciones más avanzados. Estoy cansado de escuchar los principales. Debate sobre cuál de estos frameworks es mejor o peor. En una frase, puede ayudarnos a completar la tarea, no son más que herramientas, puedes elegir lo que quieras. Pero después de hacer su elección, debe comprender que cuanto más comprenda su herramienta, más poderosa será. Si elige MFC, le recomiendo estudiar los siguientes libros: "Introducción detallada a MFC": No hace falta decir que este libro, aunque algunas personas lo siguen menospreciando, su estado es incuestionable y también es el más útil para mí. de los libros. "Programación MFC" "Visual C++ Technology Insider"

Entonces deja de buscar libros, los innumerables códigos fuente en los sitios de desarrollo en línea son los mejores maestros...

Volver a la página primero

¿Qué debo hacer si encuentro problemas durante el proceso de aprendizaje?

Siempre creo que los problemas encontrados en el proceso de aprendizaje del desarrollo de software solo se pueden resolver haciendo todo lo posible para resolverlos. Para aquellos que publican problemas en línea con frecuencia y esperan que los expertos los ayuden a resolverlos, lo recomiendo encarecidamente. No estoy de acuerdo con este enfoque, porque no aprenderá mucho de él. Lo que te sugiero es que primero intentes resolver el problema por tu cuenta. Es normal que dediques unas horas a resolver un problema cuando realmente no puedes hacerlo. resuelto, intente reducir el alcance del problema tanto como sea posible. Resuma el problema y inicialmente forme su propia conclusión, luego use el motor de búsqueda o la función de búsqueda en el foro de desarrollo para buscar respuestas a sus preguntas; Ninguno, publica para pedir ayuda. Por favor, comprenda una cosa: los problemas que encontró los han encontrado otros y debe haber soluciones listas para usar en Internet (porque aún no ha alcanzado el nivel de desarrollo e investigación de problemas sin precedentes: P). puede encontrarlo o no. Haga todo lo posible para utilizar los recursos existentes en lugar de molestar a los demás.

El foro de CSDN y la documentación en línea de MSDN son muy buenos recursos. Básicamente, podemos encontrar respuestas a los problemas que encontramos aquí.