Podría darle una lista de preguntas específicas que se le harían, pero honestamente sería mejor saber de qué temas específicos se inspiraría alguien como yo para formular una pregunta.
Además de ser ingeniero, también soy inspector técnico de una empresa que se especializa en reclutar ingenieros de firmware integrados. Casi nunca entro en la proyección con una lista de preguntas predeterminadas. Comienzo con algunas preguntas simples y determino a dónde ir a partir de las respuestas del candidato.
Estos serían los “requisitos” a los que recurriría para crear mis preguntas para un candidato:
- ¿Qué software de monitoreo de empleados de código abierto es gratuito (o realmente barato)?
- ¿Cuáles son las ventajas y desventajas de mudarse a Seattle desde San José como ingeniero de software?
- Garantía de calidad del software: ¿Existe una discrepancia entre el costo de encontrar un error antes de la producción y la postproducción en una aplicación móvil?
- Si no voy a una escuela superior, ¿debería hacer ingeniería informática en lugar de ciencias de la computación para ser competitivo para las oportunidades de trabajo de software?
- ¿Por qué no soy un buen programador?
- Un ingeniero de sistemas integrados de nivel básico debe tener una buena comprensión de la electrónica analógica digital y de señal pequeña.
- Un ingeniero de sistemas integrados de nivel básico debe tener la capacidad de leer y comprender los esquemas.
- Un ingeniero de sistemas integrados de nivel básico debe tener la capacidad de utilizar de manera efectiva un medidor de voltios / ohmios y un osciloscopio.
- Un ingeniero de sistemas integrados de nivel básico debería tener competencia en al menos un lenguaje ensamblador.
- Un ingeniero de sistemas integrados de nivel básico debe tener competencia en el lenguaje de programación ‘C’.
- Un ingeniero de sistemas integrados de nivel básico debe tener una buena comprensión de los componentes internos del microprocesador (principalmente los registros).
- Un ingeniero de sistemas integrados de nivel básico debe comprender las regiones de memoria y sus usos (montón, pila, IVT, código).
- Un ingeniero de sistemas integrados de nivel básico debe tener un alto nivel de comodidad con números hexadecimales y matemática hexadecimal.
- Un ingeniero de sistemas integrados de nivel básico debe tener una muy buena comprensión de las matemáticas booleanas (lógica).
- Un ingeniero de sistemas integrados de nivel básico debe tener un buen conocimiento de qué son las interrupciones y cómo funcionan en código.
- Un ingeniero de sistemas integrados de nivel básico debe comprender los diferentes tipos de memoria (RAM, ROM, Flash), las diferencias entre ellos y cómo se leen, escriben y acceden.
- Un ingeniero de sistemas integrados de nivel básico debe tener la capacidad de utilizar un depurador para realizar al menos operaciones simples, como establecer puntos de interrupción, pasos individuales, examinar valores variables, examinar memoria, examinar registros.
- Un ingeniero de sistemas integrados de nivel básico debe tener la capacidad de leer y comprender hojas de datos, y producir código de controlador para un dispositivo determinado en función de la información contenida en su hoja de datos.