Mentor Gráficos Entrevista Experiencia| Conjunto 6 (en el campus para estudiantes de primer año)

Este año, Mentor Graphics vino a nuestro campus para contratar nuevamente. Hubo alrededor de 40-45 estudiantes de CST, ETC, IT que fueron preseleccionados según su CGPA.

Fueron tres rondas en total.

Ronda 1: (Prueba escrita)

La duración fue de 90 minutos. Tuvo tres secciones.

a.Software
b.Digital
c.Analítico

a.La parte del software tenía las siguientes preguntas:
1.

int * func()
{
   int a;
    ...

    return &a;
}

Identifique cualquier problema con este código y explíquelo. Enlace

struct st {
  int x;
  char y;
  void *ptr;
}; 

¿Cuál es el tamaño de esta estructura en máquinas de 32 y 64 bits?

3. Escribe el código para encontrar el espejo de un árbol. Enlace 

4. Dada una array, gire a la izquierda todos los elementos en 1.

por ejemplo: Entrada: abcdef

Salida:bcdefa

5. Código para encontrar la altura de un árbol.

6.Desplace todos los ceros de una array al lado derecho en O(N). Enlace

7.Dada una expresión infija, construya un árbol de expresión a partir de ella y evalúe la expresión. Parecida a esta .

8. Encontrar la subarray de longitud mínima con una suma mayor que el valor dado de una array con elementos enteros positivos en una complejidad mejor que O(N^2). Enlace 

Las primeras 6 preguntas tenían 1 punto y las últimas 2 de 2 puntos.

b.La sección digital tenía preguntas como:

1. Vuelva a crear un circuito dado usando solo 2 puertas NAND de entrada.

2. Realice una expresión booleana usando mux.

Adición en serie de 3,2 bits de 2 números utilizando 2 puertas NOR de entrada.

4.Dado un circuito, minimice el número de puertas utilizadas para hacer ese circuito.

Hubo más preguntas relacionadas con el circuito, pero ahora no las recuerdo.

c.La sección analítica contó con 10 preguntas, algunas de ellas fueron:

1. Mueve 4 fósforos de una figura dada para formar 3 cuadrados.

2. http://puzzles4you.blogspot.com/2015/03/4-tablets-rompecabezas.html

3. Descifra el código. Enlace

4. A y B deciden encontrarse en algún lugar entre la 1 y las 2 de la tarde. Ambos no esperarán al otro por más de 15 minutos. ¿Cuál es la probabilidad de que se encuentren?

5. ¿De cuántas maneras se puede formar un número de cuatro dígitos divisible por 5 usando cinco dígitos (0, 5, 7, etc.) con y sin repetición?

6.A piensa 100 líneas de código en 5 minutos y escribe 100 líneas de código en 10 minutos. Después de cada 10 minutos, toma un descanso de 5 minutos. ¿Cuántas líneas de código escribirá en 100 minutos?

7. Hay 32 equipos en un torneo eliminatorio. ¿Por lo menos cuántos partidos se requieren para obtener al campeón y al verdadero segundo lugar?

También hubo algunos rompecabezas más.

Ronda 2: (Entrevista técnica)

11 de nosotros fuimos preseleccionados para las entrevistas de la primera ronda técnica. Había dos paneles cada uno con 2 entrevistadores. Un panel tenía 6 estudiantes y otro tenía 5.

Fui el primero en el segundo panel. Me hicieron las siguientes preguntas:
1. ¿Se puede declarar nula una variable en C?
2. Funciones virtuales en C++. ¿Qué sucede si asignamos una dirección de clase derivada al puntero base pero no declaramos la clase virtual, a qué función se llamará?
3.VPTR y VTABLE en C++
4.Aritmética de punteros
5.

#include <stdio.h>
int main()
{
  char *str="IIEST";
  *str='E';
  printf("%s", str);
  return 0;
}

¿Cuál es el problema con este código, si lo hay?
Este código compila sin error pero genera falla de segmentación cuando se ejecuta.
6.Diferencia entre puntero const y puntero a const con sintaxis.
7.Constructor privado en C++, ¿cómo se puede instanciar una clase con un constructor C++?
Les hablé de la función Amigo usando C++, pero querían la solución estándar general que no recordaba en ese momento.
8. Hay una array llena con solo 0, 1 y 2 que se distribuyen. Cómo clasificarlos de manera eficiente para que todos los 0 aparezcan primero, luego los 1 y luego los 2.
Les hablé de la solución usando tres contadores para 0, 1, 2 y luego imprimí 0, 1, 2 en consecuencia y estaban felices.
9. Luego me preguntaron sobre el único carácter que no se repite en una string que solo consta de alfabetos. Les dije la solución que usa espacio adicional al mantener una array. Luego me dijeron que mejorara la solución al no usar espacio adicional como mapas hash o array que no pude hacer.
10. Luego me preguntaron sobre la memoria virtual en el sistema operativo.
11. Luego me pidieron que implementara la puerta AND usando mux 2: 1 y también si se puede realizar algún circuito usando mux.
12. La última pregunta se le dio a un flip-flop D. Tengo que idear alguna lógica, la salida es un reloj que tiene un período de tiempo 2 veces mayor que el de la señal de reloj de entrada del flip-flop D.

La entrevista duró alrededor de 40-45 minutos. Para las preguntas de codificación no tuve que escribir nada, solo la lógica fue suficiente.
Ronda 3: (Técnico + Recursos Humanos)
6 de nosotros fuimos seleccionados para esta ronda y los paneles se intercambiaron, es decir, quien tenía el Panel 1 en la ronda anterior tenía que ir al Panel 2 y viceversa.

Primero hubo una ronda técnica que tenía preguntas como:
1.¿Cuáles son las diferentes partes de una computadora? Le hablé sobre CU, ALU y la arquitectura de Von Neumann.
2.Diferencia entre RISC y CISC.
3.Diferentes etapas de canalización de una instrucción.¿Cómo es mejor la canalización?
4. Escriba una función que devuelva un identificador válido único cada vez que se llame. Aquí identificador significa nombres de variables, nombres de funciones, etc., es decir, lo que el compilador trata como identificador.
Les dije que generaría un carácter al azar de az y luego lo concatenaría con la hora del sistema. Estaban contentos con este enfoque.
5. Cambiando un poco de un entero. Vínculo
6. Calcular m^n de manera eficiente. Enlace
Me preguntaron sobre el número de multiplicaciones en mi solución.
7. Diferencia entre O(n) y O(n^2). Si uno es 0.01n y el otro es 0.00002n^2, entonces el último es mejor para valores pequeños de n, ¿cómo podemos decir que O(n) es mejor?
Les dije que para los problemas de la vida real, el tamaño de entrada será mucho mayor y O(n) será mejor entonces.
8.Dada la salida de entrada y el programa, ¿cómo saber la complejidad temporal del programa sin usar el análisis?
Dije que tenemos que identificar la operación principal para el programa, como para ordenar la operación es comparación y luego mantener un recuento de las operaciones realizadas y luego podemos tener una relación entre el número de operaciones y el tamaño de entrada, que será la complejidad.
9. Dado solo la salida de entrada, ¿cómo saber la complejidad de tiempo del programa?
Les dije que podemos trazar el tiempo para obtener el resultado deseado en función del tamaño de entrada y obtener una aproximación de la complejidad del tiempo.
10.Diferencia entre buffer y latch, flip-flop y latch.
11.¿Qué es la memoria caché y para qué se utiliza?
12.Si un programador sabe cómo reducir las fallas de caché y la localidad de la referencia, ¿puede escribir código que tenga un número mínimo de fallas de caché?
Les dije que no estaba seguro, pero creo que se puede hacer. Luego me dijo que sí se puede hacer y que hay una larga teoría detrás de esto.
13. Me preguntaron qué proyectos realicé usando C/C++ y me calificaron sobre 10.
14. Me preguntaron qué algoritmos de aprendizaje automático usé, ya que había hecho un curso en línea sobre eso.
15. La última pregunta se le dio un flujo de bits en serie digital si hay un número impar de 1, luego emita 1 y luego emita 0 usando algún circuito lógico. Primero fue para 6 bits en serie y luego me dijo que lo hiciera para 2. Estaba teniendo problemas, entonces me dijo que dibujara la tabla de verdad y justo después de escribir 1 caso le dije que sería un circuito XOR y luego me dijo que lo hiciera para 3 o 4 y le dije que todo lo que tienes que hacer es XOR los bits. Luego, la señora de recursos humanos me hizo algunas preguntas como, ¿qué hacen mis padres?, ¿por qué elegí CS?, ¿estoy de acuerdo con mudarme a Noida para el trabajo, etc.?

Este técnico y RRHH tomó casi una hora.

Después de 15 minutos de espera después de haber terminado esta ronda, me dijeron que fui seleccionado junto con otros dos. Fue un momento muy feliz para mí.

A todos mis jóvenes en IIEST Shibpur, me gustaría decirles que preparen los conceptos básicos de la estructura de datos, especialmente la lista y los árboles vinculados y los conceptos OOPS. Los artículos de GeeksForGeeks son suficientes para esto. Cuando estaba esperando mis entrevistas, tenía como 40-50 pestañas de GeeksForGeeks abiertas en mi navegador Google Chrome. Mucha suerte y prepárate bien.
Este artículo es una contribución de Rajdeep Maity.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *