Ingeniero de I+D de Nokia Networks Off Campus Drive para 2020 estudiantes desmayados. Esta unidad consistió en cuatro rondas.
Primera ronda : Ronda de prueba en línea de AMCAT
Esta ronda consistió en un conjunto de preguntas de los temas
- Inglés (Comprensión y otros)
- Aptitud cuantitativa
- Capacidad de razonamiento
- Codificación (2 preguntas de nivel básico que solo se pueden codificar en C/C++)
La plataforma era tal que tuve que seleccionar cuidadosamente una respuesta. No pude volver a las preguntas anteriores una vez que pasé a la siguiente pregunta (excepto las de Codificación). Sin marcado negativo.
2 días después, me llamaron para la segunda ronda.
Segunda ronda : ronda técnica de un ingeniero sobre los conceptos básicos de C/C++
Fue una entrevista de 1 hora y media de duración. El entrevistador fue muy amable y educado. Después de una presentación básica de cada uno, me preguntó sobre un proyecto en particular de la lista de 4 proyectos que había mencionado en mi currículum. Todos mis proyectos fueron codificados en Java o Python. Había usado C++ solo para la codificación competitiva y se lo conté. Luego me pidieron que calificara mi conocimiento de C/C++. Luego procedió a hacer las siguientes preguntas:
- ¿Qué es un puntero ? ¿Qué indica el símbolo ‘*’ (relacionado con el puntero)?
- ¿Cuál es el resultado si imprime una variable de puntero?
- ¿Cuál es la diferencia entre «declaración» y «definición» de una variable ?
- ¿Qué es una variable de referencia en C++ ?
- Diferencia entre llamada por valor y llamada por referencia .
- Asignación dinámica de memoria en C y cómo se hace.
- ¿Cuál es la diferencia entre la función «malloc()» y «calloc()» ?
- Explicar en detalle el diseño de memoria del programa C. Cruzado cuestionado sobre roles de varios niveles.
- ¿Cuál es la diferencia entre «stdio.h» y <stdio.h>?
- ¿Qué es una variable estática ? Diferencia entre variable estática y variable global.
- ¿Qué valor de la variable estática no inicializada se mostrará cuando se imprima?
- ¿Qué es una clase? Conceptos básicos de OOPS .
- ¿Qué es un constructor ? ¿Qué devuelve cuando se llama?
- ¿Qué es un constructor de copias ?
- Da un ejemplo de herencia en C++ (tenía que escribir código)
- ¿Cuál es el problema del diamante en C++ ?
- ¿Qué es una función estática ? ¿Cómo podemos llamar a una función sin crear su objeto?
- ¿Qué son los especificadores de acceso ? ¿Cuál es el especificador de acceso predeterminado en C++ cuando no se menciona ningún especificador específico? Alcance de cada especificador.
- Me dieron un problema básico de programación en C++ para codificar. Si se proporciona una lista enlazada (por ejemplo: 10 -> 20 -> 30 -> 40 -> 50 -> 60). Comenzando con el primer índice como 0, si un valor de índice de entrada se da como n, haga una nueva lista enlazada comenzando con el índice n de la lista dada y terminando con la anterior. (En el ejemplo anterior, si n=4, la nueva lista sería 50 -> 60 -> 10 -> 20 -> 30 -> 40)
- ¿Cómo leerá/escribirá una variable privada de un objeto? (usando las funciones Getter y Setter)
Me preguntó si me sentiría cómodo cambiando a C/C++ desde Java, a lo que dije «sí».
Tercera ronda : ronda de gestión por un miembro senior de un equipo.
Esta entrevista tomó alrededor de una hora. Él fue muy amable también. Después de una ronda de introducción básica, me preguntó acerca de mi viaje de programación competitiva durante la universidad (mencionado en el currículum) y me preguntó sobre el problema más desafiante que había resuelto. Me interrogó sobre varios aspectos, como cuáles eran los casos de prueba de esquina/únicos que había considerado, etc. Después de una breve discusión al respecto, me preguntó lo siguiente
- Conceptos básicos de los punteros (otra vez)
- Supongamos que hay una función que realiza la asignación de memoria dinámica (DMA) y una función que desasigna una memoria asignada. Hay varios subprocesos que realizan DMA y hay subprocesos correspondientes que desasignarían la memoria. En el caso de un sistema no sincronizado donde es posible la implementación paralela de subprocesos, puede surgir el problema de que los subprocesos de desasignación de memoria se ejecuten incluso antes de que su correspondiente subproceso DMA se implemente por completo. ¿Cómo se puede evitar este problema?
- Escriba un pseudocódigo que encuentre un elemento medio de una lista enlazada dada solo en una iteración.
La segunda pregunta tomó el tiempo máximo de unos 30 minutos, ya que se discutieron varios aspectos/conceptos. Me preguntaron lo siguiente:
- ¿Por qué Ingeniero de Software?
- ¿Dónde te ves dentro de 10 años?
- ¿Cuál, según usted, es una situación difícil en su vida profesional y cómo la manejará?
- Supongamos que se presenta un proyecto desafiante en el que se necesita mucho aprendizaje sobre ese dominio para construir el producto. ¿Cómo manejarás la situación?
- ¿Algún plan para un máster?
Luego me preguntó si tenía alguna pregunta. Pregunté sobre más detalles de mi papel y también hice preguntas cruzadas.
Cuarta ronda (ronda de recursos humanos): una persona de alto nivel de recursos humanos tomó esta ronda. Después de una breve presentación el uno del otro durante aproximadamente un minuto, me preguntó lo siguiente:
- Supongamos que un cliente le pide que cree una herramienta que calcule el EMI en un conjunto determinado de entradas (salario, tasa de interés, período de tiempo, etc.), ¿qué le preguntaré al cliente?
- Un compañero/superior tuyo sigue interrumpiéndote cada vez que intentas hablar en una reunión. ¿Cómo manejarás una situación así?
Luego discutió los desafíos del papel, etc. Fui seleccionado para el papel.
Sugerencias : cepille sus conocimientos básicos de C/C++ tanto como sea posible. Tener habilidades de comunicación buenas/agradables, explicar paso a paso y ser honesto con las respuestas (especialmente las técnicas). Para algunas preguntas, no sabía la respuesta, y los propios entrevistadores me dieron una pista con la que podía llegar a la respuesta.
En general, fue una experiencia fluida.
¡Buena suerte!
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA