Fue una muy buena experiencia enfrentar la entrevista en Qualcomm.
He asistido a la entrevista para un puesto de desarrollador de aplicaciones de software integrado y mi experiencia y conocimientos son sobre estructuras C/RTOS/datos en el dominio de las telecomunicaciones.
Proceso: 1 Telefónico, 5 Técnicos, 1 ronda de HR (cada uno de 40min a 1 hr).
Todas las rondas no fueron tan difíciles y los entrevistadores fueron muy amigables al hablar.
Telefónico:
- Todo sobre tu currículum
- Muchas preguntas sobre el proyecto y cómo funciona en realidad.
- Conceptos de SO y ejemplos reales
- Situaciones de interbloqueo (detección, prevención)
- Temporizadores de vigilancia SW
- Programadores y algoritmos del sistema operativo
- Manejo de errores en el sistema, volcados de núcleo, etc.
- Conceptos de gestión de memoria
- Comunicaciones CIP
- Mutex/sección crítica/semáforos
Nota: Todas las preguntas fueron hechas profundamente y necesita decirle hasta que convenció con las respuestas.
Después de 2 días recibí una llamada para ir a la oficina de Qcom para las próximas rondas. Ese dia se me hizo largo..!!
La ronda 1:
- Fundamentos de la programación en C
- Mapa de memoria del programa, clases de almacenamiento y su mapeo
- ¿Si declaramos más número de variables que los registros disponibles en el procesador? Dónde se almacenarán.
- IPC (señal, como codifiqué en esto) cómo realmente transfiere la memoria
Conjunto de fragmentos de código C dados para depurar… Identifique los problemas en él y diga los resultados
Y más preguntas sobre eso… como ¿por qué?
La ronda 2:
- Preguntas básicas de C
- Escriba un programa para eliminar un Node, dado solo un puntero al Node en una lista enlazada circular
- Cómo acceder a los datos en las funciones llamadas después de regresar (el punto aquí es que no se puede acceder a las variables automáticas en las funciones después de que se cancela)
- Escriba un programa para devolver un flujo de bytes de una función
- Muchas preguntas sobre punteros de función, cómo, uso, ejemplos
Ronda 3:
- Preguntas genéricas sobre el proyecto que están haciendo, cómo están los valores de mercado allí, qué productos están llegando
- Manejo de memoria en tarjetas SIM/aplicaciones integradas
- Prioridades de los programas del sistema operativo, diferencias de procesos y subprocesos
- Cómo manejar las funciones genéricas, como punteros Void
Ronda 4:
- Escriba un programa propio para la función strstr, de manera óptima
- Escriba un programa para convertir una lista vinculada única dada a BST
- Cómo sucede un desarrollo de software y qué haces si te dan un producto para desarrollar
- preguntas del proyecto
- ¿Cómo quieres verte después de un año, tus intenciones, aspiraciones?
Ronda 5:
- Big & Little endian: definiciones, representaciones, escribirlas, intercambiarlas, etc.
- Muchas preguntas relacionadas con la memoria.
- Escribe un programa para implementar memcpy() por tu cuenta –
- Necesidad de evaluar muchas otras condiciones como situaciones de superposición, etc.
- Diferencia entre llamada de biblioteca y llamada de sistema
- Inversión de prioridad en un RTOS y sus soluciones
Ronda 6 (HR):
- Las aspiraciones de Qualcomm, la cultura y cómo se ve para ser el próximo, comentarios de nosotros sobre la entrevista, nada más… solo una charla informal.
Nota: en todas las rondas, debe explicar claramente su proyecto y pueden hacer algunas preguntas realmente buenas del proyecto. Sea claro con sus proyectos y CV.
Todos los entrevistadores le explicarán sobre el puesto que ha solicitado y es bueno si hace más preguntas sobre qué hacen exactamente y cómo funciona.
Hice estas entrevistas muy bien, pero desafortunadamente no me gustó Qualcomm después de esto. Pero consideraron para otro puesto y dentro de un mes recibí otra llamada y nuevamente 3 rondas de entrevistas técnicas como se muestra a continuación:
Proceso: 3 Técnico
La ronda 1:
- Mediciones de tráfico de red
- Udp vs tcp, diferencia
- programadores del sistema operativo
- Código del módulo del temporizador // necesita escribir código para el módulo del temporizador que realmente maneja la funcionalidad de tiempo de espera para todos los clientes y ejecuta los controladores del cliente en el tiempo de espera. (las cosas que buscaron son cómo diseña un problema dado, funciones de devolución de llamada, punteros de función, etc.)
- Preguntas sobre las funciones de devolución de llamada
- Preguntas sobre punteros de función
- Programa para invertir una sola lista enlazada
- Programa para detectar bucles en una sola lista enlazada
- Detectar errores en pgm a continuación
int main(void) { char *p; while(i<50) p++; return p; }
La ronda 2:
- Detalles del proyecto profundamente
- programadores de ipc, os
- Procesos priorizados, round robin ponderado
- sw perro
- Gestión de la memoria
- Fugas de memoria y herramientas correspondientes
- Desbordamientos de búfer e impactos/problemas de eso
- Interbloqueo, métodos para evitar, prevenir, etc.
- Semáforo, mutex, espera ocupada
- código para memcpy y problemas, cubriendo todos los escenarios de error.
Ronda 3:
- Corrupción de pila
- Hackear a través de la destrucción de pilas
- depuración del programa
- Inversión de prioridad, ex
- Condiciones de carrera, ej.
- Semáforo, mutex, ex
- Strcmp, pgm, ff termina
- Arbitrar lista enlazada pgm
- Memcpy pgm, posibilidades como copia de dirección de memoria superpuesta.
- Pequeño rompecabezas DI general
- Resta de puntero
¡Después de esto, estaba realmente en la compañía de mis sueños y feliz …!
Agradecería sinceramente a GeeksforGeeks por su gran ayuda en mi preparación y espero que esto sea útil para otros aspirantes.
Muchas Muchas felicidades al autor. Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo a review-team@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