Experiencia de entrevista de Amazon para SDE-1 | Fuera del campus 2021 – Part 1

Rol: SDE1

Fuente: naukri.com

Ronda en línea: 2 preguntas de codificación con análisis de complejidad de tiempo

  1. Similar a las coordenadas K más cercanas de Origen. (Montón)
  2. Un poco de modificación de 2-Sum, pero lo hice en modo Brute Force y pasó.

En la última prueba MCQ basada en el comportamiento.

Después de 5 días, recibí un correo electrónico en el que se menciona que tendré una conexión rápida con RR. HH. para el proceso de rondas.

La ronda 1:

  • Introducción rápida
  • Iterador BST https://leetcode.com/problems/binary-search-tree-iterator/ (Medio)
  • Calculadora básica https://leetcode.com/problems/basic-calculator/ (Difícil)
  • Resolví ambos, pero para el último, mi código no estaba completo al 100% porque nos estábamos quedando sin tiempo, pero di el enfoque y la Complejidad de tiempo final.

La ronda 2:

  • Paint House https://www.lintcode.com/problem/515/?_from=[‘ladder’]&fromId=[’16’] (Premium en Leetcode, por lo que se adjunta un recurso gratuito)
  • BFS en Grid, la pregunta era como si le dieran Matrix 2D con 0,1 y una coordenada inicial a partir de la cual tiene que cubrir todos los 1 y decir cuánto tiempo mínimo tomará hacerlo y si queda 1 devolver -1 .

Ronda 3 (Comportamiento, tomada por SDM III):

  • Esta Ronda fue como una breve Introducción, y comenzó con Preguntas LP
  • Una fecha límite que te perdiste.
  • Una Meta que pensaste que no vas a poder lograr pero lo lograste.
  • Una tarea más desafiante que hiciste.
  • Preguntas sobre conceptos básicos de CS, como la diferencia entre HTTP y HTTPS, subproceso y proceso, fuga de memoria en Java, Classfull IP y todas sus clases.
  • Después de aproximadamente una semana, recibí un correo electrónico de que voy a tener mi última ronda la próxima semana.

Ronda 4:

  • Una pequeña introducción
  • Preguntas de LP
  • 1 Preguntas de codificación (Ahora, para esto, quiero compartir que el entrevistador mismo tenía dudas, la pregunta era como si le dieran un árbol binario con al menos 2 niños y cada niño puede tener como máximo 2 padres, y tiene que encontrar una suma máxima de ruta de la raíz a la hoja)
  • Le pregunté cuál es la estructura de ese Node, así que dijo lo que piensas. Yo escribí esto:
  • Java

    class Node
      
    {
      
    int data;
      
    Node left;
      
    Node right
      
    }
  • Entonces dijo que sí, esto es (ahora estaba confundido, ¿cómo es que esto puede tener vínculos con Parent, tal vez no pueda conseguirlo?)
  • Ejemplo de caso de prueba:

                  1

               / \

            2 3

           / \ / \

         4 5 6

O/P: [1,3,6]
  • Entonces, la primera solución que di fue dfs normal basada en que pruebo cada ruta desde la raíz hasta cada hoja y en ese método tomo current_sum y una global_sum y la actualizo en consecuencia.
  • Java

    int ans = 0;
      
    List<Integer> finalAns;
      
    private void dfs(TreeNode root, int csum, List<Integer> ds)
      
    {
      
    if(root==null) return;
      
    if(root.left==null && root.right==null)
      
    {
      
     if(csum > ans)
      
     {
      
      ans = csum;
      
      finalAns = ds;
      
     }
      
     return;
      
    }
      
    ds.add(root.val);
      
    dfs(root.left,csum+root.val,ds);
      
    dfs(root.right,csum+root.val,ds);
      
    ds.remove(ds.size()-1)
      
    }
      
    pubic List<Integer> solve(TreeNode root)
      
    {
      
    this.ans = 0;
      
    this.finalAns = new ArrayList<Integer>();
      
    this.dfs(root,0,new ArrayList<Integer>());
      
    return this.finalAns;
      
    }
    
  • Complejidad de tiempo: O (más de N) No pude descifrarlo, pero supongo que es O (N ^ 2)
  • Entonces, me dijo que lo optimizara. Le dije que haré algo tipo Post Order Traversal y de izquierda a derecha traeré respuesta. Pero me dijo que esto no funcionará, así que no pude encontrar algo mejor.
  • Conclusión: tenga confianza en las preguntas de LP, analice primero la fuerza bruta.

    Veredicto: Rechazado

    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 *