¿Cómo prepararse para la entrevista de ingeniería de desarrollo de software de Microsoft?

Bill Gates… No importa si tienes 8 u 80 años, la gente conoce muy bien este nombre y su aporte a este mundo. Una persona que es bien conocida por su comportamiento extremadamente amable y por presentar a Microsoft . Cuando Bill Gates creó Microsoft tuvo la visión de que cada hogar debería tener una computadora (preferiblemente con Windows) y lo logró. Hoy, Microsoft es una empresa de tecnología muy conocida en el mundo. Si usted es una persona que se está preparando para ingresar a esta empresa, definitivamente debe ser consciente de la importancia de las estructuras de datos y los algoritmos para la preparación de la entrevista.

How-to-Prepare-for-Microsoft-Software-Development-Engineering-Interview

No hay duda de que esta es una habilidad imprescindible para postularse para el puesto de SDE o ingeniero de software en Microsoft o cualquier otra gran empresa de tecnología. Los procedimientos de contratación en estas empresas son similares, pero vamos a compartir algunos detalles específicos, consejos, estrategia de preparación y proceso de evaluación de Microsoft para resolver la entrevista. Tenga en cuenta que el nivel de dificultad de estas rondas depende del nivel de puesto de SDE que esté solicitando y puede preferir cualquier lenguaje de programación con el que se sienta cómodo.

Puntos importantes a tener en cuenta

  • En Microsoft, no hay un proceso o formato de entrevista fijo. Cambia con grupos de productos o equipos. El proceso de entrevista seguido con mayor frecuencia consta de cuatro a cinco rondas, cada una de las cuales se centra en el análisis, la resolución de problemas, el diseño, la codificación y la prueba de las habilidades del candidato.
  • Cuando acabas de salir de la universidad (licenciatura), en ese momento es muy raro que te seleccionen para un equipo en particular. A veces, incluso el rol no se especifica mientras lo entrevistan. Cuando tiene algún año de trabajo o está pasando de maestría, generalmente lo reclutan para un equipo / rol en particular en la organización. En estas entrevistas, hay una combinación de preguntas algorítmicas y específicas de su experiencia. cuando ha trabajado en la industria durante los últimos 8-9 años. Ahí habla más tu experiencia y tu currículum que cualquier entrevista técnica que des.
  • Investiga un poco los antecedentes de la empresa. ¿Qué está haciendo la empresa en este momento o cuál es el escenario del mercado o la tecnología en la que están trabajando actualmente? Eso muestra su interés en la empresa y esta es una buena manera de juzgar a una persona cuánto está interesado un candidato en la empresa.
  • Los entrevistadores están capacitados para no reaccionar a sus respuestas, así que no espere una respuesta de sí o no de ellos, si va en la dirección correcta o no. Esto apesta, pero es una forma muy efectiva de evaluar a un candidato, así que prepárate para ver caras frías como la piedra.
  • Las preguntas de la entrevista de Microsoft/los niveles de dificultad son un poco menos consistentes en comparación con Google o Facebook.

Ahora es el momento de discutir la estrategia y las rondas que realiza Microsoft para el procedimiento de contratación antes de tener en cuenta un consejo rápido que funciona en todas las empresas… Su objetivo es escribir la cantidad justa de buen código y comunicarse bien. No te pagan por codificar, te pagan por pensar, resolver problemas y dar la solución. Para descifrar cualquier entrevista técnica, todo lo que necesita es una computadora portátil, una conexión a Internet que funcione, resolverá los problemas con regularidad y, en unos pocos meses, podrá aprender lo esencial. El procedimiento de entrevista en Microsoft es similar al de otras grandes empresas tecnológicas, así que hablemos de eso…

Envío de solicitud

Puede postularse para el rol de SDE visitando la página de carrera de Microsoft , pero miles de candidatos solicitan este rol, por lo que no es fácil llamar la atención de los reclutadores para las entrevistas telefónicas. Sus posibilidades de recibir la llamada de la entrevista son mayores si tiene alguna referencia o una conexión con un empleado de Microsoft. Si no tiene, le recomendamos encarecidamente que se conecte con gerentes de contratación o reclutadores a través de LinkedIn. Además, concéntrese en su CV cuando solicite el trabajo. A continuación se presentan algunos puntos que le ayudarán a obtener la llamada para entrevistas…

  • Trate de hacer un currículum de una sola página e incluya solo cosas relevantes. Hazlo breve, preciso porque ninguno de los reclutadores tiene más de 15 segundos para escanear un CV. Escriba solo aquellas cosas con las que se sienta cómodo, no falsifique nada porque el entrevistador puede detectarlo fácilmente durante la entrevista. Si está mencionando su proyecto, mencione también la complejidad de su proyecto. Consulta el enlace Elaboración de currículum – Recursos y consejos para preparar tu CV.
  • Microsoft tiene un sitio web específico dedicado al reclutamiento de estudiantes si se va a graduar de una universidad.
  • Microsoft a veces contrata en ferias de trabajo, hackathons, etc., aunque esperar a que surja cualquiera de esas oportunidades de forma orgánica puede ser un juego de larga espera, especialmente dependiendo de dónde se encuentre en todo el mundo. Puede visitar el enlace hackathon.com para ver si hay hackatones en su área.
  • Mantenga actualizados sus perfiles de Linkedin, Github y otros, los gerentes de contratación utilizan estas herramientas como LinkedIn, bases de datos de ex alumnos y asociaciones profesionales para encontrar al candidato adecuado.

Una vez que esté en contacto con un reclutador, querrá coordinar su primera entrevista telefónica.

Entrevista de selección

¿Invitamos a este candidato al ciclo completo? Para filtrar muchos candidatos, Microsoft realiza esta ronda y esta ronda ahorra mucho tiempo y recursos a la empresa. La ronda de evaluación puede ser telefónica o se le pedirá que complete un desafío de codificación en el que debe escribir un código limpio, bueno y sin errores, y que también debe optimizarse. Esta ronda consiste en preguntas de algoritmos y estructuras de datos de nivel básico a medio, tendrá algún documento en línea para escribir su código y que será visible para su entrevistador. Durará alrededor de 30 a 45 minutos y puede tener una pregunta de codificación de 2 a 3. A continuación se muestra el punto a tener en cuenta para un desafío de codificación en línea o una entrevista telefónica.

  • La ronda telefónica no está diseñada para ser muy difícil, la competencia del desafío debe entregarse en la entrevista en el sitio.
  • Debe escribir el código para la pregunta de codificación que le hará el entrevistador, arrojar una solución de fuerza bruta al principio, pero también debe intentar mejorar su solución. Piense en la complejidad del tiempo y el espacio y vea si puede mejorarlos.
  • Piense en voz alta y hable con claridad (la gente enfrenta problemas aquí) en entrevistas telefónicas y dígale su estrategia al entrevistador para resolver el problema.
  • Practica escribir código en algún documento en línea. Te ayudará a manejar muy bien la ronda telefónica en las entrevistas.
  • Resuelva los problemas en GeeksforGeeks , CareerCup y HackerRank .

Entrevista en el sitio

Una vez que lo seleccionen en la ronda anterior, lo invitarán a un ciclo que durará un día completo y constará de unas cuatro o cinco entrevistas separadas. Cada una de estas entrevistas dura aproximadamente una hora y será una ronda de pizarra. El número exacto de rondas depende de cómo se desempeñe en cada ronda y del puesto que esté solicitando. Ahora aquí viene el papel principal de las materias DSA y Core CS para verificar su codificación, habilidad para resolver problemas y dominio sobre los fundamentos de la informática. Debe prepararse con todos sus proyectos, pasantías, experiencias previas y, definitivamente, su habilidad de codificación y resolución de problemas. El nivel de dificultad de la pregunta se basa en el rol (SDE1, SDE2, etc.) que está solicitando en Microsoft.

1. Ronda Técnica Presencial

  • Se evalúa al candidato si puede resolver problemas del mundo real utilizando el conocimiento de estructuras de datos y algoritmos. La expectativa es poder llegar a la solución más optimizada para el problema dado. Su capacidad para transmitir su conocimiento algorítmico junto con el código es imprescindible.
  • A continuación se muestra la distribución de los tipos de problemas que generalmente se encontraron en la entrevista de Microsoft. Estos datos se basan en las experiencias de entrevistas de Glassdoor para Microsoft.

    Technical-Face-to-Face-Round-Questions-Microsoft-Interview-Preparation

  • Consulte el enlace ¿Cómo conseguir un trabajo en empresas basadas en productos? para hacer frente a la pregunta de codificación técnica en profundidad, qué enfoque y consejos debe seguir durante la entrevista.
  • Consulte los consejos para entrevistas proporcionados por los reclutadores que trabajan en Microsoft.
  • Haga todas las preguntas aclaratorias, piense en el enfoque de fuerza bruta, optimice la solución y luego escriba el código. Este es el sencillo paso que te recomendamos seguir para resolver la cuestión de codificación.
  • Debe sentirse cómodo con los proyectos que ha realizado en su experiencia pasada o durante su pasantía. El entrevistador lanzará preguntas desde allí, así que asegúrese de tener un conocimiento completo y detallado sobre su proyecto para explicárselo al entrevistador.
  • Le recomendamos encarecidamente que consulte el libro CTCI (Cracking the Coding Interview) , practique preguntas especialmente en GeeksforGeeks , HackerRank y CareerCup para la entrevista.
  • La mayoría de los problemas que encontrará en una entrevista de Microsoft implicarán cierta comprensión de arrays y strings . Aparte de eso, practique las preguntas de estructura de datos de lista enlazada y gráfico/árbol.
  • No olvide probar su código con todos los casos. Después de escribir la solución, debe probar su código, aunque sea mínimamente, porque si no lo hace, se deducirán puntos.

2. Ronda de diseño del sistema

  • Las preguntas de diseño del sistema son una conversación abierta y esta ronda se lleva a cabo principalmente con un candidato experimentado donde prueban su capacidad general para diseñar y escalar sistemas de base técnica como el diseño de Gmail, youtube, uber , etc.
  • Consulte el enlace Preguntas de la entrevista de diseño del sistema , Preparación de la entrevista de diseño del sistema y también consulte GeeksforGeeks
  • El entrevistador suele estar interesado en la elección de recursos como bases de datos, almacenamiento, registro; algoritmos eficientes de las funcionalidades; identificar todos los datos y clases que sería importante almacenar si algo falla en el sistema; ¿Qué funcionalidades están expuestas al usuario final y cuáles no para que no estropeen todo el sistema?; Escalamiento de Sistemas y servidores involucrados; Uso de Multithreading, colas de mensajería, Cache, etc.
  • Tener una comprensión sólida de varias tecnologías de bases de datos, cómo se escalan y cómo se comparan, el conocimiento de los marcos y las diferentes tecnologías ayuda mucho en el diseño del sistema.

Criterios de Evaluación de la Entrevista

Después de la entrevista, se lleva a cabo una reunión entre todos los entrevistadores para discutir, debatir y justificar sus calificaciones individuales con el Gerente de Contratación y el Representante de Recursos Humanos. Después de dar la entrevista, se le comparará con los otros candidatos y los entrevistadores encontrarán el mejor teniendo en cuenta algunos factores que se detallan a continuación…

  • El entrevistador generalmente tiene una mentalidad mientras toma la entrevista de que si él / ella puede trabajar junto con el candidato en su trabajo diario o no, entonces no muestre signos de arrogancia o ego mientras da las entrevistas.
  • Los entrevistadores verificarán si ha utilizado las estructuras de datos y los algoritmos adecuados al implementar el código o no.
  • Los entrevistadores notarán el enfoque de cómo optimizó la solución, su conocimiento sobre la elección del lenguaje de programación, su velocidad de codificación, cualquier caso de esquina que se haya perdido y cómo analizó la complejidad del tiempo y el espacio.
  • Verificarán cómo comunicaste tu proceso de pensamiento para resolver un problema específico de una manera lógica. También verificarán si pudo captar la pista y si pudo continuar con la solución o no.

Puntas

  • Aprenda a «pensar en voz alta» durante toda la entrevista; de lo contrario, el entrevistador no tendrá idea de lo que está pensando. Muestre a su entrevistador su proceso de pensamiento sobre el problema y qué enfoque va a seguir para resolverlo.
  • Nunca digas que no puedes hacerlo. Incluso si hay un problema que no has resuelto antes o parece que no puedes resolverlo, sigue atacando el problema desde diferentes ángulos, el entrevistador te dará pistas. Es importante captar la pista lo más rápido posible y proceder con la solución. Si no puede captar la pista, es una gran bandera roja.
  • Siempre haga preguntas relevantes antes de saltar a la solución para que quede más claro. Comprueba siempre tu suposición con el entrevistador y despeja todas tus dudas antes de dirigirte a la solución.
  • Su entrevistador quiere ver 3 cosas clave en su código. Debe funcionar rápido, no ocupar más memoria de la necesaria y es estable y fácil de mantener. Logre eso y ya estará por delante de la mayoría de la gente.

Links importantes:

Publicación traducida automáticamente

Artículo escrito por anuupadhyay 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 *