Experiencia de entrevista de Microsoft para SDE-1 (Hyderabad)

Tengo alrededor de 1,5 años de experiencia y recibí una llamada de un reclutador a través de LinkedIn.

Ronda 1 (Nivel de dificultad – Medio): Prueba de codility de 90 minutos que comprende 3 preguntas de codificación.

  • Primera pregunta: número mínimo de paréntesis necesarios para que la string sea un paréntesis válido.
    Se espera que esta pregunta se resuelva en un solo recorrido, de lo contrario, da TLE.
  • Segunda pregunta: la substring más pequeña que aparece solo una vez en una string determinada
    https://www.geeksforgeeks.org/smallest-substring-occurring-only-once-in-a-given-string/
  • Tercera pregunta: relacionada con la array y el DP, fue difícil y requirió mucho tiempo
  • Requerido resolver el 50% para pasar a la siguiente ronda

Ronda 2: (Entrevista Técnica Ronda-1) Nivel de Dificultad – Medio: El entrevistador ha proporcionado un enlace de codificación y me ha pedido que resuelva un solo problema.

  • Pregunta : dado un BST, encuentre dos Nodes colocados incorrectamente en el árbol. 
     Nota : primero resuélvalo utilizando un enfoque de fuerza bruta y luego proporcione una solución optimizada. Lo resolví usando un simple recorrido en orden y he dado el resultado requerido.
  • El entrevistador fue muy amable y me ayudó cada vez que me atasqué.

Ronda 3: (Nivel de dificultad – Difícil): El entrevistador ha dado un vínculo de codidad con dos problemas y me pidió que los resolviera.

  • Primera pregunta:  https://www.geeksforgeeks.org/program-generate-possible-valid-ip-addresses-given-string/
  • Segunda pregunta: dadas 2 ciudades A y B y dada una array de pares (costoA, costoB) donde costoA = costo de trasladar personas a la ciudad A y costoB = costo de trasladar personas a la ciudad B. Escriba un programa para trasladar a 2N personas a ambas ciudades A y B tales que N personas están en A y N personas están en B y el costo es mínimo.
    Enfoque : ordené la array en función de la diferencia en el costo de ambas ciudades. La clasificación se puede realizar mediante una interfaz de comparación en Java.

Ronda 4: (Nivel de dificultad – Medio): esta ronda fue realizada por el gerente del proyecto.

Ronda 5: (Nivel de dificultad – Difícil): esta ronda fue realizada por el Gerente de ingeniería de software. Proporcionó un enlace de codility con 1 problema para resolver

  • Pregunta: Dados 2 valores N, Sprint todas las combinaciones de N números tales que su suma sea S.
    Ejemplo: Entrada – N=2, S=6 
    Salida: [0,6],[1,5],[2,4] ,[3,3],[4,2],[5,1],[6,0].
  • El problema podría haber sido simple si N = 2, pero N varía y se permiten repeticiones y todas las combinaciones. Lo resolví usando un enfoque recursivo en el que un número se mantiene constante y comencé a llenar otros números de modo que la suma sea igual a S.

Ronda 6: Ronda AA (Nivel de dificultad – Medio): Esta es la ronda final llamada AA (Según corresponda). El entrevistador ha dado un enlace de codidad con 1 problema a resolver.

  • Pregunta: Dada una array de 2N números, reorganice la array de modo que los números pares estén en índices pares y los números impares estén en índices impares. No hay espacio adicional para ser utilizado.
  • Lo resolvió usando un solo recorrido, y el entrevistador ha probado el código contra múltiples casos de prueba y todos los casos de esquina. 

Sugerencia: el enfoque principal en Microsoft es la resolución de problemas y las habilidades de diseño de sistemas. Practicar LeetCode y las preguntas etiquetadas de Microsoft en gfg ayuda mucho.

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 *