Experiencia de entrevista en Amazon para pasantía SDE (en el campus)

Clasificación en línea de Amazon. Entonces esta ronda tuvo lugar en la plataforma AMCAT. Las preguntas se repitieron y la mayoría de las preguntas estaban disponibles en Internet.

Entonces esta ronda tuvo 4 partes:

  1. Depurar
  2. aptitud
  3. comportamiento
  4. Codificación

La ronda de codificación fue bastante sencilla, algunas preguntas que encontré fueron:

  1. Haga una copia de la lista vinculada utilizando punteros aleatorios.
  2. Busque en una matriz ordenada fila por fila.
  3. Puente sobre un diagrama.
  4. https://leetcode.com/discuss/interview-question/373006

Todas las preguntas estaban disponibles en Internet.

Entrevista técnica 1: Aproximadamente 2500 personas dieron la primera ronda en línea y solo 161 estudiantes tuvieron la oportunidad de realizar la entrevista. Así que mi entrevista tuvo lugar una semana después de que se anunciaran los resultados de la ronda online.

Asistí a la reunión en Amazon Chime. El entrevistador me pidió directamente que me uniera a la plataforma de codificación en vivo donde me hizo mi primera pregunta de codificación.

Me dijo que le diera un enfoque óptimo, y solo cuando esté satisfecho con mi enfoque puedo escribir el código. Le dije mi enfoque, aunque me proporcionó algunos consejos para guiarme en el enfoque correcto.

Pregunta 1: Dados los n√ļmeros de matriz de n enteros y un destino entero, ¬Ņhay elementos a, b, cyd en n√ļmeros tales que a + b + c + d = destino? Encuentre todos los cuatrillizos √ļnicos en la matriz que suman la suma del objetivo.

Tenga en cuenta que el conjunto de respuestas no puede contener cu√°druples dobles.

Input: nums = {1,0,-1,0,-2,2}, target = 0
Output: [[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]

Se basó en DP en árboles, el primer enfoque que le dije fue un enfoque de fuerza bruta. Quería que hiciera esto en O (N) para que pudiera encontrar una solución en 4-5 minutos. Así que tuve que codificarlos en 45-60 minutos, incluida la discusión del enfoque y la complejidad del tiempo.

En general, haber enfrentado estos problemas por primera vez fue una experiencia increíble y casi lo hice bien. Fue una sensación increíble, super satisfactoria.

Pregunta 2: Usando la raíz de un árbol binario, determine el valor máximo V para el cual existen diferentes nodos A y B, donde V = | A.val РB.val | y A es un antepasado de B.

    8
   / 
  3   10
 /     
1    6   14
    /     
   4    7   13

Entrevista técnica 2: Ha sido una gran vuelta, aunque no lo he hecho bien. El entrevistador fue muy amable y solo observó lo que estaba pensando mientras abordaba la pregunta.

Así que me pidió directamente en esta ronda que me uniera a la plataforma de codificación en vivo. Luego me dio una pregunta para resolver, le pregunté si le gustaría escuchar mi enfoque a lo que su respuesta fue NO,

Me dijo que estaba emocionado de ver cómo abordaría el problema. En esta ronda, ni siquiera esperaba un código adecuado sin errores. Solo le interesaba conocer mi proceso de pensamiento y cómo abordaba el problema.

Pregunta 1: Obtienes una serie de n√ļmeros. Debe devolver una matriz de cadenas particionada donde subcadena (i-1) th + (i-2) th = i-th subcadena.

Si no es posible, devuelva una matriz de cadenas vacía.

Por ejemplo:

Input:                  Output:
"111122335"   ------>   {"1","11","12","23","35"}  
Input:                  Output:
"112233"      ------->  {"11","22","33"}
Input:                  Output:
"11314"       ------->  {"11","3","14"} or {"1","13","14"}
Input:                  Output:
"13234113"     -------->{}

Así que di una solución para dar marcha atrás a la primera pregunta. La complejidad del tiempo era alta y no pude reducirla (aunque codifiqué la solución de retroceso correctamente).

Pregunta 2:

B, C, D reports to A
E, F, G reports to B
H, I report to C
J, K, L reports to H
M, N reports to K
O, P reports to J
Input:
Emp1: O
Emp2: M
Output:
C

Esta fue la segunda pregunta que no se hizo de otra manera. Tenía que averiguar qué hacer con él.

Me dijo que necesito dise√Īar una estructura de datos para almacenar toda esta informaci√≥n y crear un programa adecuado para mostrar c√≥mo almacenar√© valores en la estructura de datos.

Luego resuelve la pregunta para la entrada dada.

En lugar de A, B, C, D, etc., puede haber una identificaci√≥n √ļnica para cada empleado y no hay l√≠mite para el n√ļmero de personas que pueden informar a una persona. Para la segunda pregunta, construir√© un √°rbol N-ario para la soluci√≥n. B√°sicamente, la salida fue el antepasado menos com√ļn de los valores de entrada.

Así que hice un programa para toda la estructura con todas las entradas y salidas (incluida la forma en que coloco los datos dados en la estructura de datos).

No pude reducir la complejidad temporal de la solución que me pidió que resolviera en O (1) u O (N).

Si te gusta GeeksforGeeks y quieres hacer una contribución, no dudes en escribir un artículo también. post.geeksforgeeks.org o envíe su artículo a contrib@geeksforgeeks.org. Consulte su artículo en la página principal de GeeksforGeeks y ayude a otros geeks.

Mejore este art√≠culo si encuentra algo incorrecto haciendo clic en el bot√≥n “Mejorar art√≠culo” a continuaci√≥n.

Etiquetas de artículo:


1

Escríbanos a beitrag@geeksforgeeks.org para informar problemas con el contenido anterior.