Amazon Interview Experience für SDE-1 | Amazon-WOW 2020

Blog

Amazon hat ein spezielles Programm namens AmazonWOW für Frauen. Es soll Frauen in der Technik fördern. Es ist eine sehr gute Gelegenheit für Frauen, da sie nur mit anderen Frauen konkurrieren müssen, nicht mit Männern. Die Online-Bewerbung kam im April. Das Programm besteht aus einem zweimonatigen Praktikum für Studenten im Vorabschlussjahr und einem Vollzeitpraktikum sowie einem Praktikum für Studenten im Abschlussjahr.



Es bestand aus insgesamt 4 Runden, zuerst war ein Online-Codierungswettbewerb und dann 3 Telefoninterviews.

** Online-Test: **



Was macht der Anzeigeblock?

Die erste Runde war eine Online-Codierungsrunde. Es bestand aus 2 Kodierungsfragen und 28 MCQ. Wir hatten 1,2 Std. Die Codierungsfragen waren recht einfach, aber MCQs waren sehr schwierig. Ich möchte sagen, dass Glück beim Knacken von Online-Codierungsrunden eine große Rolle spielt.

1. Erste Frage: Finden Sie die längste gemeinsame Teilfolge zwischen zwei Zeichenfolgen. Es ist eine Standardfrage zur dynamischen Programmierung, aber die Einschränkungen waren nicht sehr hoch, also habe ich sie mit Rekursion gelöst.



**2. Zweite Frage: **Die genaue Frage habe ich auf keiner Plattform gefunden, aber es war sehr einfach. Sie erhalten eine Zeichenfolge, die aus englischen Kleinbuchstaben besteht, und geben die Internet-Ressourcenadresse der Zeichenfolge zurück.

Die Internetressourcenadresse einer Zeichenfolge ist definiert als

: //.ru[/]

kann entweder http oder ftp sein.

ist eine Zeichenfolge, die aus englischen Kleinbuchstaben besteht.

ist eine nicht-mepty-Zeichenfolge aus englischen Kleinbuchstaben.

Beispiel: httpsunrux -> http://sun.ru/x

Für MCQs müssen Sie OOP und C++ beherrschen. :

**Runde 1: **

Für diese Runde bekam ich einen Amazon-Chime-Link und einen Live-Code-Editor-Link, in dem ich codieren musste. Der Interviewer begann damit, mich nach meiner Vorstellung zu fragen, und dann gab er seine Vorstellung. In meiner Einführung erzählte ich ihm von meiner Leidenschaft für kompetitives Programmieren, Schreiben und Lesen.

Dann gingen wir sofort zu Codierungsfragen über. Er sagte mir, dass ich nur 45 Minuten Zeit habe, um zu antworten, also muss ich den bestmöglichen Ansatz finden.

Tab-Ansicht Reaktiv-nativ

1. Erste Frage: Finde x ^ y mod z. Ich habe ihm den O(log(y))-Ansatz gegeben. Ich habe alle Randfälle abgedeckt, in denen x null oder negativ ist, wenn y null oder negativ ist. Wenn y negativ ist, sagte er mir, dass ich einen Fehler an den Benutzer zurückgeben soll. Ich habe richtig codiert, indem ich Einrückungen und geeignete Variablen- und Funktionsnamen verwendet habe. Ich habe int verwendet, um die Variable zu speichern, aber wenn der Wert sehr hoch ist, sollte ich long long int verwenden. Ich habe diesen Fall übersehen. Dann ging er zur zweiten Frage über.

2. Zweite Frage: Bei einer Reihe von Abhängigkeiten muss ich eine der geeigneten Reihenfolgen der Abhängigkeiten finden. Ich sagte ihm, dass ich dafür die topologische Sortierung verwenden werde. Er sagte mir, ich solle meinen Ansatz erklären und dann habe ich ihn codiert. Aber beim Codieren habe ich einen Randfall übersehen, in dem die Abhängigkeit zyklisch durchlaufen wird. Er sagte mir, ich solle meinen Code korrigieren. Ich habe meinen Code korrigiert, indem ich überprüft habe, ob in der Abhängigkeit ein Zyklus vorhanden ist.

3. Dritte Frage: Für diese Frage habe ich ihm zwei Ansätze gegeben, erstens wurde die Anzahl von x linear gezählt und zweitens eine modifizierte binäre Suche verwendet. Er hat mich nicht gebeten, diese Frage zu codieren.

Das Beste daran war, dass ich all diese Fragen bereits zuvor gelöst hatte, sodass ich dort nicht nervös wurde. Am Ende fragte ich ihn, wo ich mich verbessern kann. Er sagte mir, ich solle den Code überprüfen, bevor ich ihn schließlich dem Interviewer vorlegte.

Nach 12 Tagen wurde das Ergebnis dieser Runde bekannt gegeben.

**Runde 2: **

Auch für diese Runde wurde mir der Amazon-Glockenlink und der Live-Code-Link zur Verfügung gestellt. Der Interviewer hat mir zwei Fragen gestellt.

1. ** Erste Frage:** Fügen Sie jedem Knoten in einer bestimmten BST alle größeren Werte hinzu. Ich habe ihm eine O(n)-Zeitkomplexitätslösung gegeben. Anfangs hatte ich den falschen Code geschrieben, aber mein Ansatz war richtig. Er ließ meinen Code trocken laufen, wies auf den Fehler hin, den ich im Code gemacht hatte, und forderte mich auf, den Code zu korrigieren. Ich habe den Code korrigiert und er war mit meiner Vorgehensweise zufrieden. Ich erzählte ihm von der Zeitkomplexität, dh O(n). Ich sagte ihm, wenn wir den internen Stapel berücksichtigen, wird die Raumkomplexität o(n) sein, weil im schlimmsten Fall die Höhe von BST O(n) sein kann, wenn es verzerrte BST ist.

**2. Zweite Frage: ** Aber in dieser Frage gab er mir drei Bedingungen.

1. Sie können die Datenstruktur nur in eine Richtung durchlaufen.

2. Sie können keinen zusätzlichen Speicherplatz verwenden, z. B. einen In-Place-Algorithmus.

Das ausführbare Garn wurde im System nicht erkannt.

3. Sie können eine beliebige Datenstruktur Ihrer Wahl verwenden.

Mein erster Ansatz bestand darin, eine Array-Datenstruktur zu verwenden. Ich sagte ihm, dass ich beim ersten Durchlauf die Anzahl der negativen Zahlen ermitteln und dann damit beginnen werde, mein Ergebnisarray zu füllen. Aber er sagte, ich kann keinen zusätzlichen Speicherplatz gebrauchen.

Mein zweiter Ansatz bestand darin, einen binären Suchbaum zu verwenden, und das Ergebnis wird der Baum in der richtigen Reihenfolge durchlaufen. Aber er sagte mir, dass ich die von mir verwendete Datenstruktur zurückgeben muss.

Dann fragte er mich, welche Datenstruktur ich kenne. Ich sagte ihm, dass ich Heap, Queue, Stack, Single-Linked List und Double Linked List kenne. Dann kam mir plötzlich doppelt verknüpfte Liste in den Sinn und ich sagte ihm, dass ich doppelt verknüpfte Liste verwenden werde. Er sagte mir, dass man im Doppelgleis in beide Richtungen fahren kann. Dann sagte ich ihm, dass eine einzeln verlinkte Liste verwendet wird. Er sagte mir, ich solle Code schreiben und meinen Code trocken laufen lassen. Er war mit meinem Code zufrieden.

Mein zweiter Interviewer war eine sehr hilfsbereite und sachkundige Person. Am Ende sagte er, es sei schön, Sie zu interviewen.

Nach 11 Tagen wurde das Ergebnis der zweiten Runde verkündet.

**Runde 3: **

Auch für diese Runde wurde mir der Amazon Chime-Link und der Live-Code-Link zur Verfügung gestellt. Der Interviewer war ein sehr netter und entspannter Mensch. Er hat versucht, es mir bequem zu machen. Er stellte sich vor und dann gab ich meine kurze Einführung. In dieser Runde wurden mir zwei Fragen gestellt. Eine war eine Codierungsfrage und die andere war eine Frage zum Betriebssystem (Betriebssystem).

1. Erste Frage: Wenn wir einen gut optimierten Code haben, von welchen Faktoren hängt die maximale Anzahl von Threads in einem Prozess ab?

Wir hatten eine ungefähr halbe Stunde Diskussion zu diesem Thema. Ich erzählte ihm, wie Threads in der Client-Server-Anwendung verwendet werden, die Verwendung von Threads in einem Texteditor, der gleichzeitig Schreiben, Autokorrektur und Vorschläge durchführt. Er fragte mich, ob eine Site 1 Million Clients hat, dann werden 1 Million Threads erstellt, ich erzählte ihm von der Verwendung mehrerer Server. Ich sagte ihm die Nr. Thread hängt von den Ressourcen der Maschine ab. Ich sagte ihm, es hängt vom Speicher des Computers ab. Dann wollte Er wissen, welche Erinnerung es betrifft, Primärgedächtnis oder Sekundärgedächtnis. Ich habe gesagt, dass der Primärspeicher die Anzahl der Threads beeinflusst, da sich alle Prozesse / Threads im Primärspeicher befinden. Ich dachte auch an andere Faktoren, aber dann ging er zur Codierungsfrage über.

Danach sind wir zur Codierungsfrage übergegangen.

**2. Zweite Frage: ** Finden Sie die erste fehlende positive Zahl in einem Array.

Mein erster Ansatz bestand darin, Hashing zu verwenden, die Zeitkomplexität dieses Ansatzes war O(n) und die Raumkomplexität war O(n). Er sagte mir, ich solle es im konstanten Raum tun. Ich schlug ihm vor, dass ich jedes Mal, wenn ich auf ein Element stoße und wenn es kleiner als n ist, das Element bei diesem Index negativ mache. Dann werde ich das gesamte Array erneut durchlaufen und wenn ich einen Index finde, dessen Wert nicht negativ ist, bedeutet dies, dass das Element nicht vorhanden ist und es die erste fehlende positive Nr. ist. Wenn keine solche nein. gefunden wird, ist die Antwort n (Größe des Arrays) + 1. Dieser Ansatz funktioniert jedoch nicht für ein Array, das negative und sich wiederholende Nein enthält. Also habe ich meinen Code verbessert, um mit dem negativen und sich wiederholenden Nein umzugehen.

Er war mit meiner Vorgehensweise sehr zufrieden. Am Ende bat er mich, ihm eine Frage zu stellen. Ich fragte ihn, wie ich mich noch verbessern kann. Er schien sehr beeindruckt von mir zu sein. Er sagte mir, dass ich sehr scharf im Umgang mit allen Kantenfällen bin und sehr konzentriert bin.

Ergebnis: AUSGEWÄHLT

**Einige wichtige Tipps: **

1. Glaube immer an dich selbst.

2. Kommunikationsfähigkeiten spielen im Vorstellungsgespräch eine große Rolle.

3. Glück ist ein wichtiger Faktor, den man nicht ignorieren kann.

4. Seien Sie im Leben immer positiv. Egal wie schwierig die Situation ist, geben Sie nicht auf.

Next-App-Typoskript erstellen

5. Übung und Geduld sind der Schlüssel.

#interview erfahrungen #amazon #marketing #interview

www.geeksforgeeks.org

Amazon Interview Experience für SDE-1 | Amazon-WOW 2020

Ein Informatikportal für Computerfreaks. Es enthält gut geschriebene, gut durchdachte und gut erklärte Informatik- und Programmierartikel, Quizfragen und Fragen zur Praxis/Wettbewerbsprogrammierung/Unternehmensinterview.