Ich habe kürzlich die Amazon SDE-Position gelöscht. Während meiner gesamten Vorbereitung spielte GeeksforGeeks eine große Rolle, dies ist die einzige Seite, die ich während der Vorbereitungsphase in mehr als 90 % der Fälle empfohlen/verfolgt habe. 

Nachfolgend finden Sie meine Erfahrungen mit Amazon. 
1 Schriftlicher Test 
1) Bei einem gegebenen Array von Zahlen finden Sie die nächstgrößere Nr rechts von jedem Element 
 

Example-    Input     12 15 22 09 07 02 18 23 27
            Output    15 22 27 18 18 18 23 27 -1

2) Gegeben eine Linkliste und Eingabe int K, Kehre die Linkliste in Slots der Größe K um 
 

Example Input 12--> 13--> 3--> 20--> 55--> 87--> 20--> 77--> 90 Lets k =3
Output 3--> 13->12--> 87--> 55--> 20--> 90--> 77--> 20

3) Gegebener Baum und Eingabe int K, Drucken Sie die Node, die k Abstand vom Blatt entfernt sind.  
Die Eingabe erfolgt unter Baum und k = 2 
 

Bild

Ausgang-2, 5, 4 

2. Erste F2F-Runde (DS und Algo) 
Zwei Interviewer waren im Panel, nur einer stellte eine Frage, der andere beobachtete nur. Er notierte alle Gespräche, die zwischen uns stattfanden, und bemerkte den von mir bereitgestellten Ansatz und die Lösung. Dies war in allen Interviewrunden üblich. 

1) Gegeben sei eine unendliche Folge von Nullen bzw. Einsen. Sie müssen den Übergangspunkt von 0 nach 1 finden. 
Ich habe die native Lösung in O(n) angegeben. Er sagte, um mehr zu optimieren. Die direkte binäre Suche kann darauf nicht angewendet werden, da die Zeichenfolge unendlich war und die Länge der Zeichenfolge nicht angegeben wurde. 
Ich sagte, dass ich die Schnur in 10 Schlitze teilen werde, um die Komplexität zu reduzieren. Trotzdem sagte er, er solle mehr optimieren. Ich sagte, ich werde die Slot-Größe in Potenzen von 2 wie 2,4,8,16,32 erhöhen. damit war er zufrieden. 
Er verkompliziert es erneut, indem er hinzufügt, dass meine Zeichenfolge jetzt 0, 1, 2 in sortierter Reihenfolge enthält. Sie müssen den Übergangspunkt von 0 zu 1 und 1 zu 2 finden. Ich habe den Ansatz bereitgestellt. 
Nachdem das diesmal gesagt wurde, möchte ich es generisch machen. Die Zeichenfolge kann 0 bis n (Eingabe) enthalten, um alle Übergangspunkte zu finden. Ich habe es gelöst, er war mit dem Ansatz zufrieden und sagte mir, ich schreibe Code dafür. 

2) Finden Sie gemeinsame Elemente aus zwei sortierten Arrays 

3. Zweiter F2F (DS und Algo) 

1) Es war etwas schwierig für mich zu knacken, sagte sie und fragte nach Java-Klonen, was mein schwacher Bereich war. Gegeben ist eine Klasse, die den Namen der Zeichenfolge und den Verweis auf die Person Freund enthält, wie unten deutlich gezeigt. 
 

Class A {
   A(String str, Person P { //Constructor
       this. name = str;
       this.friend= P ;
   }
   // override
   Clone() {
       // code for this function was expected from me
       // which can produce the deep copy
   }
}

Angenommen, A–>B–>C–>D bedeutet, dass A ein Freund von B ist, der wiederum ein Freund von C ist usw. Wenn 
Sie die Clone-Methode einmal aufrufen, wird die gesamte Freundesliste wie 
A'–>B'–>C' geklont. –>D' (dort ist A' der Klon von A). 
Das zu knacken war wirklich schwierig für mich, weil ich mit diesen Fragen nicht vertraut war. 

2) Wie man das letzte n-te Element aus der Liste der einzelnen Links findet, war für mich sehr einfach. 
In 2 min gelöst und den Code schnell geschrieben. 

3) Bei einem sortierten Array aus Zahl, Wert K und Wert X, finde die Zahl K, die dem Wert am 
nächsten 
liegt 
Der Interviewer hatte keine Zeit mehr, weil die 1. Frage sehr viel Zeit in Anspruch nahm. Also sagte sie, sie solle nur die Anfahrt mitteilen, Code wurde nicht erwartet. 

4. Dritter F2F (Bar Raiser) 
 

Interviewer war von freundlicher Natur. Er war ein sehr erfahrener und sehr cooler Typ. Begonnen mit meiner Projektfrage und dann einigen Verhaltensfragen und zuletzt einer technischen Frage
  1.  
Was ist Ihr aktuelles Projekt, Welchen Wert haben Sie Ihrem Projekt bisher hinzugefügt.
  1.  
Welchen Herausforderungen sind Sie während der Projektarbeit begegnet und wie haben Sie diese gemeistert?
  1.  
Was war das wichtigste Learning für Sie im letzten Projekt?
  1.  
Wenn Sie die Möglichkeit haben, 3 Jahre im Leben zurückzugehen, was würden Sie dann gerne im Leben ändern, dh welche Fähigkeiten und Schritte/Entscheidungen Sie erlangen oder ändern möchten.
  1.  
Was du in der Vergangenheit getan hast, worauf du stolz bist.. blaa blaa….
  1.  
Wie finden Sie bei einem gegebenen Baum die vertikale Summe der Node?
  1.  
Verweisen Sie auf diesen Link, um mehr über die Frage zu erfahren
  1.  
Drucken Sie einen Binärbaum in vertikaler Reihenfolge
  1.  
Ich habe die Lösung mit Hash Map gegeben, aber er war mit der Antwort nicht zufrieden. Er sagte, er solle eine andere Lösung geben, da die Hash-Karte die Raumkomplexität erhöhen wird. Ich habe eine Array-Lösung verwendet, die die Zeitkomplexität erhöht, dann habe ich eine kreisförmige Linkliste verwendet und sie schließlich mit einer doppelten Linkliste gelöst. Er war mit der Lösung zufrieden. Sagte mir, ich solle dafür codieren.

5. Vierte f2f-Runde (OOPS, Entwurfsmuster und Betriebssystem grundlegend) 
 

  1.  
Begonnen mit meinen Projektdetails, mein Projekt war in Android Mobile, also sagte er mir, ich solle eine „Kontaktanwendung“ entwerfen. Klassendiagramm und ihre Beziehung wurde von mir erwartet. Was für ein Designmuster Sie darin verwenden können.
  1.  
Erklären Sie die Vererbung und die Basisklasse ist gegeben. Sie müssen aufhören, die Methoden der Basisklasse verfügbar zu machen, ohne die Basisklasse überhaupt zu berühren. Es war wirklich schwierig. Frage, ich mochte es.
  1.  
Was ist Deadlock und wie erkennt man Deadlock im System?
  1.  
Konzept der Datenbanknormalisierung und verschiedene Arten davon.
  1.  
Er fing auch an, einige Networking-Fragen zu stellen. Wie TCP/IP, Socket-Verbindung.
  1.  
Wie der Chat zwischen 2 Benutzern intern funktioniert, wie die Pakete intern zwischen den Schichten fließen. Angenommen, Benutzer A sendet eine „Hi“-Nachricht an Benutzer B und Benutzer B fährt einfach das System herunter. Was wird in diesem Fall passieren.

6. Fünfter f2f (Einstellungsmanager) 
 

  1.  
Warum Sie Amazon beitreten möchten.
  1.  
Was wussten Sie über Amazon.
  1.  
Aktuelle Projekterklärung.
  1.  
Welchen neuen Code Sie implementiert haben und wie viel Einfluss er auf andere hatte.
  1.  
Schreiben Sie bei gegebenem Baum den In-Order-Durchlauf. Ich habe in 2 Minuten mit Rekursion geschrieben.
  1.  
Die nächste Ergänzung war, können Sie es mit Iteration schreiben, versucht und einen fehlerhaften Code geschrieben.
  1.  
Er begann mit der Überprüfung und teilte den Fehler mit und sagte mir, ich solle ihn korrigieren. Obwohl ich die gleiche Frage bei mir zu Hause gelöst habe, hat es mir immer noch nicht geklickt. Ich fing an, es zu korrigieren, scheiterte aber. Danach gab der Interviewer einen Hinweis. Ich habe den Hinweis benutzt und den ganzen Code nochmal gelöst. Er hatte keine Zeit mehr, also nahm er das Codeblatt und sagte, ich werde es später in der Freizeit überprüfen.
  1.  
Unter diesem Link finden Sie die tatsächliche Lösung und das richtige Verständnis der letzten Frage
  1.  
Inorder Traversal ohne Rekursion 
 
 

Nachricht für alle: - 
Amazon erwartet einen genauen und präzisen Code mit weniger Komplexität. Besprechen Sie also zuerst mit Ihrem Gesprächspartner die Vorgehensweise. Springen Sie nicht in den Code. 
Selbst wenn Sie nicht die richtige Antwort wissen, diskutieren Sie weiter verschiedene Möglichkeiten, um die Frage zu lösen, und versuchen Sie, das Problem aus einem anderen Blickwinkel zu lösen. Üben Sie mehr und mehr Wahrheitsfragen. 

Viele, viele Glückwünsche an den Autor. Wenn Ihnen GeeksforGeeks gefällt und Sie etwas beitragen möchten, können Sie auch einen Artikel schreiben und Ihren Artikel an review-team@geeksforgeeks.org senden. Sehen Sie, wie Ihr Artikel auf der Hauptseite von GeeksforGeeks erscheint, und helfen Sie anderen Geeks. 

Alle Übungsaufgaben für Amazon