Saltar al contenido

Experiencia de entrevista de ServiceNow para ingeniero de software asociado (en el campus)

Experiencia de entrevista de ServiceNow para ingeniero de software asociado (en el campus)

Ronda 1 (Ronda de codificación en línea – Plataforma Hackerrank): Esta ronda consistió en 1 pregunta de codificación y 15 preguntas de opción múltiple. Esta ronda duró 60 minutos. No puede cambiar entre pestañas durante la prueba. También se toman instantáneas de la cámara web con regularidad.

La pregunta de codificación:

  1. Un analista financiero es responsable de una cartera de acciones rentables representadas en una matriz. Cada elemento de la matriz representa las ganancias anuales de una acción correspondiente. El analista reúne todos los diferentes pares de acciones que han alcanzado el beneficio objetivo. Los pares únicos son pares que difieren en al menos un elemento. Utilice el margen de beneficio para determinar el número de diferentes pares de acciones donde la suma de los beneficios de cada par es exactamente la cantidad objetivo.

    Ejemplo:

    stocksProfit = [5, 7, 9, 13, 11, 6, 6, 3, 3]
    target = 12 profit's target
    • Hay 4 pares de acciones con el total ganador igual al objetivo 12. Observe que hay dos pares (9, 3) ya que hay dos casos de 3 en stocksProfit: stocksProfits índices 2 y 7 e índices 2 y 8, pero solo se puede incluir uno.
    • Hay 3 pares diferentes de acciones: (5, 7), (3, 9) y (6, 6) y el valor de retorno es 3.

    Operación manual:

    Complete la función stockPairs en el editor a continuación.

    stocksPairs tiene los siguientes parámetros:

    ganancias de acciones int[n]: una matriz de números enteros que representan las acciones

    Beneficios

    Objetivo: un número entero que representa el beneficio objetivo anual.

    Devoluciones:

    int: el número total de pares encontrados

    Limitaciones:

    1  le N  le 5  times 10 ^ 5

    0  le stocks[i]  le 10 ^ 9

    0  le target  le 5  times 10 ^ 9

    Solución:

    Hay varias formas de solucionar este problema. Una de las mejores formas es utilizar hash. Otras posibilidades incluyen la clasificación y la técnica de dos punteros.

Ronda 2 (entrevista técnica 1 – 60 min.):

  • Cuéntame sobre ti
  • Se ha compartido un enlace al espacio de trabajo de colaboración donde dos o más personas pueden escribir / ver códigos escritos por otros.
  • Se hicieron las siguientes preguntas

    Se proporcionó un pequeño fragmento de codificación para encontrar y corregir errores.

    unsigned int i = 0;
    for(i = 100; i >= 0; i--) {
        printf(“%dn”, i);
    }
  • Con una lista vinculada con elementos sin clasificar, el trabajo consiste en eliminar los duplicados.

    Versión 1: sin espacio de almacenamiento adicional (puede afectar la complejidad del tiempo)

    Versión 2: se puede usar espacio de almacenamiento adicional y se puede crear una nueva lista

    Versión 3: se puede utilizar espacio de almacenamiento adicional, pero no se puede crear una nueva lista

  • Para una cadena de caracteres de longitud N que consta de alfabetos ingleses en minúsculas, la tarea es contar el número de subcadenas en las que la frecuencia de cada carácter es exactamente K.

    Versión 1: Fuerza bruta en todas las subcadenas – O (N ^ 3)

    Variante 2: optimizar un poco – O (N ^ 2)

    Versión 3: enfoque súper optimizado – O (N  veces D)  Donde D.  es el número de caracteres diferentes que están presentes en la cadena, es decir, 26

    También le mostré por qué mi enfoque funciona diciéndole que este era el problema que solía mejorar en Geeksforgeeks.

  • Discusión de uno de mis proyectos: si expandiera mi proyecto, ¿qué función implementaría?
  • El entrevistador me preguntó si tenía alguna pregunta.

Pude resolver todos los problemas sin ningún problema, el entrevistador quedó muy impresionado.

Ronda 3 (entrevista técnica 2 – 60 min.):

  • Cuéntame sobre ti
  • Se compartió un enlace a Collab que contiene todos mis códigos de la ronda anterior de la entrevista técnica.
  • Se hicieron las siguientes preguntas: Para una cadena de dígitos del 2 al 9, devuelva todas las combinaciones posibles de letras que podría representar el número. Devuelve la respuesta en cualquier orden. A continuación encontrará una asignación de números a letras (como con las teclas del teléfono). Tenga en cuenta que no se asigna 1 a ninguna letra.

    Input: digits = "23"
    Output:
    ["ad","ae","af","bd","be","bf","cd","ce","cf"]
  • Versión 2: También recibirá una lista de palabras; Su trabajo es averiguar cuántas palabras habrá en el resultado generado anteriormente
  • Hacer un seguimiento: ¿Puedes hacer eso? O (N  veces M)  Tiempo, donde N es el número de palabras y M es la longitud máxima de las palabras, siempre que la longitud de la cadena sea 15. no excede
  • Pregunta 2: ancestro común más bajo de dos nodos en un árbol

    Versión 1: LCA de dos nodos en el árbol de búsqueda binaria (usando la propiedad de BST)

    Versión 2: LCA de dos nodos en el árbol binario (con recursividad)

    Variación 3: LCA de dos nodos en el árbol N-ario (consulta única)

    Variación 4: LCA de dos nodos en el árbol N-ario (consultas múltiples): se puede resolver con Euler Tour + RMQ

  • Discusión de 2 de mis proyectos: la breve idea de por qué los hicimos, cómo los hicimos, el alcance del proyecto, etc.
  • ¿Tiene usted alguna pregunta?

Pude resolver todos los problemas y fue una muy buena experiencia. El entrevistador me ayudó cuando me quedé atascado resolviendo la versión 1 del problema del teclado.

Ronda 4 (ronda de entrevista HM – 90 minutos):

Preguntas básicas sobre recursos humanos

  • ¿Alguna vez te has sentido incómodo?
  • ¿Qué haces cuando te sientes incómodo?
  • ¿Cómo pasó el tiempo durante la pandemia?
  • ¿Te pusiste la vacuna?
  • ¿Qué sabes de la empresa?
  • Háblame de tu universidad
  • ¿Cuándo te gustaron más tus estudios?
  • ¿Alguna vez te has sentido incómodo en la universidad?
  • Entonces que hiciste
  • ¿Cómo convencer a una clase de 60 alumnos para que participe en una sesión? (No te escucharán, ya tienen 75% de asistencia, el castigo trae caos, ¿cómo los vas a convencer?)

Algunas cosas técnicas

  • Háblame de tus proyectos
  • Hable sobre los esquemas de base de datos utilizados en sus proyectos.
  • Si está buscando escalar su proyecto, ¿qué preferiría, escala vertical o escala horizontal o ambas?
  • Preguntas basadas en el diseño del sistema: requisitos funcionales, diseño de la interfaz de usuario, esquemas de base de datos, equilibrio de carga, etc.
  • ¿Tiene usted alguna pregunta?

Aquí también el entrevistador quedó muy impresionado, fue una conversación muy amistosa y saludable.

Algunas conclusiones clave:

  • El entrevistador siempre está ahí para ayudar. Siempre haga preguntas / sugerencias cuando se quede atascado. Asegúrese de comprender la descripción del problema.
  • Practica problemas de codificación. Hackerrank, GeeksforGeeks y Leetcode tienen una buena colección de problemas planteados en las entrevistas.
  • Realiza muchos proyectos interesantes. Los proyectos agregan un gran valor al currículum.
  • Nunca hables de tus debilidades. Nunca les des una razón para rechazarte

Veredicto: seleccionado para el puesto de ingeniero de software asociado

¡Atención lectores! No dejes de aprender ahora. Obtenga todos los conceptos principales de DSA con el Curso de autoaprendizaje de DSA a un precio asequible para los estudiantes y conviértase en apto para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y mucho más, lea Toma el curso de preparación para entrevistas. Si está preparado, pruebe sus habilidades con TCS, Wipro, Amazonas. Google , E-tornasol y Microsoft Serie de pruebas.

Source link