Red de conocimiento informático - Consumibles informáticos - Entrevista con Freescale

Entrevista con Freescale

Entrevista sobre Freescale

2008-03-18 18:16 Puede que no sea muy formal. Muchas de las preguntas utilizaron las preguntas originales de Bell.

Ahora de repente lo recordé, elige dos párrafos, no hagas una pregunta que aún no hayas visto y no puedas hacer ~

Pregunta de prueba de C++/C

Esta pregunta solo se utiliza para examinar las habilidades básicas de programación de los programadores de C++/C. El contenido se limita a la sintaxis común de C++/C y no involucra estructuras de datos.

Estructuras, algoritmos y sintaxis esotérica. Los puntajes de las pruebas pueden reflejar la calidad de programación del candidato y su comprensión de C++/C, pero no pueden reflejar la inteligencia y las capacidades de desarrollo de software del candidato.

La prueba escrita tiene una duración de 90 minutos. Por favor responda las preguntas cuidadosamente y no las subestime.

1. Complete la declaración if comparando las variables BOOL, flotante y de puntero con "valor cero". (10 puntos)

Consejo: El "valor cero" aquí puede ser 0, 0,0, FALSO o "puntero nulo". Por ejemplo, la declaración if que compara la variable int n y el "valor cero" es:

If (n == 0)

If (n! = 0)

Y así sucesivamente.

Escriba una declaración if que compare el indicador BOOL y el "valor cero":

Escriba una declaración if que compare el punto flotante x y el "valor cero":

Escriba una declaración if que compare char *p y "valor cero":

2. El siguiente es un programa C++ de 32 bits en Windows NT. Calcule el valor de sizeof (10 puntos).

char str[]= "Hola"; char * p = strint n = 10; calcule sizeof (str)

= sizeof ( p ) = sizeof ( n ) = void Func(

Char str[100]){Calcule el tamaño de (str) =}

void * p = malloc(100); calcule el tamaño de (p) =

3. Preguntas de respuesta corta (25 puntos)

1. ¿Para qué sirve ifndef/define/endif en el archivo de encabezado?

2. ¿Cuál es la diferencia entre #include e #include "nombre de archivo. h"?

3.¿Para qué sirve const? (Especifique al menos dos)

4. ¿Por qué es necesario agregar una declaración "C" al llamar a una función compilada por un compilador de C en un programa de C++?

5. Describa brevemente las ventajas y desventajas de los siguientes dos bucles for.

//El primero for(I = 0; I ing();}//El segundo if (condición){ for(I = 0; I for(I = 0; 1. Ventajas :Desventajas :Ventajas:Desventajas:

4. Preguntas para pensar sobre la memoria (20 puntos)

void get Memory(char * p){ p =(char *)malloc(100 ); void Test(void) {char *str =

NULLGetMemory(str); strcpy(str, "hola mundo"); printf(str } Por favor, dígame cómo ejecutar la función de prueba

¿Cuál es el resultado? a:char * get memoria(void){ char p[]= " hola mundo "

} void Test(void){ char * str =; NULL; str = GetMemory(); printf(str); Ejecute la prueba.

¿Cuál será el resultado de la función? Respuesta:

Void GetMemory2(char **p, int num){ * p = (char *)malloc(num);} prueba no válida (void){c

har * str = NULLGetMemory(& str, 100); strcpy(str, "hola"); printf(str);

¿Cuál será el resultado de probar la función? Respuesta: Void test(Void){ char * str = (char *)malloc(1

00); strcpy(str, "hola"); if (str! = NULL) { strcpy(str, "

World"); printf(str }} ¿Qué sucede si ejecuta la función de prueba? Respuesta:

5. Escribe la función strcpy (10 puntos)

Se sabe que el prototipo de la función strcpy es

char *strcpy(char *strDest, const char * str src);

Donde strDest es la cadena de destino y strSrc es la cadena de origen.

(1) No llame a la función de biblioteca de cadenas C++/C, escriba la función strcpy.

(2) strcpy puede copiar el contenido de strSrc a strDest, entonces, ¿por qué se necesita un valor de retorno de tipo char *?

6. Escribe el constructor, destructor y función de asignación de cadena (25 puntos)

El prototipo de la clase de cadena conocida es:

Cadena de categoría

p>

{

Público:

string(const char * str = NULL // Constructor ordinario

Cadena de caracteres(const string & amp); other); //Copiar constructor

~ String(void); //Destructor

Cadena y cadena. operar = (cadena constante y otras); //Función de asignación

Privada:

char * m_data//Se usa para guardar cadenas.

};

Escriba las cuatro funciones anteriores de String.