«Qualcomm visitó nuestro campus el 14 de agosto de 2021 para contratar empleados de tiempo completo para el puesto de ingeniero de software». Estaba abierto solo para ramas de circuito (CSE, ECE, EEE) tanto B.Tech como M.Tech con un límite mínimo de CGPA de 6.9. Más de 250 estudiantes han solicitado este puesto.
NOTA: Todo el proceso fue virtual ya que las universidades están cerradas.
Prueba en línea: fue una prueba basada en MCQ que se dividió en 3 secciones. Fue completamente sobre salidas de código C/C++, estructuras de datos, depuración, sistemas operativos, programación orientada a objetos y algunas preguntas sobre combinatoria. El nivel de dificultad era medio-difícil. Se llevó a cabo en la plataforma HirePro, supervisado por video. 45 estudiantes fueron seleccionados para rondas técnicas.
El número de rondas técnicas varía de estudiante a estudiante con un mínimo de 2 rondas y un máximo de 4 rondas según nuestro desempeño. Solo tuve 2 rondas técnicas. Algunos de mis amigos tenían 3 y otros tenían 4.
Ronda 1 (técnica): esta ronda fue en Microsoft Teams. El entrevistador compartió conmigo un enlace de par de códigos de HackerRank.
Esta ronda duró alrededor de 1 hora y 10 minutos. El entrevistador fue muy bueno.
Me pidió que me presentara y luego me preguntó sobre mi proyecto de pasantía que se realizó como parte de una pasantía de verano en Samsung. Después de una buena discusión al respecto, comenzó algunas preguntas sobre los sistemas operativos, y las respondí. Las preguntas fueron:-
- Por qué se necesita la programación de discos y cuáles son los diferentes tipos de algoritmos de programación de discos.
- Como pregunta de seguimiento, se me pidió que implementara el mejor algoritmo de programación de discos y una discusión sobre su eficiencia.
- Me preguntó sobre los diferentes tipos de memorias presentes en un sistema informático. (Mi respuesta fue memoria caché, RAM, memoria secundaria y memoria de registro). Hizo otra pregunta de seguimiento sobre el funcionamiento de una memoria caché, sobre los diferentes tipos de memoria caché y sobre las estructuras de datos utilizadas en la implementación de la memoria caché LRU.
¡Luego me preguntó cuál es mi lenguaje de programación favorito! Les dije que es C++. Luego hizo algunas preguntas detalladas al respecto. Las preguntas fueron:-
- ¿Cuáles son los diferentes tipos de punteros?
- Palabra clave volátil
- Asignación de memoria de un programa c ++
- Cree una clase Singleton (Hecho usando el destructor privado y la creación de objetos estáticos).
- palabras clave nuevas y eliminadas (asignación dinámica de memoria)
Como mencioné Estructuras de datos y algoritmos como mi tema favorito, hizo algunas preguntas al respecto. (Debe ejecutar todos los códigos en el enlace de par de códigos de HackerRank proporcionado).
- Dada una oración en forma de string, invierta las palabras e imprima la oración ( https://practice.geeksforgeeks.org/problems/reverse-words-in-a-given-string5459/1 )
- Cree una lista enlazada y ordene la lista que contiene números enteros. Discutió varias técnicas de clasificación y finalmente procedió con la clasificación por combinación, ya que será la mejor opción para clasificar listas vinculadas que la clasificación rápida. ( https://practice.geeksforgeeks.org/problems/sort-a-linked-list/1 ) ( https://www.geeksforgeeks.org/why-quick-sort-preferred-for-arrays-and-merge- sort-for-linked-lists/ )
- Discusión sobre la recursión y la asignación de memoria realizada durante la recursión ( llamada memoria STACK) y sobre la programación dinámica.
El entrevistador me preguntó si tenía alguna pregunta. He preguntado sobre mi trabajo como ingeniero de software en Qualcomm y también sobre SnapDragon. También pregunté cómo Qualcomm pudo encabezar la revolución de la comunicación inalámbrica y sobre el desarrollo de 4G y 5G, que fue lo mejor de la última década. Esta ronda terminó con una nota de agradecimiento.
Ronda 2 (Técnica): Esto también fue en Microsoft Teams. Esta fue una de las entrevistas técnicas más difíciles que he dado, si no la más difícil. Esta ronda duró aproximadamente 1 hora y 50 minutos. El entrevistador fue bueno. Esta entrevista fue todo sobre lo que he estudiado como estudiante de informática. Aunque fue largo, fue una experiencia increíble.
El entrevistador se presentó y me pidió que hiciera lo mismo. Luego me preguntó minuciosamente sobre mi currículum. Me preguntó sobre mis habilidades de liderazgo y algunas preguntas más formales.
Luego comenzó la entrevista técnica real con algunas preguntas sobre redes informáticas . Las preguntas fueron:-
- Modelo OSI y sobre las 7 capas con ejemplos.
- Modelo TCP/IP y muchas preguntas de seguimiento al respecto.
- ¿Qué son un conmutador, un concentrador y un enrutador? ¿Con qué capa del modelo TCP/IP están relacionados?
- ¿Qué es el direccionamiento de puertos?
- Diferencia entre la dirección IP y las direcciones MAC, cómo ayudan en la comunicación entre 2 redes diferentes.
- Inter Process Communication y preguntas de seguimiento como pipes, fifos, message queues, semáforos, y algunos códigos sobre ellos sobre creación y funcionamiento.
( Le dije que había trabajado mucho en IPC y Programación de sockets. Entonces, preguntó sobre IPC y quedó muy impresionado y me agradeció cuando le expliqué cómo crear un sistema de chat usando IPC ).
Luego hizo preguntas en Sistemas Operativos. Las preguntas fueron:-
- ¿Qué son Deadlocks, Spinlocks y sus diferencias?
- Diferencia entre bloqueos Mutex y semáforos.
- Subprocesos y se le pidió que escribiera pseudocódigo para implementar interbloqueos en los subprocesos.
- Diferencia entre un proceso y un programa.
- Asignación de memoria de subprocesos en un proceso de subprocesos múltiples
- Administración de memoria y por qué se necesitaba la paginación (he explicado problemas como la fragmentación en la asignación de memoria continua)
Luego hizo algunas preguntas en Computer Architechture : –
- ¿Cuáles son los diferentes endianos en un sistema informático? Escriba un código c++ para mostrar si el endianness de nuestro sistema es grande o pequeño. ( https://www.geeksforgeeks.org/little-and-big-endian-mystery/ )
- ¿Qué son los buses y sus tipos en un sistema informático?
Me hicieron preguntas sobre estructuras de datos y c ++ :- (Debe codificarse en el enlace de par de códigos provisto. Necesitamos escribir un código de trabajo adecuado para algunas preguntas y pseudocódigos para algunas)
- Asigne memoria dinámicamente (memoria de montón) y luego las diferencias entre la memoria de pila y la memoria de montón.
- escriba un código C++ para implementar el desbordamiento de pila y el desbordamiento de memoria del montón.
- ¿Qué es el valor de paso y la referencia de paso? Escriba un código para implementarlo y explique el funcionamiento del nivel de memoria.
- Dada una string, elimine los espacios adicionales e invierta las palabras impares en la string.
- Dada una lista enlazada, por ejemplo, 1->2->3->4->——>n , cambie el último Node por el primero y luego devuelva la lista. es decir, devuelve n->1->2->3->—->n-1.
- Dada una lista enlazada de nombres representados en forma de nombres y ordenada en el diccionario, inserte un nuevo nombre en la posición correcta en la lista de nombres.
- Dada una string codificada en forma binaria, conviértala en forma decimal. Por ejemplo, si la string es «a10101b001c11» , la salida debería ser «a21b1c3» como 10101 = 21, 001 = 1 y 11 = 3 en formato decimal.
- Dada una array de pedido anticipado de un árbol de búsqueda binario, cuántas otras permutaciones del bst dado formarán el mismo BST que el pedido anticipado dado. (Esta fue una pregunta brillante que requiere un buen conocimiento sobre BSTconceptos y un poco de trabajo matemático. La respuesta sería elegir esas permutaciones cuyos valores son menores que la raíz del árbol, es decir, pre[0] y luego ordenarlos a la derecha inmediata de pre[0], todos los elementos que son mayores que pre[0] y ordenar todos ellos después de los elementos más pequeños elegidos antes. Por ejemplo, 4, 1, 3, 2, 5, 7,6, 8, 11, 10 es el preorden, por lo tanto, en un preorden de bst, como se discutió, todos los elementos más pequeños menores que la raíz, es decir, 4 aparecerán primero y luego los elementos mayores que raíz. Por lo tanto, ordenando 1, 3, 2, 5, 7, 6, 8, 11, 10 de tal manera que todos los elementos pequeños formen un grupo y luego todos los elementos grandes. Por lo tanto, responda (n-1)p(elements < pre[0]) . En este ejemplo sería 10-1p3 = 9p3 donde p es el símbolo de permutación p).
La última pregunta que se hizo fue un rompecabezas que trata sobre 3 bombillas y 3 interruptores y encuentra el par correcto ( https://www.geeksforgeeks.org/puzzle-7-3-bulbs-and-3-switches/ )
He hecho algunas preguntas sencillas porque estaba muy cansada. Respondí correctamente a casi todas las preguntas que me hicieron y los entrevistadores también fueron muy útiles. Dieron ideas si nos quedamos atascados en alguna parte.
Llamada de recursos humanos: después de una hora de espera, recibí una llamada de recursos humanos y me dijeron que lo había hecho excelentemente bien en las 2 rondas técnicas y que no tendré más rondas. La llamada terminó después de algunas preguntas formales de recursos humanos.
Después de una hora me informaron que soy seleccionado. En total, 12 estudiantes fueron seleccionados.
Nota:-
- La confianza es la clave.
- Tuve muy poco tiempo para prepararme para las entrevistas ya que estaba haciendo mi pasantía.
- Entonces, usé mi tiempo de manera eficiente y trabajé duro para revisar a fondo todos los conceptos y practiqué la codificación.
- Hablar con los entrevistadores ayuda mucho. Además, no fanfarronees en las entrevistas, no ayudará. Sea minucioso con el currículum.
- Además, habla con tus amigos mientras te preparas, eso ayudará mucho.
Un agradecimiento especial a mi DSA Profesor K. Ramesh señor por hacerme entender la belleza de la codificación y también a mis amigos. Gracias GfG por desempeñar un papel clave en mi éxito.
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