Experiencia de entrevista de Google SDE-1 (fuera del campus) 2022

Ronda 1 : reanudar la preselección

Ronda 2 : llamada del reclutador (conversación telefónica de 15 a 20 minutos)

Ronda 3 : entrevista telefónica (entrevista técnica de 45 minutos realizada en la reunión)

Pregunta realizada: https://leetcode.com/problems/time-needed-to-inform-all-employees/

Se hizo una variación de esta pregunta porque no se proporcionó el Node principal, es decir, no estaba seguro a qué director general le daría el mensaje y mi tarea era primero averiguar qué Node debería ser el punto de partida y luego encontrar el total. tiempo necesario para llegar a todos los empleados. 

Además, la entrada no era un número entero simple, era una estructura que contenía el nombre, la identificación del empleado y una serie de empleados que reportaban a ese empleado. Continué con los gráficos para resolver esta pregunta, primero ejecuté un DFS para averiguar el Node principal que es el empleado al que, si el director ejecutivo da el mensaje, llega a todos los empleados y luego ejecuté un BFS para averiguar el tiempo total necesario para el mensaje para llegar a todos los empleados.

Ronda 4 : entrevista en el sitio (realizada en la reunión: ronda GNL de 15 minutos, técnica técnica de 45 minutos)

Ronda GNL: ronda de Googliness y Liderazgo en la que se hacen preguntas basadas en el comportamiento para verificar si el candidato es el adecuado para la cultura de Google.

Preguntas hechas:

  • ¿Cuántos números binarios de longitud n son posibles?

por ej. n=2, los números binarios posibles son – 00,01,10,11 de manera similar para cualquier longitud n el número total de posibilidades será 2^n

  • https://www.techiedelight.com/find-n-digit-binary-strings-without-consecutive-1s
    Se hizo una variación de esta pregunta de que no deben estar juntos dos ceros consecutivos.
    Abordé la pregunta con recursividad, luego la optimicé con programación dinámica y, finalmente, el código más optimizado no usó ningún espacio adicional y tenía una complejidad de tiempo O (n).
  • https://math.stackexchange.com/questions/1322767/find-a-recurrence-relation-for-the-number-of-ternary-strings-of-length-n-that-do
    Se hizo una variación de esta pregunta que no deben estar juntos dos ceros consecutivos y tres unos consecutivos. Mi enfoque fue similar a la pregunta anterior, primero comience con recursión que con programación dinámica y la solución final fue O (n) complejidad de tiempo sin espacio adicional utilizado

Ronda 5 (Entrevista presencial) 

Realizado en la reunión: 15 minutos ronda GNL, 45 minutos técnico

Pregunta formulada: dadas las ecuaciones de entrada, la salida es verdadera o falsa

For ex. {a>b, b>c ,c>d, d>a} is this input true or false?

Aquí la entrada se contradice, por lo que la salida será falsa. Mi enfoque fue considerar todas las variables como Nodes del gráfico y luego dibujar un borde desde el vértice u hasta v si u>v y la salida será falsa si hay un ciclo presente en el gráfico.

El tipo topológico de DFS se puede utilizar para detectar ciclos en gráficos dirigidos.

Ronda 6 (Entrevista presencial):

Realizado en Meet: 15 minutos GNL redondo 45 minutos técnico

Preguntas hechas

  • Dada una string de caracteres de entrada, devuelve el índice donde s[i] < s[i-1]
For ex. - "De-Hi&yaR2"
Output - 7  

Explicación: el guión, el ampersand y otros caracteres que no son alfabetos no tienen que considerarse para el orden alfabético de la string y las letras mayúsculas o minúsculas no importan como e> d y también e> D, por lo que mi enfoque al resolver la pregunta fue para convertir todas las letras a minúsculas y luego compararlas e ignorar otros caracteres si se encuentran.

  • Se proporciona una array donde arr[i] contiene la frecuencia del número presente en arr[i+1] y se supone que debemos implementar el método next() y hasNext() de tal manera que hasta que la frecuencia de todos los números sea 0, hasNext() devuelve verdadero y siguiente() devuelve el primer número mientras atraviesa una array que tiene una frecuencia distinta de cero.

por ej. [0,5,1,2,3,0,5,2]

Salida: si se llama a next(), devolverá 2, ya que la frecuencia de 2 es 1 y el valor anterior, que era 5, tiene una frecuencia de 0, por lo que no se devuelve, ahora la frecuencia de 2 se convertirá en 0 cuando next() muestra el valorar.

Ahora, cuando se vuelve a llamar a next(), generará 0, ya que la frecuencia de 0 es 3 y ahora se convertirá en 2. Se puede llamar a next() varias veces hasta que hasNext() no devuelva falso.

Publicación traducida automáticamente

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