Experiencia de entrevista de Apple para desarrollador de software 2020

Fondo: 

Soy ingeniero de software de Microsoft en Microsoft. Trabajo en el campo de Azure Psychological Services y me encanta mi trabajo. Tengo 9 años de experiencia en desarrollo y 3 años de experiencia como administrador de sistemas. He trabajado en muchos grupos y productos. Comencé mi carrera de desarrollo como diseñador de dispositivos en Intel, me mudé al servidor SQL en Microsoft (no me gustaba), pasé a Servicios de administración de contenido y luego a Servicios cognitivos (IA). También tuve una breve estadía en Lyft (7 meses. Lo odio).

Manzana

  • Pantalla del teléfono: Fui a Apple a través de Triplebyte y me salté la entrevista telefónica.

Presencial (videoconferencia):

La ronda 1: 

  • Dado un tablero de Tic Tac Toe, verifique si un jugador ha ganado el juego. La pregunta era un poco vaga pero no difícil. Lo resolví fácilmente.

La ronda 2: 

  • Se le da una cuadrícula con caracteres aleatorios. También se le proporciona un diccionario. Necesitas encontrar todas las palabras que puedas construir en el tablero. Las palabras pueden aparecer con más frecuencia. Puedes subir, bajar a la izquierda y a la derecha en el tablero. Devuelve un diccionario con palabras como clave y plural como número. Esta fue una combinación de preguntas de codificación y diseño. Me pidieron que escribiera un pseudocódigo y diseñara una API. Esta pregunta era confusa, difícil y siguió cambiando a medida que avanzaba la conversación.
  • Lo resolví creando Trie en el diccionario e inicié DFS en todas las letras de la cuadrícula.

Ronda 3: 

  • Esta fue una discusión muy interesante. No fue una ronda no técnica. Esta discusión fue organizada por el Primer Ministro. Me contó lo que hizo el Primer Ministro en Apple. Luego me dio un proyecto de conjetura. Me pidió que incluyera calificaciones de tomates podridos en respuesta al video de Siri. Este fue un requisito vago como se puede encontrar. Me preguntó cómo iba a manejar semejante tarea.
  • Hablé sobre aclarar las necesidades, se me ocurrió una descripción del desempeño, la telemetría para medir el éxito del proyecto y discutí los detalles del día a día en la fase de desarrollo. Discutimos la participación de las partes interesadas, de arriba hacia abajo, la participación de las partes interesadas, la resolución de conflictos y la gestión de expectativas.
  • Hace 5 o 10 minutos me preguntaste sobre un proyecto de fantasía que me gustaría hacer. Discutí el olor y el tacto de entrada digital.

Ronda 4: 

  • Este fue un ciclo técnico. Tuve que usar un diccionario. Esta era una pregunta vaga, y discutimos varios problemas, como el rendimiento del hash, la resolución de conflictos, la función de carga y la extensión del diccionario cuando está abarrotado. Usé un diccionario estándar en C# usando Listas.
  • Su última pregunta fue sobre una característica que me gustaría usar en un hackathon. Sugerí que los mapas para cada giro no deberían proporcionar direcciones a rutas conocidas.

Ronda 5: 

  • Utilice la función IsPalidrome. De hecho, usaste el código para algunas entradas. Hubo muchos casos extremos, pero ¿qué tan difícil puede ser IsPalindrome? Luego me pidió que hiciera un trabajo de toma de cuerdas, como instalar y recuperar puntos dependiendo de qué tan diferente seas del Palíndromo. Esta era una pregunta vaga e interpreté con qué frecuencia se necesitaría instalar y quitar el ocultamiento de cables en Palindrome. Sugerí una solución DP. El entrevistador no estaba seguro de si funcionaría, pero no sabía si funcionaría. He hecho varias variaciones de este tema.

Ronda 6:

  • Esta ronda fue con el gerente. Hablamos sobre liderazgo, proyectos, los estatutos del equipo, la cultura de Apple, la pila tecnológica, la compensación, el crecimiento profesional y muchas otras cosas. Esta ronda fue sobre mí entrevistando al equipo y la compañía.

Pensamientos:

  • Me impresionó mucho el proceso de entrevistas de Apple. El enfoque no estaba en las consultas de la plataforma, sino en el desarrollo general del software. El equipo era diferente y muy divertido. Tropecé un poco con la pregunta del diccionario, pero algunas rondas fueron muy bien. La entrevista me dio la oportunidad de mostrar las habilidades que había desarrollado a partir de la experiencia. El desarrollo de software normal no significa descifrado. Se trata de qué problemas necesita resolver, por qué quiere resolver ese problema y cómo sabe que ha resuelto con éxito el problema. Simplemente vaya a la sección de códigos y responda estas preguntas satisfactoriamente.

Me dieron una posición unos días después. Dije que sí allí mismo porque realmente disfruté la conversación.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *