Wie wird Google ein Interview geben: Was soll sein, was nicht?

    In den letzten Wochen hat eine Welle von Artikeln zu Habré über die Durchführung von Interviews zugenommen.

    Google sucht ständig nach Ingenieuren. Wie SRE kann ich mit Sicherheit sagen, dass Sie in unseren Reihen gebraucht werden . Kekse in den Miniküchen und Kaffee in den Kaffeemaschinen warten auf Sie. Sie müssen nur ein Interview bestehen. Es ist schwierig, aber real - nachdem ich meine Geschichte als Bewerber beschrieben habe , und jetzt mache ich unter anderem auch Interviews. Nun werde ich Ihnen sagen, wie wir Interviews mit Ingenieuren führen.

    Nein, ich bin kein Personalvermittler geworden. Der Interviewprozess beinhaltet zunächst ein Gespräch mit einem Personalvermittler. Dies ist ein allgemeines Gespräch „Was-Wo-Warum“ (dh eine Beschreibung des Prozesses für Ihren speziellen Fall) und die sehr beliebte Vorführungaus dem Multiple-Choice-Fragebogen. Das Screening auf einmal erschien mir sehr einfach, ich vermute, dass Sie solche Fragen bereits hundertmal beantwortet haben. Dann werden die Interviews bereits von Ingenieuren geführt - von Ihren zukünftigen Kollegen (nah oder fern, so wird sich herausstellen, unser Planet ist sehr klein).

    (Wichtig: Ich beschreibe den Prozess, den ich für Engineering-Positionen kenne (Software Engineer (SWE) und Site Reliability Engineer (SRE)). Für Praktikanten ändert sich der Prozess, ebenso wie der Prozess grundsätzlich anders sein kann, wenn die Personalabteilung den Prozess anpasst, um dies zu erreichen Nutzen Sie die hier angegebenen Informationen nur, um eine Vorstellung von dem zu erhalten, was Sie erwartet - aber keinesfalls ein öffentliches Angebot! Die genauen Informationen darüber, wie der Prozess für Sie persönlich abläuft, sind nur Informationen Ihres Personalbeschaffers. Die Informationen können auch bereits veraltet sein - überprüfen Lesen Sie den Abschnitt Wie wir einstellen, um aktuelle Informationen zum Zeitpunkt des Lesens des Artikels zu erhalten.

    Zunächst werden mehrere Interviews durch Hangouts / Meetings geführt. Dies ist ein vollwertiges Interview. Wie ich oben sagte, werden Ingenieure interviewt, und es wird davon ausgegangen, dass der Kandidat "laut denken" wird + ein Dutzend oder zwei Zeilen in einer beliebigen Programmiersprache schreibt (ja, leider in Google).

    Mein Interview ist für ~ 45 plus oder minus zehn Minuten ausgelegt, aber normalerweise versuche ich, genau 45 Minuten zu passen. Ab diesem Zeitpunkt fünf Minuten für eine kurze Bekanntschaft und allgemeine Informationen, 30-35 Minuten für Fragen und Diskussion, dann fünf Minuten für die Fragen des Kandidaten (falls vorhanden).

    Im Allgemeinen ist der Zweck des Interviewers das Sammeln von Informationen auf mehreren Skillachsen.Kandidaten (z. B. Codierbarkeit, Kenntnisse von Algorithmen und Datenstrukturen usw.). Das Wichtigste im Interview ist es jedoch, herauszufinden, wie eine Person denkt. Das heißt, es ist immer wichtig, die Grenze zu finden, wenn eine Person die Lösung nicht kennt. Jeder Interviewer hat seine eigene Technik (insbesondere für Telefoninterviews): Jemand hält ein Dutzend Fragen bereit, vom Aufwärmen (buchstäblich Schreiben eines Drei-Zeilen-Zyklus) bis hin zu schwierigen Fragen. Jemand hat 2-3 „Lieblingsfragen“, von denen jede in ein Dutzend Seiten gedreht werden kann und sowohl vereinfacht als auch kompliziert sein kann - je nachdem, was der Gesprächspartner zeigt. Ich bin mir sicher, dass es mehr Möglichkeiten gibt, aber ich weiß nichts davon.

    Ich habe beide Techniken ausprobiert, und ich bevorzuge die letztere: Je nach Lebenslauf und Selbsteinschätzung des Kandidaten verwende ich eine geeignetere Form der Frage. Die Frage ist immer offen (schließlich, wann haben Sie zuletzt die genaue Problemstellung in unserer Branche gesehen?) - Je nachdem, was der Kandidat fragt und fragt, vereinfache oder kompliziere ich die Frage so, dass der Kandidat bis zum Ende der ersten etwa 10 Minuten schrieb schon eine triviale Lösung. Es ist selten schwierig, schließlich ist eine Lösung trivial.

    Es ist auch trivial, die Fragen zu stellen: "Warum sind Sie sicher, dass es funktioniert?" (Wenn der Kandidat die Grenzen der Anwendbarkeit oder der Tests nicht sofort beschrieben hat) und welche Komplexität der Lösung besteht. Es gibt lediglich Informationen, dass der Kandidat weiß, was er schreiben soll, und versteht, was er geschrieben hat. Aber es ist nicht genug, um Code zu schreiben - Sie müssen nachdenken können, daher folgen Fragen: Wie werden Einschränkungen aufgehoben? Wie geht es besser? Entweder (was geschieht, wenn der Kandidat sehr gut ist oder die Lösung nur aus Erfahrung kennt), wie der Code mit diesen oder anderen zusätzlichen Einschränkungen funktioniert.

    Das gibt gleich eine Reihe von Signalen - wie viel weiß der Kandidat, wie er sich an die Aufgabenänderungen anpassen kann? Und wie bereit ist es, über stark alternative Lösungen nachzudenken? Die Diskussion selbst ist auch von Interesse - die Frage wird immer so offen wie möglich gestellt, daher gibt es Dutzende von Wegen, sie zu verstehen. Wird das Geschäftsumfeld geklärt oder sind es nur technische Einschränkungen? Werden technische Einschränkungen berücksichtigt? Zum Beispiel sagte ich mehrmals, dass "1e12 Objekte erwartet" waren, und der Kandidat schätzt nicht, wie viel es ist. Und das ist fast ein Terabyte, wenn Byte pro Objekt. Oder ~ 116,5 Gigabyte pro Bit. Oder 4,3 Terabyte, wenn int32. Nun, du verstehst. Nein, es ist nicht notwendig, sich daran zu erinnern - nicht bei der Prüfung, niemand hat den Rechner ausgewählt. Das Telefon ist ja auch in der Suche. Und übrigens kannst du fragen.

    Und so werde ich die Komplexität erhöhen oder einfach die Aufgabe für die gesamte verfügbare Interviewzeit ändern. Ja, es ist möglich, dass dies für den Befragten das Hauptarbeitsbrot ist, und er frisst solche Aufgaben zum Frühstück, Mittag- und Abendessen. In diesem Fall hat meine Reisekarte eine ganz andere Frage. Zum Beispiel anstelle von Diagrammen zur dynamischen Programmierung. Oder auf Listen. Oder sogar die Frage, wo die optimale Lösung eine Menge erfordert. Die Hauptsache ist eine andere Entourage, eine andere Aufgabe.

    Das Wichtigste dabei ist, gleichzeitig eine sehr einfache Aufgabe zu erteilen, damit der Kandidat entscheiden und grundlegende Fähigkeiten zeigen kann, und die Komplexität auf ein Niveau anheben kann, auf dem der Kandidat die Antwort nicht kennt, damit er zeigen kann, wie er denkt. Wenn Sie gleichzeitig eine Lösung für eine komplexere Aufgabe finden können, ist dies hervorragend, aber wenn der Kandidat überhaupt alles lösen konnte, dann ist dies die Panne einer Person, dass er eine noch komplexere Frage nicht vorbereitet hat.

    Wünschen Sie Besonderheiten? Hier ist eine der Fragen, die Sie NICHT einfach stellen werden, nur weil sie als "durchgesickert" betrachtet wird - das heißt, der Kandidat wird wahrscheinlich nicht über ihn nachdenken, sondern sich erinnern. Wie ich oben geschrieben habe, ist es wichtig, wie der Kandidat denkt und nicht, wie er sich erinnert ... Die Frage ist also: LRU-Cache implementieren .

    Im Allgemeinen ist die Aufgabe schön, da sie viele Arten von Aufgaben und viele Interpretationsformen zulässt. Sie können beispielsweise direkt in der Stirn eine Frage stellen: „LRU-Cache implementieren“. Es kann folgendermaßen formuliert werden: „Stellen Sie sich vor, dass unser Service zur Bearbeitung einer Anfrage das Vorhandensein eines externen Objekts überprüft. Wie können wir die Verarbeitung beschleunigen? “- mit einem sehr naheliegenden Satz„ Lass uns einfach das Ergebnis zwischenspeichern “. Was kannst du fragen "wie?" Und "was ist, wenn wir den maximalen Speicherbedarf dieses Caches steuern möchten?". Die Frage bleibt offen - und welche API sollte dieser Cache bereitstellen. Der Einfachheit halber können Sie immer reduzieren, um (Schlüssel, Wert) + get (Schlüssel) zu setzen; Sie können aber TTL hinzufügen. Mit get (key, fetch_func) ist es möglich. Im Allgemeinen kann die Bewertung der vorgeschlagenen API auch ein zusätzliches Signal für die Erfahrung und Denkweise des Kandidaten geben.

    Eine triviale Hashmap-Lösung gibt O (1) für get () + O (N) für set () (dies ist das gleiche, oder?). Wenn alle Elemente zusätzlich verknüpft sind (durch Erstellen einer Doppelverknüpfung), ist es möglich, O (1) für beide Operationen zu erhalten. Wenn Sie eine TTL hinzufügen müssen ... Ich denke, die Idee ist klar. Wenn Sie möchten, lassen Sie uns in den Kommentaren besprechen: Stellen Sie sich vor, was Sie diese Frage gestellt haben, wie werden Sie denken? Welche Lösung schlagen Sie vor? ..

    und in welcher Programmiersprache? Ja, wie, in welcher am meisten. C ++? Wunderbar Gehen Großartig Python? Immer gerne. Perl? Heute ist selten, aber auch ja. Und Java, ja. Und Javascript (auch wenn die Erinnerung an die Lösung schwieriger ist).

    Nach ca. 40 Minuten nach Beginn des Interviews wird der Gedankenflug des Kandidaten unterbrochen, was jedoch nicht bedeutet, dass alles schlecht ist. Es bedeutet nur, dass die Zeit abgelaufen ist.
    Nach dem Interview selbst schreibt der Interviewer einen Bericht, oft mit einer detaillierten Abschrift dessen, was mit dem Interview passiert ist. Dieser Bericht wird verwendet, um eine Entscheidung zu treffen. Ich persönlich reserviere ungefähr eine Stunde unmittelbar nach dem Interview, um die vollen Gesprächsminuten in einer neuen Erinnerung festzuhalten, einige schreiben einfach fast eine vollständige Abschrift auf dem Papier.

    Nach einem Telefoninterview wird aufgrund der Berichte aller Befragten entschieden, zu einer Konfrontation einzuladen. Es wird einen ganzen Tag lang Interviews in einem der Büros geben: morgens mehrere Interviews, dann Mittagessen (und das Esszimmer im Büro kennenlernen :) und dann noch ein paar mehr. Beim Vorstellungsgespräch bei SRE werden dies verschiedene Interviews sein, deren Liste Sie vom Personalvermittler mit Coding und notwendigerweise NALSD erhalten: Nicht abstraktes Systemdesign im großen Maßstab. Der Schlüssel ist nicht abstrakt (d. H. Nicht die allgemeinen Wörter "wir brauchen eine Datenbank") und "großer Maßstab" (d. H. Wenn die Basis benötigt wird, dann beispielsweise für Petabytes). Sie können hier und noch viel mehr lesen, wo Sie nach Materialien suchen können. Ich habe ein paar Links für das Training rekrutiert. Dies ist ein sehr wichtiger Punkt des Interviews - einfach weil Sie in einem Unternehmen mit Google-Größe arbeiten und Systeme von solchen Seiten betrachten müssen.

    Im Allgemeinen unterscheidet sich ein persönliches Interview nicht wesentlich von einem Telefonat - ähnliche Fragen und ein ähnlicher Prozess. Dabei versuchen wir, die Fragen zu verteilen, um dieselbe Frage nicht zweimal zu stellen.

    Was kann ich noch zum Interviewprozess hinzufügen? Viel spaß Nein, im Ernst, entspanne dich und hab Spaß! Telefoninterview Nur ein Gespräch mit einem interessanten Gesprächspartner. Garantiert neue Informationen und neue Erfahrungen. Vollzeitinterviews? Mehr Spaß! Sie sind auf Geschäftsreise auf Kosten des zukünftigen Arbeitgebers :) Machen Sie einen Spaziergang durch die Stadt, treffen Sie sich mit Freunden. Garantiert auch einen ganzen Tag voller Unterhaltung und interessanter Gespräche.

    Und nach diesem Tag voller Spaß schreiben auch alle, die Sie interviewt haben, einen Bericht mit dem vollständigen Protokoll der Konversation. Alle Interviewdaten werden von einem unabhängigen Ausschuss zusammengefasst und überprüft.. Das ist wichtig: Keiner der Sie persönlich kennt, ist an der Entscheidung nicht beteiligt. Keiner der Befragten - auch nicht direkt mitgemacht. Dies alles zielt darauf ab, Verzerrungen bei der Entscheidung zu beseitigen. Die Bewertung bezieht sich nur auf die Einhaltung des erforderlichen Standards des Standards für die Einstellung. Wenn es plötzlich kein Glück gibt und Sie nicht bestehen, können Sie es in einem Jahr immer wieder versuchen. In diesem Jahr können Sie Ihr Wissen systematisieren und die gefundenen Lücken füllen.

    Haben Sie noch Fragen? Fragen Sie in den Kommentaren.
    Interesse an einem Interview vor dem Interview? Es gibt Dienste für Scheininterviews (beispielsweise ein und zwei , die jedoch nicht von der Firma selbst stammen, daher gibt es keine Garantien). Google führt manchmal ähnliche Kampagnen durch.

    Und ja, sei nicht schüchternbewerben Sie sich selbst. Wenn Sie an die Magie des „Einreichens durch einen Mitarbeiter“ glauben, schreiben Sie mir, ich werde Ihren Antrag einreichen. Herzlich Willkommen

    Jetzt auch beliebt: