Experiencia de entrevista de ServiceNow para ingeniero de software asociado | Presencial 2021

ServiceNow visitó nuestro campus en agosto para desempeñar el cargo de ingeniero asociado de software. Informática, Ingeniería Eléctrica y Electrónica, Ingeniería Eléctrica y de Comunicaciones, e Ingeniería Eléctrica y de Instrumentación fueron elegibles para postular a su perfil. El límite de CGPA fue 7.

Ronda 1 : La primera ronda fue una prueba de Hackerrank en línea que tuvo una duración de 60 minutos. Consistía en 1 pregunta de codificación y 15 MCQ que consistían en preguntas de temas como SO, DBMS, algoritmos, etc. 

  • La pregunta de codificación fue exactamente así: https://www.lintcode.com/problem/1915/

En general, la prueba fue de un nivel de dificultad moderado, la pregunta de codificación esperaba que escribiéramos la solución más óptima; de lo contrario, no se aprobaron un par de casos de prueba. Los MCQ fueron fáciles y uno podría resolverlos fácilmente si conoce los conceptos básicos de los fundamentos de CS como SO, DBMS, etc. 

20 estudiantes fueron preseleccionados para la siguiente ronda.

Ronda 2 (Entrevista técnica 1): se suponía que esta ronda duraría una hora, pero para mí duró 1 hora y 40 minutos. El entrevistador fue amable y comenzó haciendo algunas preguntas básicas: 

  • ¿Sabes algo sobre el caché? 
  • ¿Cómo implementaría LRU Cache? (No se requiere código, solo explique las estructuras de datos que usaría y por qué)

También utilicé tablas hash en mi enfoque para implementar la memoria caché LRU, por lo que hubo algunas preguntas de seguimiento:

  1. ¿Pueden las tablas Hash tener colisiones?
  2. ¿Cómo se pueden minimizar las colisiones?
  3. Si ocurre una colisión, ¿cómo resolverías el problema?

Después de esto me hicieron preguntas básicas:

Después de esto, pasó a las preguntas de DSA y me hicieron dos preguntas: 

Pude resolver ambas preguntas con la solución más eficiente sin tomar pistas. Las preguntas se dejaron abiertas a propósito y se esperaba que yo preguntara sobre casos extremos y otras limitaciones. Solo la función tenía que escribirse en CodePad y se suponía que debía ejecutar en seco mi código. También me preguntaron por la complejidad temporal y espacial de la misma.
Después de esto hizo algunas preguntas antes de terminar la entrevista:

  • ¿Qué es la estructura de datos de montones? ¿Qué es la complejidad del tiempo? 
  • ¿Conoces DBMS? ¿Cuál es la diferencia entre SQL y NoSQL? ¿Qué crees que usa YouTube, SQL o NoSQL? (Respuesta- Combinación de ambos)

Me preguntó si tenía alguna pregunta de seguimiento y le hice algunas preguntas relacionadas con la empresa.

Ronda 3 (Entrevista técnica 2): esta ronda se mantuvo dentro del límite de tiempo y duró aproximadamente una hora y 10 minutos. Una introducción general fue seguida directamente por preguntas DSA. Se me pidió que abriera un editor de código de mi elección y se me hicieron las siguientes preguntas:

  1. Implementar cola usando 2 pilas.
  2. ¿Cómo implementaría una cola que admita tanto push como pop desde el frente y la parte posterior? (Deque) (El entrevistador esperaba un enfoque de lista única enlazada)

Inicialmente di una solución que tomaría O(1) para empujar y abrir desde atrás y O(N) para empujar y abrir desde el frente. Luego me preguntó si podía optimizarlo aún más y convertirlo en O(1) para todas las operaciones. Estaba atascado y me dio una pista para mantener dos listas vinculadas separadas para diferentes operaciones. Pude desarrollar con éxito la sugerencia proporcionada y me ocupé de todos los casos extremos que uno encontraría. Estaba satisfecho con mi enfoque.

La siguiente pregunta de DSA fue una pregunta simple para invertir una lista enlazada (iterativa de un paso). Después de esto, me hicieron preguntas básicas relacionadas con la recolección de basura en C++, memoria de almacenamiento dinámico, estructura de datos de almacenamiento dinámico. También se me pidió que explicara cómo se implementa una estructura de datos Heap y se me pidió que escribiera un código para construir un montón a partir de una array dada (principalmente el foco estaba en la función Heapify). Después de esto, me preguntó si tenía alguna pregunta y procedí a hacer algunas preguntas sobre la empresa. La ronda terminó después de esto.

Ronda 4 (Ronda del gerente de contratación): esta fue otra ronda técnica + de recursos humanos que duró una hora. El gerente de contratación era una persona experimentada y probó mis fundamentos del lenguaje haciéndome preguntas sobre C++ como recolección de basura, conceptos de programación orientada a objetos y la diferencia entre Java y C++, y por qué Java es independiente de la plataforma mientras que C++ no lo es.
Publicar esto Me pidieron que diseñara Netflix. El foco principal estaba en la implementación del esquema de la base de datos. No pude resolver mucho pero él me dio pistas y me ayudó a llegar a una solución. Creo que el enfoque principal fue comprobar cómo abordaría el problema y él estaba contento con lo mismo. 
También me preguntaron qué estructuras de datos podría usar para varios servicios ofrecidos en la plataforma. 
Publicar esta discusión, 

Pude resolverlo en menos de un minuto y él estaba feliz. Después de esto, siguieron preguntas básicas de recursos humanos como cuáles son sus fortalezas, debilidades, explique una crisis que haya enfrentado en su vida y cómo la superó. ¿Qué hará si no es seleccionado para ServiceNow hoy? La entrevista terminó después de que le hice algunas preguntas sobre la empresa. 

Veredicto: Seleccionado
 

Se seleccionó un total de 5 estudiantes y el proceso de entrevista fue desafiante. Sin embargo, los entrevistadores fueron amables y me ayudaron cuando estaba atascado. 

Consejo adicional: Sea claro cuando dé una respuesta y trate de no hablar más de lo requerido. Muchas veces uno podría usar un término técnico que el entrevistador podría elegir y cuestionar. Además, no se asuste si no puede resolver una pregunta, solicite sugerencias e intente seguirlas para construir la solución. ¡Mis mejores deseos!

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 *