Por contexto, soy un ingeniero de iOS para una aplicación que si no tienes en tu teléfono en este momento, conoces a varias personas que sí. También hago muchas entrevistas técnicas, y probablemente he realizado cerca de 100 en los últimos 4 años.
Para un ingeniero junior, generalmente busco a alguien que pueda implementar el diseño de otra persona si se le dan instrucciones claras. Me gustaría ver que puedan escribir código de trabajo, con suerte usando las bibliotecas apropiadas. No espero que un candidato conozca realmente todas las bibliotecas apropiadas de memoria, pero sí espero que demuestre competencia básica en el uso de algunas de ellas con referencia disponible.
No espero que un junior entienda conceptos más difíciles (pero me gusta cuando lo hacen). Una comprensión más profunda de la gestión de la memoria (que también se está volviendo más rara entre los ingenieros de nivel medio gracias a la rapidez), el enhebrado (fuera de lo básico como el envío a main), la depuración avanzada de la interfaz de usuario, etc., no son cosas que espero ver, aunque si un candidato puede mostrar conocimiento o habilidad en uno o más, eso es genial de ver.
- Cómo crear la animación de la aplicación de iPhone de AirBnB para el menú lateral en una aplicación nativa
- ¿Cuáles son las formas éticas de obtener reseñas y calificaciones en la App Store?
- ¿Qué porcentaje de aplicaciones iOS usan Core Data para el almacenamiento y la persistencia de datos?
- ¿Qué necesito aprender o hacer para ser un desarrollador sénior o gerente de proyectos?
- ¿Cuáles son las fortalezas, debilidades y capacidades únicas de cada una de las plataformas de Apple?
No puedo darte una respuesta más personalizada que esa sin saber nada de dónde vienes o qué has aprendido. Si tienes un título de CS o similar, probablemente necesites practicar el desarrollo de iOS específicamente y aprender las mejores prácticas. Si eres de un campamento de entrenamiento, debes asegurarte de que entiendes cómo no solo escribir código sintácticamente correcto, sino que también entiendes cómo resolver problemas en el código. Si eres autodidacta, además de todo lo demás, es posible que debas concentrarte más en aprender patrones de diseño, y posiblemente deberías leer una guía de estilo de código.
El mejor consejo general que puedo dar es encontrar a alguien que conozca el campo en el que está interesado. Hábleles al respecto por un tiempo y descubra cuáles son sus brechas. Rellena esos huecos. Repetir.