Entrevista con Cisco | Conjunto 7 (en el campus)

Estado: Trabajo de tiempo completo + 6 meses de pasantía ofrecidos.

Fue una entrevista de 4 rondas. La primera ronda fue una ronda escrita con 50 preguntas (20 de aptitud + 30 técnicas) durante 1 hora. La segunda ronda fue una ronda técnica (1 hora). La tercera fue una ronda técnica + de gestión (20 minutos). La cuarta ronda fue una ronda corta de recursos humanos (10 minutos).

en la primera ronda, 20 preguntas de aptitud compuestas por preguntas de aptitud simples, medianas y complejas. Algunas se respondieron en 10 segundos, otras tardaron entre 30 y 40 segundos y las más difíciles tardaron un poco más de un minuto en resolverse. Las preguntas se basaron en todos los temas clásicos de aptitud. Algunas preguntas se formularon de manera confusa, pero aparte de eso, no hubo contratiempos. La parte técnica tenía 30 preguntas. Se preguntó aproximadamente 10 de C, C++, OS, otros 5-6 fueron del lado de la electrónica. Alrededor de 5 de temas de redes y el resto se basó en estructuras de datos, estimación de complejidad y temas relacionados. Pude responder la mayoría de las preguntas de aptitud (17-18) fueron correctas de 20 y más de 22 preguntas fueron correctas de 30 en el aspecto técnico. Creo que el límite para la segunda ronda fue alrededor de la marca de 40, que había obtenido y llegué a la segunda ronda.

En la segunda ronda , la entrevista comenzó con preguntas más simples y cortas, como por ejemplo, el entrevistador señaló una de las preguntas técnicas de la ronda anterior (el entrevistador tiene su hoja de respuestas de la ronda anterior) y me pidió que explicara el enfoque. había tomado para resolver el problema. La pregunta que me pidió que explicara era una función recursiva, y tenía que estimar la complejidad temporal de la función en el peor de los casos. la función era algo como esto.

function(params)
{
   ...//terminating condition
   else..
  return function(params-1) + function(params-1)
}

La respuesta a esto fue O(2^n). El entrevistador modificó la pregunta a esto:

return (función (parámetros-1) + función (parámetros-1)) * función (parámetros-1)

La complejidad de esto era O(3^n). Me pidió que lo derivara en papel, lo cual hice. La siguiente pregunta fue sobre cómo establecer el bit n en un entero de 32 bits. La respuesta fue bastante directa. variable | 1<<(n-1). La siguiente pregunta fue sobre una lista enlazada. El entrevistador me pidió que imprimiera una lista enlazada de forma inversa. Después de eso pasamos a los árboles. La primera pregunta fue encontrar el elemento min en el árbol. La segunda pregunta era implementar el recorrido de orden de niveles en los árboles .
Después de hacer eso, me pidió que atravesara el árbol y lo imprimiera en orden de nivel inverso , pero la asociatividad del Node secundario debería ser de LR. por ej..

      4         Then the answer would be:
    /   \              1357264
  2      6
 /  \    / \
1    3  5  7

Después de tomar algunas pistas del entrevistador, pude codificarlo sin errores.

La siguiente pregunta fue imprimir el árbol en forma de zig-zag . es decir:
para el árbol de arriba, el recorrido en zig-zag produciría: 4267531.

Después de pensar durante un tiempo, las sugerencias del entrevistador, también pude codificar esto.

Básicamente, para este momento había terminado 1 hora. Los puntos clave que buscó el entrevistador fueron mi enfoque del problema, la codificación sin errores, todos los casos de esquina deben ser atendidos mientras se implementa el programa. Lo más importante es que debe estar seguro de su solución. El entrevistador le pregunta si la solución es correcta o incorrecta, aquí está comprobando su confianza, intente ejecutar el programa en seco una o dos veces después de codificarlo, esto ayudaría con la confianza. Además, intente hablar con el entrevistador sobre su proceso de pensamiento, esto no solo le da una mejor opinión al entrevistador, sino que si le dice dónde está atascado, él / ella podría darle pistas para continuar.

Después de responder todas las preguntas con sugerencias del entrevistador, clasifiqué para la siguiente ronda.

En la tercera ronda , la ronda de gestión técnica, el enfoque clave fue su proceso de pensamiento, no estaban demasiado interesados ​​en el tecnicismo de las soluciones. El entrevistador me preguntó cuáles eran mis temas favoritos y respondí estructuras de datos y algoritmos. Luego me pidió que codificara una parte de una red social donde las personas eran Nodes y existían diferentes tipos de conexiones entre ellos. mi trabajo consistía en escribir funciones para conectar dos Nodes cualquiera del gráfico, y también otra función para verificar si 2 Nodes están conectados directa o indirectamente (transitivamente).
Le pregunté si todos estos bordes/conexiones estaban dirigidos o no, por lo que me pidió que supusiera que no estaban dirigidos por simplicidad. Luego me pidieron que creara una estructura de datos para manejar estas operaciones. Era obvio que era una estructura gráfica y los Nodes tenían detalles de usuario y una lista de bordes dentro.
la clase socialGraph tenía funciones de inserción, eliminación y connect(node*,node*) ,
isconnected(node*,node*) como funciones amigas para conectar 2 Nodes y verificar si 2 Nodes están conectados. La función de conexión fue sencilla, ya que tuve que agregar la referencia del Node a la lista de bordes del Node.
Luego, para verificar si 2 Nodes están conectados, hice un DFS desde el Node de origen hasta el Node de destino. El entrevistador me pidió que hiciera el código de tal manera que pudiera escalar. Así que sugerí que podríamos hacer una búsqueda A* en lugar de un DFS para reducir el espacio de búsqueda. El entrevistador pareció satisfecho con mis soluciones y luego pasamos a las otras preguntas. Me preguntó sobre mis proyectos, los roles que he desempeñado en varios clubes de la universidad, mis planes futuros, ¿por qué Cisco? y otras preguntas simples como esa.
Lo hice lo suficientemente bien como para calificar para la ronda final, que fue una ronda informal de recursos humanos en la que me hicieron preguntas simples como el significado de mi nombre 😛 y luego me dieron un formulario de evaluación para completar, y me hicieron algunas preguntas sobre lo que yo podría responder.

La entrevista en general fue razonable, pero ciertamente me hizo pensar fuera de mi lugar, y un sólido conocimiento en estructuras de datos y algoritmos me ayudó a aprobar esta entrevista.

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

Deja una respuesta

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