Uno de los lenguajes de programación con más historia, e incluso, más seguidores es «C», pues es apreciado por la eficiencia del código que produce, además de que se ha visto es uno de los que mantendrá su popularidad para desarrollar en el 2015, de acuerdo a las empresas especializadas en tecnología.
Es por ello que los profesionales en las Tecnologías de Información deberán tener conocimientos fuertes conocimientos técnicos para estar preparados ante una entrevista de trabajo en la que será cuestionado el dominio que tienen de C. Algunas de las preguntas más comunes y básicas que tendrán que saber son:
- Explicar diferencia entre C y C++. Ten en cuenta que C es el predecesor de C ++.Además de que C ++ está orientado a objetos, es lenguaje no procedimental, a diferencia de C, que es un lenguaje de procedimientos. C ++ trata a todos los datos y la manipulación funcional en términos de objetos y sus relaciones.
- Construir una declaración de incremento o decremento. En realidad, hay dos maneras de hacer esto. Una de ellas es utilizar el operador de incremento ++ y operador de decremento -. Por ejemplo, la afirmación «x ++» significa para incrementar el valor de x en 1. Del mismo modo, la afirmación «x -» significa disminuir el valor de x en 1. Otra forma de escribir declaraciones de incremento es utilizar el convencional signo + más o signo – menos. En el caso de «x ++», otra manera de escribir es «x = x +».
- Menciona las clases de almacenamiento y los tipos. Las clases de almacenamiento se utilizan para determinar el alcance y el tiempo de vida de una función o una variable en la memoria del sistema. Hay cuatro tipos de clases de almacenamiento en C: registrar, estáticas, autos y externas, de los cuales auto se considera la clase de almacenamiento por defecto para las variables.
- Diferencia entre la declaración y la definición de una función. Declaración de una función en el código fuente, simplemente indica que la función está presente en alguna parte en el programa, pero la memoria no se asigna para ello. Declaración de una función de ayuda al programa a entender cuáles son los argumentos para esa función, sus tipos de datos y el tipo de retorno de la función.
- Menciona diferencias entre calloc y malloc. La principal diferencia entre los dos es que calloc (), cuando se utiliza para asignar un bloque de memoria, los contenidos asignados se inician a 0. malloc (), por otro lado, no inicializar el bloque de memoria asigna. La memoria sólo tiene valores aleatorios sobrantes de uso anterior.
- Definir stack. Un stack es una forma de una estructura de datos. Los datos se almacenan en pilas utilizando el FILO (First In Last Out) enfoque. En cualquier caso particular, sólo la parte superior de la pila es accesible, lo que significa que con el fin de recuperar los datos que se almacena dentro de la pila, los de la parte superior se debe extraer primero. Almacenamiento de datos en una pila también se conoce como un empujón, mientras que la recuperación de datos se conoce como un POP.
- Inicialización de variable e importancia. Esto se refiere al proceso en el que una variable se le asigna un valor inicial antes de que se utiliza en el programa. Sin inicialización, una variable tendría un valor desconocido, que puede conducir a las salidas impredecibles cuando se utiliza en los cálculos o otra operación.
Estas preguntas podrían parecer sencillas pero al momento de estar en una entrevista técnica de trabajo, debido a los nervios podrías flaquear, así que vale la pena hacer un último repaso de tus conocimientos. Además recuerda que debes tener un equilibrio entre habilidades técnicas y suaves para destacar entre los profesionales que se postulan por un trabajo.
Es la primera vez que yo recibo su blog en mi correo vi su artículos: Programadores de PHP en apuros Consejos para un trabajo inteligente, mas no duro. Y me parecieron muy buenos pero; este en particular no lo veo bien. el Paradigma Orientado a Objetos POO es lo que esta haciendo posible el hacer mejores desarrollos con tiempos mas eficientes, permitiendo enfrentar mejor la complejidad de hacer un programa. Y ustedes sugieren el uso de un lenguaje que nos regresa décadas atrás donde la programación por clases no existe como algo bueno para el año que entra. Un profesionista de TI dedicado al desarrollo tiene el reto constante de ofertar y elaborar una solución en software para la organización donde se encuentre trabajando, la cual debe capaz de solucionar las necesidades presentes y la misma tiene que ser capas de poder adaptarse a los cambios de esas necesidades. Algo procedimental como C hace complejo el poder dar algo asi.
Hola David,
Muchas gracias por las críticas, aunque nos centramos sólo en C sin demeritar el uso de los otros lenguajes, ya que entendemos que cada uno tiene su funcionalidad y el hecho de que un programador tenga más conocimientos lo enriquecerán, aunque de antemano pedimos una disculpa, ya que se pudo entender otra cosa debido a la deficiencia en redacción como nos recalcó Juan. Así que mejoraremos este y a su vez en un futuro hablaremos de C++ y otros más.
Saludos.
David, el articulo no menciona que prefieran anteponer el lenguaje C al C++, lo malo del articulo es que tiene varias deficiencias en redaccion, asi como algunas deficiencias tecnicas tambien, y con respecto a lo que mencionas, la unica ventaja de los lenguajes orientados a objetos es la velocidad de desarrollo, si investigas un poco, lenguajes como C, Fortran, COBOL, aun se usan bastante para aplicaciones muy especificas, como pueden ser desarrollo de sistemas operativos, supercomputo, compiladores, aplicaciones de banca, etc.
Hola Juan,
De antemano agradecemos la observación, en breve corregiremos el post, ya que también aprendemos de sus comentarios y críticas. Como indicas todos los lenguajes tiene una función en específica por lo que es importante conocerlos y claro especializarse, ya con anterioridad habíamos sacado un contenido respecto a COBOL pues tiene una gran importancia para el desarrollo.
Saludos.