Ronda de selección con el gerente de contratación (1 hora y 30 minutos):
- Se le preguntó sobre los proyectos actuales de la empresa y el lenguaje de codificación. en el que he trabajado. La experiencia de C++ es muy imp. para ellos.
- ¿Cómo te calificas en C++, principiante/intermedio/excelente? dije intermedio
- Diff b/w malloc y new que conducen a una discusión sobre Constructores. Escriba la sintaxis para el constructor de copias. ¿Por qué el argumento para copiar el constructor se pasa como referencia?
- https://www.geeksforgeeks.org/merge-3-sorted-arrays/ . Primero dijo el enfoque de fusión usando 2 arrays a la vez. Pero eso necesita más espacio extra. Entonces, el entrevistador pidió reducir la complejidad del espacio a O(1). Luego, se le dijo al enfoque que usara una array adicional de tamaño 3. Se requería un código de trabajo.
- https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/
- https://www.geeksforgeeks.org/count-set-bits-in-an-integer/
- https://www.geeksforgeeks.org/detect-loop-in-a-linked-list/
- https://www.geeksforgeeks.org/puzzle-set-35-2-eggs-and-100-floors/
- https://www.geeksforgeeks.org/maximum-sum-path-across-two-arrays/
Indiqué el enfoque de usar árboles/gráficos y luego verifiqué cada posibilidad, pero no pude escribir el código. El entrevistador me dijo el enfoque correcto y terminó la entrevista.
Ronda Técnica (1 hora):
- Preguntado sobre los proyectos actuales de la empresa.
- Cuando me preguntaron si había trabajado en funciones de C++ 11 como el constructor de movimientos, los punteros inteligentes, etc. Le dije que no había trabajado, pero que tenía una idea al respecto.
- Diferencia b/w memory mgmt usando malloc y new
- Dadas 2 listas enlazadas que contienen datos de un solo dígito, ambas tienen la misma longitud. Discusión sobre diferencias. Enfoques para agregar 2 listas vinculadas
L1 : 3 -> 5 -> 7 L2 : 4 -> 4 -> 5 L3 : 8 -> 0 -> 2 add (L1, L2)
- Le dije al enfoque que invirtiera la lista vinculada y luego realizara la adición, luego agregó la restricción de que la lista vinculada no se puede modificar
- Le dije al enfoque que lo hiciera usando recursividad, ya que tenía una complejidad de espacio de O (n) para llamadas de pila, pidió hacerlo en el espacio constante
- Dio una pista de que si la suma de 2 dígitos <= 8, entonces no se propagará hacia atrás. entonces, mantenga 2 punteros previos, apuntando a Nodes tales que su suma <= 8 y 2 punteros actuales si la suma de punteros actuales es> = 10, luego de anterior a actual, necesitamos propagar el acarreo. Pidió atravesar los Nodes de la lista de entrada solo una vez
- El enfoque fue que necesitamos mantener ptr del último Node de suma con sum<=8 y tan pronto como sum>=10, significa que desde el Node anterior al actual, todos los Nodes de suma son cero.
https://www.geeksforgeeks.org/add-the-given-digit-to-a-number-stored-in-a-linked-list/ -> extensión de este problema
Ronda Técnica (2 h):
- Preguntado sobre los proyectos actuales de la empresa.
- ¿Qué es la función virtual y su implementación interna?
- Pregunta basada en resultados
C++
class
A{
int
a;
public
:
void
show(){
cout<<
"show"
;
}
void
show1(){
cout<<
"show1:"
<<a;
}
};
int
main() {
A* ptr=NULL;
a->show();
//will program crash-?
a->show1();
//will program crash-?
return
0;
}
También preguntó la razón.
- Se le pidió que implementara BST (insertar, imprimir) en C++. Lo implementé con funcs. Luego pidió implementarlo usando las características de encapsulación y abstracción de C++. Mantuve la estructura Node fuera de mi clase Tree. Pidió ponerlo dentro de la clase Tree y preguntó sobre las clases internas. Luego me pidió que lo hiciera genérico, lo hice. Además, pidió definir su propio DS (que tiene 2 enteros) para el Node del árbol, se requirieron muchas modificaciones para eso en el código. Se agregó el código de sobrecarga del operador para la comparación de objetos MyDS en blanco y negro. Pero la función de impresión también debe corregirse. Para eso se requería la función de amigo. Me pidió que aceptara la ayuda de Google.
- https://www.geeksforgeeks.org/puzzle-21-3-ants-and-triangle //en mi caso en lugar del triangulo era cuadrado
- http://www.crazyforcode.com/3-mislabeled-jars/
- Cuando se le preguntó sobre el problema del árbol, discutió por qué estamos regresando ostream de la función de amigo.
- Luego pregunta de comportamiento por qué quieres cambiar. También hablé de sinopsis.
Ronda de directores (30 minutos): debate general sobre el trabajo y la cultura laboral
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