Por supuesto, hay muchas cosas que los entrevistadores buscan para ingenieros de software de nivel básico. En lugar de proporcionarle una lista de decenas de elementos, creo que destacar varios puntos importantes con consejos específicos sería más útil para usted. Vale la pena señalar que comprender qué habilidades se esperan es solo un punto de partida, trabajar mucho para mejorar es mucho más importante.
Estructura de datos y algoritmo
Entre esas habilidades, la más importante es absolutamente la estructura de datos y el algoritmo. Durante la entrevista, esperará resolver algunas preguntas de codificación. Sin una comprensión clara de esas estructuras / algoritmos de datos básicos, no podrá proporcionar la solución correcta. Además, la mayoría de los entrevistadores le pedirán que analice la complejidad de tiempo / espacio de su solución, lo que también requiere una buena comprensión de este tema.
- Acabo de aprender a crear una aplicación web con Django y Flask, ¿soy ingeniero de software ahora?
- Tengo miedo de estudiar matemáticas aplicadas porque quiero ser ingeniero de software. ¿Todavía está bien o debería cambiarme a ciencias de la computación el próximo año?
- ¿Cómo fue tu viaje de aprendizaje para ser ingeniero de software / informático?
- Cómo encontrar una oportunidad de formación como ingeniero de software, preferiblemente en Europa
- ¿Cómo es la capacitación para estudiantes de primer año (ingeniero de software asociado) en CGI?
Recursos:
- Introducción al algoritmo
Habilidades de codificación
Como ingeniero de software, su trabajo diario consiste principalmente en escribir un buen código. Como resultado, las habilidades de codificación son extremadamente importantes en una entrevista. En la mayoría de los casos, los entrevistadores le pedirán que escriba un código sólido de su solución y lo optimice aún más cuando sea posible. Entonces su código primero debe ser correcto. No es un pseudocódigo y debería devolver la respuesta correcta. En segundo lugar, debe ser de buen estilo. Aunque no es obligatorio, un buen estilo de codificación seguramente impresionará a los entrevistadores. Por último, debería ser eficiente.
De hecho, no tengo ningún recurso para recomendar, ya que las buenas habilidades de codificación requieren muchas prácticas y será mejor que escriba más código y trabaje en más proyectos para mejorar.
Comunicación
No puedo enfatizar lo suficiente la importancia de la comunicación, que es exactamente lo que hace que las entrevistas sean diferentes de los exámenes. No solo presentará sus soluciones de código a los entrevistadores, sino que deberá mantener muchas discusiones. Debería poder explicar sus ideas, soluciones con claridad y hacer que sus enfoques sean muy fáciles de entender, incluso sin una sola línea de código.
Recursos:
- Gainlo: construimos esto para permitir que las personas tengan entrevistas simuladas con entrevistadores de Google y otras compañías y obtengan comentarios reales.
Diseño de sistemas
Si está solicitando un puesto a tiempo completo, seguramente tendrá al menos una entrevista de diseño del sistema. Se le pedirá que diseñe un sistema para resolver un problema desde cero. Pasará toda la sesión de entrevista para discutir su enfoque con el entrevistador. A veces puede ser un nivel bastante alto y a veces puede ser muy detallado que necesite explicar muchos detalles técnicos. La entrevista de diseño del sistema es difícil e interesante, ya que está más cerca de los proyectos de la vida real.
Recursos
- Puerta de cristal
- Patrones de diseño
Conclusión
Para los ingenieros de nivel de entrada, definitivamente no se requieren cosas como experiencias. También algunos otros puntos, como la capacidad de resolución de problemas, son demasiado vagos o están cubiertos por una de las viñetas anteriores. Como dije, lo más importante es trabajar duro para mejorar en estas áreas.