Acudí a una entrevista en Infinera para el puesto de Layer 3 Routing/Signaling Developer.
PROCESO GENERAL:
Primero hubo una ronda escrita. Luego tuvimos tres rondas técnicas, una gerencial y una de recursos humanos. Las preguntas de la entrevista fueron buenas y los entrevistadores fueron muy amigables y fáciles de tratar.
Antecedentes: había trabajado con temporizadores e IPv6. Por lo tanto, la mayoría de las preguntas técnicas eran relevantes para mi currículum. Casi todas las preguntas eran muy básicas y fáciles de responder. Además del currículum, solo esperaban subprocesos múltiples, programación de sockets y conocimiento de C++.
RONDA 1: ESCRITO:
En la ronda escrita, hubo 30 preguntas. Las preguntas se agruparon en secciones fáciles y difíciles. La sección fácil tenía una marca para cada pregunta. Sección difícil 3 puntos para una pregunta. Sin marcado negativo.
Tuvimos algunos rompecabezas .
1. ¿Cuál es el ángulo entre el minutero y el horario cuando son las 03:15?
2. Ese veneno en 1000 botellas y que se encuentra en un problema de una hora de http://geeksquiz.com/puzzle-19-poison-and-rat/
3. Tienes que medir desde 1kg hasta 40kg. ¿Cuál es el menor número de pesas que debe usar?
4. Un hombre sube cuesta arriba en 12 horas desde las 06 am hasta las 06 pm, en velocidad variable y descansando en varios puntos. Descansa por la noche y comienza a descender nuevamente a velocidades variables y descansando en varios puntos. Tomó 12 horas, de las mismas 06 am a las 06 pm del día siguiente para bajar. ¿Cuál es la probabilidad de que estuviera en el mismo lugar a la misma hora del día durante su viaje cuesta arriba y cuesta abajo?
Luego tuvimos preguntas relacionadas con vectores, constructores de copias, manejo de excepciones y sobrecarga en C++. La mayoría de las preguntas técnicas fueron
Formato «Encuentre la salida del siguiente fragmento de código». Pocas que recuerdo son:
5. ¿Cuál es la salida de (0x0A0A0A0A >> 1)
6. ¿Qué función de socket devuelve el ID de proceso secundario inactivo?
7.
int i,j,k,c; for(i = 1; i < 31; i++) for(j = 1; j < 31; j++) for(k = 1; k < 31; k++) if((i+j+k) % 3 ==0) c++; printf("%d",c);
8.
int i = 7; int *p = &i; if (fork()) { *p = *p + 10; printf("%d", i); } else {wait(); printf("%d" , i); }
Luego surgieron algunas preguntas relacionadas con la creación de redes . Todas fueron fáciles de responder. Entonces, solo recuerdo a estos dos.
9. ¿Cuál es la clase de Dirección Multicast en IPv4?
10. ¿Qué hace ARP?
Luego , la Primera Ronda Técnica comenzó con Háblame de ti mismo. Fue una discusión de pizarra blanca. Luego las siguientes preguntas:
1. ¿Qué es el descubrimiento de vecinos seguros? ¿Cómo funciona?
2. Explique en detalle cómo un paquete desde el exterior, hace ARP y llega al host correspondiente.
3. ¿Cómo funciona DHCP?
4. ¿Qué es el zócalo sin formato?
5. ¿Cuáles son los diversos alcances en IPv6 y explicar dónde se emplean?
6. Escriba la arquitectura del servidor del cliente del socket TCP y explíquela. (Yo lo dibuje)
7. Qué es little y big endian. Dé ejemplos de máquinas little y big endian. ¿Por qué todos acordaron tener big endian como orden de bytes de red?
Luego me pidieron que escribiera un programa para encontrar la endianess de una máquina. Dije la lógica. Pero el entrevistador me dio un papel y un bolígrafo y me pidió que escribiera un programa completo que funcionara si se digitaba en el sistema.
Luego le pidió al programa que encontrara el tamaño de una estructura sin usar el operador sizeof(). Una vez más tuve que escribir el programa completo para ello. Lo escribí como una función, el entrevistador dijo que esperaba que se escribiera como una macro, pero aceptó mi respuesta.
Luego, otro programa para implementar mi propia versión memcopy usando punteros vacíos. Cometí errores al acceder directamente al puntero vacío. El entrevistador tuvo la amabilidad de guiarme señalando mis errores.
Luego estaba la Segunda Ronda Técnica . Nuevamente comencé con mi experiencia en proyectos. El entrevistador hablaba muy suavemente y me incitaba cada vez que intentaba sacar algo. Y también, le dio suficiente tiempo para pensar y responder.
8. ¿Cómo implementas el temporizador en la codificación C?
9. ¿Quién gestiona los temporizadores? ¿Núcleo o usuario?
10. ¿Cuál es el número máximo de temporizadores que puede tener un proceso?
11. ¿Qué es el modo disperso de PIM? Explicar con detalle.
12. ¿Para qué sirve un punto de Rendez-vous? ¿Cuál es su función?
13. ¿Qué son mutex y semáforos? Cuál es la diferencia entre ellos ?
14. ¿Qué es subprocesamiento múltiple?
15. ¿Ha escrito alguna herramienta en secuencias de comandos?
16. ¿Qué es un árbol? ¿Por qué se utiliza esa estructura de datos? Aplicaciones.
17. Compara un árbol y una lista enlazada.
Luego , la Tercera Ronda Técnica fue muy corta y fue como una ronda rápida para juzgar tu fuerza técnica.
18. ¿Qué es el enrutamiento? Dé algunos ejemplos de protocolo de enrutamiento.
19. ¿Qué es STL? Dame algunas aplicaciones de la misma.
20. ¿Qué es el temporizador? ¿Cómo lo implementas?
21. ¿Cómo se mide un tic de reloj en kernel?
22. ¿Cuál es la diferencia entre IPv4 e IPv6?
23. Dame algunas aplicaciones de raw socket.
24. ¿Qué hay de nuevo en DHCP6 que no estaba en DHCP?
25. Diferencia entre TCP y UDP.
26. ¿Qué es el casting dinámico?
27. ¿Cuándo se asigna la memoria desde la pila y el montón?
28. ¿Cómo funciona Valgrind para encontrar fugas de memoria? Dígale con respecto al funcionamiento interno de Valgrind.
Finalmente preguntó: «¿Eres un gran trabajador?» Me sorprendió mucho esta pregunta, ya que no la había escuchado antes.
Entonces, finalmente , la ronda de gestión . También fue como una extensión de la ronda técnica.
29. ¿Cómo resuelve la dirección IPv6? ¿Se resuelve en el espacio del kernel o en el espacio del usuario?
30. ¿Qué es una tabla de enrutamiento? ¿Qué estructura de datos utilizará para ello?
31. Háblame de tu relación con tu TL. ¿Cómo interactúa con su líder tecnológico?
32. ¿Cuál es tu ambición? ¿Dónde te ves en 5,10,15 años?
33. Empezó a trabajar en software como principiante. ¿Cuáles eran tus expectativas vs la realidad? ¿Estás decepcionado con algo?
34. ¿Cuántas líneas de código has escrito en tu carrera hasta ahora?
35. ¿Cuál era tu ambición cuando estabas en la escuela?
36. ¿Por qué hiciste Ingeniería?
37. ¿Alguno de los códigos/arreglos que proporcionó le ha regresado como defectuoso/con problemas?
Luego, finalmente tuve la ronda de recursos humanos. fue muy corto
38. ¿Por qué busca cambiar de trabajo?
39. ¿Cuánto tiempo llevas buscando un cambio de trabajo?
40. ¿Tienes planes de realizar estudios superiores?
41. ¿Cuál es su CTC esperado?
42. ¿Tiene alguna referencia dentro de nuestra empresa?
Aquellos que asistieron conmigo también dijeron que tenían preguntas solo de sus currículos y relevantes para sus perfiles. Algunas de sus preguntas son:
1. ¿Cómo encuentra y elimina bucles en listas enlazadas?
2. Dado n, ¿cuál es la probabilidad de que n sea un primo gemelo?
3. ¿Qué son los punteros de función? Aplicaciones de los punteros de función.
4. Mecanismos de programación en Linux. ¿Cómo sucede?
5. ¿Cómo funciona RTOS? Y preguntas relacionadas.
6. Escriba un programa para invertir palabras en una oración de entrada.
7. Otro programa para imprimir la oración en orden inverso con las palabras intactas, después de eliminar los espacios.
CONCLUSIÓN:
Finalmente el proceso de entrevista había terminado. Comenzó a las 10 am y se prolongó hasta las 04 pm. Todos los entrevistadores fueron muy fáciles de mover y amigables. Nos dieron té/galletas/botella de agua durante todo el día y también nos dieron el almuerzo. También me proporcionaron papel y bolígrafo para las pruebas, pero las entrevistas fueron principalmente pizarra para mí. La oficina estaba en la calle MG y era fácil de encontrar a través de Google Maps.
En todas las rondas, seguí adelante y le pedí al entrevistador sus comentarios y sus expectativas. Fueron accesibles y respondieron afablemente. Les hice preguntas, al final de la entrevista para interactuar con ellos. Les pregunté si había cometido algún error durante la entrevista y traté de aprender de ellos. Al ser mi primera entrevista, no fue un proceso muy aterrador para mí.
Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
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