Recientemente Arista Networks visitó nuestro campus. El requisito mínimo de CGPA fue 8. Hubo una prueba de codificación en línea seguida de 3 entrevistas FTF en G-meet.
Ronda 1: ronda de codificación en línea realizada en Hacker Rank (1,5 horas) (Idiomas permitidos: C, CPP)
- Tiempo mínimo requerido para llegar a una celda dada (x, y) desde (0,0). Una celda en particular puede tener una pared, es decir, no puede ir a esa celda en particular. (0,0) y (x, y) no tiene pared.
Solución: solo tenemos que hacer BFS desde (0,0) y seguir almacenando la hora también de cada celda en particular cuando se vuelve a colocar en la cola de BFS. - Dado muchos mensajes. los mensajes constan de (Tipo, Puerto, “mensaje”, longitud_del_mensaje), usted tiene que clasificarlos (sobre la base de la disminución de la longitud de los mensajes) de tal manera que se combinen diferentes mensajes con el mismo Tipo y Puerto, es decir, el mensaje se concatenará y la longitud del mensaje será la longitud del mensaje 1 + la longitud del mensaje 2. Mensajes finales de salida.
P.ej.Message 1- <"xyz", 1234, "hello", 5>, Message 2- <"abc", 222, "Arista", 5>, Message 3- <"xyz", 1234, "World", 5>. Output will be- <"xyz", 1234, "helloWorld", 10> <"abc", 222, "Arista", 5>
- Esta pregunta fue una variación de esto : https://www.geeksforgeeks.org/merging-intervals/ : se dio una condición adicional de que los intervalos también se pueden fusionar si están separados por 1 unidad de distancia, por ejemplo. (1,2) también se puede fusionar con (3,4).
La parte complicada: la lista stl se pasó en la función, por lo que debe conocer el funcionamiento básico de la lista stl, como ordenar, recorrer la lista, etc.
Los estudiantes que resolvieron al menos 2 preguntas completaron esta ronda. Aproximadamente 40 estudiantes aparecieron y 11 fueron preseleccionados después de esta ronda.
Ronda 2: Ronda Técnica FTF (1 Hr.)
- Esta entrevista fue después de 1 mes de la Ronda de Codificación. Así que hubo una pequeña discusión sobre las preguntas de la ronda de codificación, no mucho.
- Pregunta de depuración de código: se usó una diferencia simple entre x ++ y ++ x: la función se pasó con x ++ debido a que había una recursividad infinita.
- Recursión y desbordamiento. ¿Cuándo deberíamos usar iterativo y cuándo recursivo?
- Diseño de memoria de programa C: https://www.geeksforgeeks.org/memory-layout-of-c-program/
- Diferentes tipos de variables y dónde se almacenan en el diseño de la memoria del programa C.
- Diferencia entre variables estáticas y globales.
- Diferencia entre proceso e hilos. Seguido de preguntas básicas sobre sistemas operativos.
- Diseñe una aplicación como Zomato para consultas como qué restaurante sirve un plato en particular. Por ejemplo, si un usuario escribe pizza, su programa debe mostrar todos los restaurantes cercanos que sirven pizza.
Primero le di un enfoque basado en mapas, pero me pidió que pensara en una estructura de datos diferente que pudiera hacer esto mejor. Luego le di un enfoque basado en Trie, estaba satisfecho con el enfoque y luego agregó 2-3 consultas más, también eran manejables por la misma estructura de datos. - La última pregunta fue: https://www.geeksforgeeks.org/rearrange-a-given-linked-list-in-place/
Le di todas las respuestas a los problemas, la ronda salió bien.
8/11 estudiantes despejaron esta ronda.
Ronda 3: Ronda Técnica FTF (1 Hr.)
- La primera pregunta fue «¿Hábleme de usted?» – El entrevistador fue bastante amable, discutió diferentes cursos que tomé en mis años anteriores.
- Pregunta de depuración de código: utilizando conocimientos básicos de punteros, char *ptr= «arista», entonces no podemos eliminar la referencia de este ptr.
- Cuando se le preguntó acerca de los punteros y la asignación de memoria dinámica en C.
- Proceso, Hilos, Problema de la Sección Crítica y sus soluciones (mutex, semáforo).
- Dados diferentes mensajes de registro <“QUIÉN”, “TIPO”, “MENSAJE”, “DURACIÓN”>. Tenemos que almacenarlos y responder a diferentes consultas, como cuántos mensajes envió «QUIÉN», qué mensaje es más abundante, qué tipo de mensaje envía «QUIÉN». Del mismo modo, había 4-5 consultas, así que usé Trie ds para almacenar los mensajes y el entrevistador siguió haciendo diferentes consultas sobre la complejidad del espacio y la complejidad del tiempo. Por fin, estaba contento con la solución.
- La última pregunta, https://www.geeksforgeeks.org/find-element-bitonic-array/ , primero le dio un enfoque lineal y luego redujo la complejidad del tiempo mediante el uso de la búsqueda binaria.
En general, la ronda fue bien. Me quedé atascado en 1 pregunta del sistema operativo, pero respondí el resto.
Después de esta ronda, 4 estudiantes, incluyéndome a mí, pasaron a la ronda final.
Ronda 3: FTF Técnica + Ronda HR (1 Hr.)
La ronda comenzó con «¿Háblame de ti?» Le conté todo sobre: JEE, 1er año, 2do año, pasantía de 2do año, 3er año y cursos y pasantías que hice. Luego me preguntó sobre los diferentes concursos en los que participé.
Luego me preguntó sobre mi proyecto de pasantía y tuvimos una breve discusión sobre mi CV. Me preguntó cuál era mi materia favorita- le dije DS. Luego hizo preguntas básicas de DS como cuándo usar BST, cuándo usar montones, complejidades de tiempo de diferentes consultas en diferentes estructuras de datos, mapa desordenado versus ordenado, heapify, luego me pidieron que implementara hashmaps usando arrays; requerido. Finalmente, algunos conceptos de SO como memoria virtual y memoria física. Finalmente, preguntó: «¿Por qué quieres unirte a Arista?»
Respondí todas las preguntas y el entrevistador quedó contento con las soluciones. Fue el mejor de las rondas anteriores.
Veredicto: los 4 estudiantes, incluyéndome a mí 🙂, fueron seleccionados para una oportunidad de tiempo completo en Arista Networks.
Publicación traducida automáticamente
Artículo escrito por tanmaykhandelwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA