In den letzten Wochen ist eine Welle von Artikeln über das Habril über die Durchführung von Interviews häufiger geworden.

Google ist ständig auf der Suche nach Ingenieuren. Als SRE kann ich mit Sicherheit sagen, dass Sie
in unseren Reihen gebraucht werden . Kekse in der Küchenzeile und Kaffee in den Kaffeemaschinen warten auf Sie. Alles was Sie tun müssen, ist ein Interview zu bekommen. Das ist schwierig, aber real - nachdem ich
meine Geschichte bereits als Arbeitssuchender
beschrieben habe und jetzt unter anderem auch Interviews führe. Jetzt werde ich erzählen, 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 „Was-Wo-Warum“ -Gespräch (dh eine Beschreibung des Prozesses für Ihren speziellen Fall) und das gleiche
Screening durch alle aus dem Fragebogen mit mehreren Antwortoptionen. Das Screening zu dieser Zeit schien mir sehr einfach zu sein. Ich vermute, dass Sie solche Fragen bereits hundert Mal beantwortet haben. Dann werden die Interviews von Ingenieuren geführt - Ihren zukünftigen Kollegen (nah oder fern, so geht es, unser Planet ist sehr klein).
(Wichtig: Ich beschreibe den Prozess, wie ich weiß, in der technischen Position (Software Engineer (SWE) und Site Reliability Engineer (SRE)). Für Praktikanten ändert sich der Prozess, und der Prozess kann im Prinzip unterschiedlich sein, da die Personalabteilung den Prozess anpasst, um ihn zu erreichen Verwenden Sie die hier bereitgestellten Informationen nur, um grob darzustellen, was Sie erwartet - aber kein öffentliches Angebot! Die genauen Informationen darüber, wie der Prozess für Sie persönlich abläuft, sind ausschließlich und ausschließlich Informationen Ihres Personalvermittlers. Informationen sind möglicherweise auch bereits veraltet. - zuschauen Aktuelle Informationen zum Zeitpunkt des Lesens dieses Artikels finden Sie im Abschnitt Wie wir einstellen .Zunächst wird es einige Interviews durch
Hangouts / Meet geben . Dies ist ein vollwertiges Interview, wie ich oben sagte - Ingenieure werden interviewen, und es wird davon ausgegangen, dass der Kandidat dabei „laut nachdenkt“ und ein Dutzend oder zwei Zeilen in einer beliebigen Programmiersprache schreibt (ja, leider bisher 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 Einführung und allgemeine Informationen, 30 bis 35 Minuten für Fragen und Diskussionen, dann fünf Minuten für Fragen des Bewerbers (falls vorhanden).
Im Allgemeinen besteht der Zweck des Interviewingenieurs darin, Informationen
zu mehreren Achsen der Fähigkeiten des Bewerbers zu sammeln (z. B. Codierungsfähigkeiten, Kenntnisse über Algorithmen und Datenstrukturen usw.). Das Wichtigste im Interview ist 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, von Aufwärmfragen (deren Lösung buchstäblich darin besteht, einen dreizeiligen Zyklus zu schreiben) bis hin zu schwer zu erklärenden Fragen. Jemand hat 2-3 „Lieblingsfragen“, von denen jede von einem Dutzend Seiten gestellt werden kann und wie man sie vereinfacht und kompliziert, je nachdem, was der Gesprächspartner demonstriert. Ich bin mir sicher, dass es noch Optionen gibt, aber ich weiß nichts darüber.
Ich habe beide Techniken ausprobiert und bevorzuge letztere: Je nach Lebenslauf und Selbstwertgefühl des Kandidaten verwende ich ein geeigneteres Frageformular. Die Frage ist immer offen (schließlich, wann haben Sie das letzte Mal die genaue Erklärung des Problems in unserer Branche gesehen?) - und je nachdem, was der Kandidat verlangt, vereinfache oder kompliziere ich die Frage, sodass der Kandidat am Ende der ersten 10 Minuten schrieb bereits eine triviale Lösung. Dies ist selten schwierig, schließlich ist die Lösung trivial.
Die Fragen „Warum sind Sie sicher, dass es funktioniert?“ Werden ebenfalls trivial gestellt. (wenn der Kandidat die Grenzen der Anwendbarkeit oder der Tests nicht sofort beschrieben hat) und wie komplex die Lösung ist. Es gibt nur Informationen, die der Kandidat zu codieren weiß und versteht, was er geschrieben hat. Aber Codierung ist nicht genug - Sie müssen in der Lage sein zu denken. Die folgenden Fragen lauten: Wie können Sie Einschränkungen beseitigen? Wie kann man es besser machen? Entweder (was passiert, wenn der Kandidat sehr gut ist oder die Lösung nur aus Erfahrung kennt), wie der Code unter diesen oder anderen zusätzlichen Einschränkungen funktioniert.
Dies gibt sofort ein Signalpaket - aber wie viel weiß der Kandidat, wie er sich an Änderungen in der Aufgabe anpassen kann? Und wie viel ist bereit, über hochalternative Lösungen nachzudenken? Die Diskussion selbst ist ebenfalls von Interesse - die Frage wird immer so offen wie möglich gestellt, daher gibt es Dutzende von Möglichkeiten, sie zu verstehen. Wird das Geschäftsumfeld geklärt oder nur technische Einschränkungen? Werden technische Einschränkungen berücksichtigt? Zum Beispiel habe ich mehrmals gesagt, dass „1e12-Objekte erwartet werden“, und der Kandidat bewertet nicht, wie viel dies ist. Und das ist fast ein Terabyte, wenn Byte pro Objekt. Oder ~ 116,5 Gigabyte, wenn nach und nach. Oder 4,3 Terabyte bei int32. Nun, du verstehst, worum es geht. Nein, daran zu denken ist nicht notwendig - nicht bei der Prüfung nahm niemand den Taschenrechner weg. Das Telefon ist ja sogar bei der Suche. Und übrigens können Sie fragen.
Und so werde ich die Schwierigkeit 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 solche Aufgaben zum Frühstück, Mittag- und Abendessen übernimmt. In diesem Fall
hat meine Reisekarte eine ganz andere Frage. Zum Beispiel anstelle von Grafiken - für die dynamische Programmierung. Oder auf Listen. Oder im Allgemeinen ist die Frage, wo die optimale Lösung eine Menge erfordert. Die Hauptsache ist eine andere Umgebung, eine andere Aufgabe.
Das Wichtigste dabei ist, gleichzeitig eine sehr einfache Aufgabe zu geben, damit der Kandidat grundlegende Fähigkeiten lösen und zeigen kann, und die Schwierigkeit auf ein Niveau zu heben, bei dem der Kandidat die Antwort nicht kennt, damit er zeigen kann, wie er denkt. Wenn er gleichzeitig eine Lösung für ein komplexeres Problem finden kann - das ist in Ordnung, aber wenn der Kandidat überhaupt alles lösen konnte, dann ist dies ein Stich des Befragten, der keine noch komplexere Frage vorbereitet hat.
Willst du Einzelheiten? Hier ist eine der Fragen, die Ihnen
NICHT gestellt werden, nur weil er bereits als „durchgesickert“ gilt - das heißt, es ist wahrscheinlich, dass der Kandidat nicht an ihn denkt, sondern sich daran erinnert. Wie ich oben geschrieben habe, ist es wichtig, wie der Kandidat denkt und nicht wie er sich erinnert ... Die Frage ist also:
Implementieren Sie den LRU-Cache .
Im Allgemeinen ist die Aufgabe schön, da sie viele Formen der Aufgabe und viele Formen der Interpretation zulässt. Sie können beispielsweise direkt in der Stirn eine Frage stellen: "LRU-Cache implementieren". Es kann wie folgt formuliert werden: „Stellen Sie sich vor, unser Service zur Bearbeitung einer Anfrage prüft das Vorhandensein eines externen Objekts. Wie kann ich die Verarbeitung beschleunigen? " - Erwarten Sie einen sehr offensichtlichen Satz "Lasst uns einfach das Ergebnis zwischenspeichern". Was kann gefragt werden "aber wie?". Und "was ist, wenn wir den maximalen Speicher steuern möchten, der von diesem Cache belegt wird?". Die Frage bleibt offen - und welche API diesen Cache bereitstellen soll. Der Einfachheit halber können Sie es jederzeit auf set (Schlüssel, Wert) + get (Schlüssel) reduzieren. Sie können jedoch TTL hinzufügen. Dies ist mit get (key, fetch_func) möglich. Im Allgemeinen kann die Bewertung der vorgeschlagenen API auch ein zusätzliches Signal für die Erfahrung und den Denkstil des Kandidaten geben.
Die triviale Lösung für Hashmap ergibt O (1) für get () + O (N) für set () (das ist so, oder?). Wenn alle Elemente zusätzlich verknüpft sind (durch Organisieren einer Doppelverknüpfung), ist es möglich, O (1) für beide Operationen zu erhalten. Wenn Sie TTL hinzufügen müssen ... Ich denke, die Idee ist klar. Wenn Sie möchten, lassen Sie uns in den Kommentaren diskutieren: Stellen Sie sich vor, Ihnen wurde diese Frage gestellt. Wie werden Sie denken? Welche Lösung schlagen Sie vor? ..
Und in welcher Programmiersprache? Ja, was magst du, in welchem am meisten. C ++? Wunderbar. Geh? Großartig Python Immer gerne. Perl? Jetzt selten, aber auch. Und Java ja. Und Javascript (obwohl es angesichts des Speichers der Lösung komplizierter ist).
Etwa 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 im Interview passiert ist. Dieser Bericht wird zur Entscheidungsfindung verwendet. Ich persönlich reserviere ungefähr eine Stunde unmittelbar nach dem Interview, um die gesamten Minuten des Gesprächs mit frischem Gedächtnis aufzuzeichnen. Einige schreiben einfach während des Interviews ein fast vollständiges Protokoll auf Papier.
Nach einem Telefoninterview wird auf der Grundlage der Berichte aller Befragten eine Entscheidung über die Einladung zur Konfrontation getroffen. Es wird ein ganzer Tag mit Interviews in einem der Büros sein: mehrere Interviews am Morgen, dann Mittagessen (und das Kennenlernen des Speisesaals im Büro :) und dann noch ein paar mehr. Bei Interviews bei SRE handelt es sich um verschiedene Interviews, deren Liste Ihnen der Personalvermittler
mitteilt , einschließlich Codierung und
NALSD : Non-Abstract Large-Scale System Design. Der Schlüssel ist nicht abstrakt (dh nicht die allgemeinen Wörter „wir brauchen eine Datenbank“) und „großräumig“ (dh wenn eine Datenbank benötigt wird, dann beispielsweise unter Petabyte). Sie können
hier mehr
lesen und viele weitere, wo Sie Materialien in der Suche finden. Ich habe mehrere Links für das Training rekrutiert. Dies ist ein sehr wichtiger Punkt im Interview - einfach, weil Sie bei der Arbeit für ein Google-Unternehmen Systeme aus solchen Perspektiven betrachten und betrachten müssen.
Persönliche Interviews unterscheiden sich im Allgemeinen nicht wesentlich von Telefoninterviews - ähnliche Themen und ein ähnlicher Prozess. Gleichzeitig versuchen wir, die Fragen so anzuordnen, dass nicht zweimal dieselbe Frage gestellt wird.
Was kann ich noch zum Interviewprozess hinzufügen? Viel Spaß! Nein, im Ernst, entspannen Sie sich und haben Sie Spaß! Ein Telefoninterview? Nur ein Gespräch mit einem interessanten Gesprächspartner. Garantiert neue Informationen und neue Erfahrungen. Persönliche Interviews? Mehr Spaß! Sie sind auf Geschäftsreise auf Kosten des zukünftigen Arbeitgebers :) Machen Sie einen Spaziergang durch die Stadt, treffen Sie Freunde. Ein ganzer Tag voller Unterhaltung und interessanter Gespräche ist ebenfalls garantiert.
Und nach diesem Tag voller Spaß schreibt jeder, der Sie interviewt hat, auch einen Bericht mit dem vollständigen Protokoll des Gesprächs. Alle Interviewdaten werden gesammelt und
von einem unabhängigen Ausschuss überprüft . Dies ist wichtig: Keiner von denen, die Sie persönlich kennen, nimmt an der Entscheidung teil. Keiner der Befragten ist auch direkt beteiligt. Dies alles zielt darauf ab, Verzerrungen bei der Entscheidung zu beseitigen. Die Bewertung erfolgt nur zur Einhaltung des erforderlichen Standards des Einstellungsstandards. Wenn Sie Pech haben und versagen, können Sie es in einem Jahr immer wieder versuchen. In diesem Jahr können Sie Ihr Wissen systematisieren und die entdeckten Lücken füllen.
Haben Sie Fragen? Fragen Sie in den Kommentaren.
Besteht Interesse daran, das Interview vor dem Interview zu versuchen? Es gibt Dienste für Scheininterviews (zum Beispiel
ein- und
zweimal , aber sie stammen nicht vom Unternehmen selbst, daher gibt es keine Garantien). Manchmal führt Google ähnliche Kampagnen durch.
Und ja, zögern Sie nicht, sich
zu bewerben . Wenn Sie an die Magie der „Einreichung durch einen Mitarbeiter“ glauben - schreiben Sie mir, ich werde Ihre Bewerbung einreichen. Welkam!