Ronda 1 (entrevista técnica) : se hicieron tres preguntas de codificación junto con algunas preguntas de salida de C++.
- https://www.geeksforgeeks.org/pairwise-swap-elements-of-a-given-linked-list/ – Me pidieron escalar la lógica implementada para k > 2. (Similar a esta pregunta: https:// www.geeksforgeeks.org/reverse-a-list-in-groups-of-given-size/ )
- https://www.geeksforgeeks.org/kth-largest-element-in-bst-when-modification-to-bst-is-not-allowed/
- https://leetcode.com/problems/keys-and-rooms/
- Se hicieron preguntas de salida de C++ basadas en el constructor y el destructor.
Ronda 2 (entrevista lógica) : se hicieron algunas preguntas matemáticas para verificar la capacidad lógica.
- En un grupo de 7 niños y 5 niñas, se van a seleccionar cuatro niños. Encuentre la cantidad de formas en que se pueden seleccionar de tal manera que al menos un niño siempre esté allí.
- Se lanzan dos dados juntos. Encuentra la probabilidad de obtener una diferencia de 1 entre los números que aparecen en los dados.
- Rompecabezas : https://www.geeksforgeeks.org/puzzle-heads-or-tails/
- Se le pidió que obtuviera la complejidad temporal de la siguiente función. Compruebe si se puede optimizar, en caso afirmativo, obtenga la complejidad de tiempo de la función optimizada.
C++
unsigned
int
power( unsigned
int
x, unsigned
int
n) {
if
(n == 0)
return
1;
if
(n%2 == 0)
return
power(x,n/2) * power(x,n/2);
else
return
x * power(x,n/2) * power(x,n/2);
}
Ronda 3 (Entrevista Técnica) –
- Tensor 4D almacenado en array 1D: Convertir NCHW -> NHWC
Entrada: N=1, C=3, H=2, W=2 -> 1 2 3 4 5 6 7 8 9 10 11 12
Salida: N=1, H =2, W=2, C=3 -> 1 5 9 2 6 10 3 7 11 4 8 12 - https://www.geeksforgeeks.org/search-an-element-in-a-sorted-and-pivoted-array/
- https://www.geeksforgeeks.org/design-a-stack-that-supports-getmin-in-o1-time-and-o1-extra-space/
- Implemente align_Malloc (tamaño int, alineación int) de modo que acepte la cantidad de bytes que se asignarán y la alineación. Ej: si align = 10, y la función malloc devuelve la dirección 123, entonces devuelve 120 o 130.
- Se hizo una pregunta basada en el relleno de la estructura y el operador de compensación.
- Puzzle : Hay un torneo de tenis de 128 jugadores. Comparten una propiedad transitiva entre ellos, si A vence a B, B vence a C, entonces A vencerá a C. Averigüe la cantidad mínima de partidos necesarios para obtener el mejor y el segundo mejor jugador entre 128. [El objetivo principal era obtener el segundo mejor jugador]
Ronda 4 (Entrevista Técnica + Conductual)
- Me preguntaron sobre mis proyectos de los que estoy orgulloso. Luego me preguntan sobre los desafíos que enfrenté, lo que aprendí, etc.
- Se hicieron algunas preguntas de salida de C++ basadas en el concepto de función virtual y el concepto de constructor de copias.
- https://www.geeksforgeeks.org/intercambiar-dos-números-sin-usar-variable-temporal/
- Escriba un código C de subprocesos múltiples con un subproceso que imprima todos los números pares y el otro todos los números impares. La salida siempre debe estar en secuencia, es decir. 0,1,2,3,4….etc.
[ https://gist.github.com/jmurudi/7a2fc49e855cb0b308d19f277c7e12b7 ]: los entrevistadores querían verificar el concepto de subprocesos múltiples, mutex, variable de condición, etc.
Ronda 5 (Entrevista Técnica + Conductual)
- Se hicieron algunas preguntas sobre mis proyectos: roles y responsabilidades, lo que aprendiste, cualquier mejora o modificación realizada por tu parte, etc.
- Diferencia entre mutex y semáforo ya que algunos de mis proyectos se basaron en subprocesos múltiples.
- ¿Qué problema puede ocurrir si dos subprocesos intentan acceder al mismo recurso? -> Respondí sobre el comportamiento indefinido, el orden de ejecución puede resultar diferente. Pidió que explicara algún ejemplo.
Luego me pidieron que pensara en cualquier otro tema. -> Puede ocurrir interbloqueo. - Condición para interbloqueo, ¿cómo podemos evitar el interbloqueo?
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