Diese Woche hatten wir Ava Katushka, einen Trainer bei Verbetcetera .
Verbetcetera ist ein Bootcamp für diejenigen, die sich auf Interviews in den Big Five vorbereiten möchten - Google, Amazon, Facebook, Apple und Microsoft. Verbetcetera-Mentoren sind in 5 Ländern verteilt, sie arbeiten bereits in Zielunternehmen, sie wissen alles über die Besonderheiten der Arbeit und die Anforderungen für Kandidaten in verschiedenen Märkten.
Trotz des kalten Empfangs in den Kommentaren zur Ankündigung gab es während der Sendung viele Fragen an Ava. Wir veröffentlichen ihre Antworten, Abschriften und Aufzeichnungen des Interviews (mit Präsentationsfolien).
Ich heiße Ava Coil. Ich habe am Moskauer Institut für Physik und Technologie an der Fakultät für Informatik studiert, die FIVT heißt. Mein dritter Kurs war ziemlich schwierig, ich hatte viel Stress, Prüfungen, Gesundheitsprobleme, familiäre Probleme.
Ich erinnere mich, wie ich in eine Buchhandlung gegangen bin und das Buch What to Dream About gesehen habe. Ich fragte mich; Ich erinnerte mich, dass ich einmal von etwas geträumt hatte, mich aber nicht daran erinnerte, was. Ich schlug dieses Buch auf und begann genau dort in Biblio-Globus mit den Übungen aus diesem Buch. Und es stellte sich heraus, dass ich die Erwartungen aller um mich herum erfüllte - meiner Familie, meiner Lehrer, aller außer meiner. Ich war damals sehr wütend. Ich fragte mich, was ich eigentlich will. Später saß ich im Gorki Park und dachte darüber nach. Mir wurde klar, dass ich reisen möchte, ich möchte Freunde finden - ich hatte ein Problem damit - und ich möchte meine eigene Website von Grund auf neu schreiben. Und für mich wurde in diesem Jahr wie durch Zauberei alles wahr.
Es stellt sich heraus, dass es eine Möglichkeit gibt, dorthin zu reisen, wo man dafür bezahlt wird: ein Praktikum. Also bin ich zu Google nach New York gekommen, wo ich ein Praktikum gemacht habe. Irgendwann mitten im Praktikum wurde ich gefragt, ob ich Vollzeit bleiben möchte. Ich dachte - warum nicht versuchen, obwohl ich nicht dachte, dass sie mich nehmen würden. Aber sie haben mich mitgenommen und ich bin nach München gezogen. Ich arbeite seit drei Jahren als Softwareentwickler und habe sehr unterschiedliche Erfahrungen als Softwareentwickler. Zuerst habe ich als SRI (Site Reliability Engineer) gearbeitet und ausgebildet - ich habe viele interessante Dinge gemacht, es gab ein Schwesterteam. Aber bald schien es mir, dass ich mehr Code schreiben wollte. Ich wechselte zum SVI-Team, wo wir eine Reiseseite innerhalb des Unternehmens für Googler geschrieben haben. Und am Ende habe ich auch erfahren, dass es eine solche Spezialität gibt - UXE, UX-Ingenieur. Ich fing an, ein wenig UX zu lernen und zog dorthin,versuche meine beiden Interessen am Zeichnen und Programmieren zu verbinden. Ich bin ziemlich durchschnittlich geworden, aber das ist auch Erfahrung auf dem Gebiet.
Jetzt arbeite ich nicht mehr bei Google. Ich habe mich entschlossen, mir die Zeit zu nehmen, um herauszufinden, was mir gefällt, und alle möglichen Hypothesen auszuprobieren. Insbesondere wollte ich versuchen, für mich selbst zu arbeiten. Ich begann mich zu erinnern, was mir im Leben gefiel, und es stellte sich heraus, dass mir die Vorbereitung auf das Interview sehr gut gefiel. Als ich mich bei verschiedenen Unternehmen bewarb, interagierte ich mit Leuten aus diesen Unternehmen und löste Probleme. Es war eine sehr helle Zeit in meinem Leben. Dann sprach ich mit einem Freund und fand heraus, dass nicht jeder diese Zeit hat - hell, die Leute sind bei Interviews gestresst und dann - "Gott sei Dank, das ist vorbei, ich arbeite endlich." Es schien mir, dass ich wahrscheinlich etwas Positives teilen, diesen Prozess der Arbeitssuche und des Vorstellungsgesprächs in etwas Angenehmes verwandeln kann, an das man sich gerne erinnert.
Zuerst wollte ich mich beraten, aber ich fand Ratschläge in einem Buch über das Geschäft: Wenn Sie etwas tun wollen, finden Sie zuerst Leute, die bereits etwas Gutes tun, und Sie können viel von ihnen lernen. Dann fand ich die Firma Verbetcetera, wo die Jungs schon machten, was ich wollte. Es gab bereits einen Kreis von Mentoren; Die Richtung für das Software-Engineering war ziemlich neu, das heißt, sie begann erst im Jahr 2020. Seit 2018 gibt es jedoch eine Betreuung von PMs, die recht gut verlief. Und die Werte dieses Unternehmens standen mir sehr nahe: Alle Mentoren haben den Weg gegangen, sie arbeiten selbst vor Ort. Das waren Leute, die mir im Geiste nahe standen, alle waren (und sind) von FAANG (Facebook, Apple, Amazon, Netflix, Google). Ein sehr cooles Team versammelte sich, es war interessant, sich als Mentor zu versuchen.
Ich möchte Ihnen von Technologieinterviews erzählen, Fragen beantworten. Ich werde in einem Interview über eine bestimmte Struktur sprechen, anhalten, die Fragen anschauen, beantworten und weitermachen. Ich möchte über das Codieren von Interviews sprechen: Welche Fragen werden gestellt, welche Mythen sind damit verbunden, wie sieht der Prozess der Jobsuche aus Sicht des Unternehmens und des Bewerbers aus? Was ist ein Systemdesign-Interview, was beeinflusst es und welche Mythen und populären Missverständnisse gibt es?
Codierungsinterviews - was sind sie?
Es wird oft gefragt, welche Fragen in solchen Interviews gestellt werden. Angenommen, eine dieser Fragen kann folgendermaßen lauten: "Eine verschlüsselte Zeichenfolge kommt an der Eingabe an und dekodiert sie." Die Linie könnte folgendermaßen aussehen: 3 [A] 2 [BC]. Als AAABCBC dekodiert. Das heißt, was sich in der eckigen Klammer befindet, wird so oft wiederholt wie die Zahl vor der Klammer. Und während des Interviews müssen Sie ein Programm schreiben, das die Dekodierung durchführt.
Diese Frage wurde tatsächlich in Interviews mit Bloomberg, Amazon, Apple, Cisco, Google, Microsoft gestellt. scheint eine ziemlich einfache Frage zu sein, auch wenn Sie nicht mit Programmierung verwandt sind. Aber es kann einen doppelten Boden haben - zum Beispiel kann es mehrere Verschachtelungsebenen geben. Sagen wir die folgende Zeile: [[[A [[C]]].
In diesem Fall können Sie zuerst die innere Schicht: AACC entschlüsseln und dann dreimal wiederholen, dh die äußere Schicht (AACCAACCAACC) entschlüsseln. Das geschriebene Programm sollte jede Verschachtelungsebene handhaben. Wenn Sie gut programmieren können, sollte dies kein Problem sein.
Welche Themen werden in Interviews gestellt?
Beispiele für beliebte Themen sind Arrays, Strings (wie bereits erwähnt) und Diagrammaufgaben. Manchmal sind sie stark verkleidet: zum Beispiel, um einen Stundenplan zu erstellen, vorausgesetzt, jeder Kurs hat einen Vorkurs (Voraussetzung). Es gibt Rekursionsprobleme: Zum Beispiel gibt es ein beliebtes Preisproblem. Die Preise werden pro Aktie für eine bestimmte Anzahl von Tagen angegeben, und Sie müssen einen Kauf-Verkauf-Algorithmus entwickeln, um ein maximales Einkommen zu erzielen. Manchmal gibt es Probleme aus der Mathematik oder Geometrie, aber es gibt nicht sehr viele davon; Es sind keine besonderen Kenntnisse in diesen Fächern erforderlich, die grundlegendsten sind erforderlich, aber sie sind auch gut darin, sie zu lösen. Im Allgemeinen ist es sehr gut, eine Grundlage in der Informatik zu haben, sich wohl zu fühlen, damit das Lösen von Problemen in Interviews keine Probleme aufwirft.
Warum werden diese Fragen in Interviews gestellt, wenn sich der Workflow stark von ihnen unterscheidet? Ja, viele Leute sagen - der Entwickler braucht das nicht, warum diese schwarzen und roten Bäume. Dies ist die Standardkritik an Interviews, die Arbeit ist wirklich anders, die Arbeit wird nicht wie ein Interview sein. Es gibt jedoch viele Gründe, warum solche Fragen gestellt werden. Sie möchten Sie in einer begrenzten Zeit testen, um zu sehen, wie Sie mit ungewohnten, unverständlichen Aufgaben umgehen. Eine solche Fähigkeit wird häufig bei der Arbeit benötigt.
Obwohl die Informatik in ihrer reinsten Form nicht für die Arbeit gilt, sind Grundkenntnisse bei der Arbeit in der Softwareentwicklung immer noch sehr nützlich. Tatsächlich sind diese Aufgaben ein Stellvertreter für die weitere Arbeit. Anstatt zu fragen, ob Sie ein guter Entwickler sind, geben sie Ihnen Aufgaben und sehen, wie Sie sich mit ihnen verhalten. Und gute Antworten auf Fragen korrelieren damit, ein guter Entwickler zu sein.
Welche Unternehmen stellen diese Fragen in Interviews?
Sehr viel und nicht nur FAANG (sondern auch sie). Ich habe eine Liste: Microsoft, Bloomberg, Uber, Adobe, Oracle, ByteDance, eBay, LinkedIn, Yahoo, VMWare, Salesforce, Cisco - tatsächlich habe ich noch nicht viele davon eingefügt. Das heißt, solche Fragen sind sehr beliebt. Darüber hinaus erhalten beispielsweise bei Google Junior-, Middle- und Senior-Entwickler dieselben Fragen, es gibt keine Unterschiede.
Es gibt einen populären Mythos: Ist es wichtig, an algorithmischen Wettbewerben teilzunehmen?Das hat mich sehr beunruhigt: Ich habe weder in der Schule noch am Institut daran teilgenommen. Die Leute sagen oft, wenn Sie nicht teilgenommen haben, ist Ihre Zeit vergangen - Sie werden sich in Interviews immer schlecht zeigen. Aber das ist nicht so. Trotz der Tatsache, dass die Teilnahme an Wettbewerben Ihnen natürlich hilft und Sie unterstützt, unterscheiden sich die Interviews von diesen. Die Fragen sind ähnlich. Sie müssen ein Problem auch in einer begrenzten Zeit lösen, aber Sie präsentieren seine Lösung nicht dem System, das die Tests bestehen muss, sondern der Person. Die Person schaut und versucht zu beurteilen, ob sie mit Ihnen zusammenarbeiten möchte, indem sie das Problem löst. Es ist nicht nur wichtig, dass Sie eine Lösung finden, sondern auch, wie Sie sie finden, wie Sie dachten, wie viele Optionen Sie in Betracht gezogen haben und ob Sie sie der Person vermitteln können. Dies ist ein sehr wichtiger Aspekt.
Die Person, die Sie interviewt, ist Ingenieur und löst solche Probleme auch nicht regelmäßig. höchstwahrscheinlich war das letzte Mal, dass er dies tat, während seines eigenen Interviews. Und er muss die Antwort auf die Frage finden: Will er mit Ihnen arbeiten, wird es gut sein, mit Ihnen zu arbeiten? Hab keine Angst vor ihm. Er will dich nicht unter Superstress bringen; Stattdessen möchte er Ihnen ein positives Interviewerlebnis bieten.
Ein generisches Coding-Interview-Framework
Wie strukturiere ich deine Zeit, deine Antwort, um gut zu reagieren? Stellen Sie zunächst immer klärende Fragen, geben Sie Beispiele und kommunizieren Sie mit Ihrem Interviewer. Wie verstehst du was für ein Beispiel; Es ist sehr wichtig.
Andernfalls können Sie das Problem völlig falsch verstehen und das falsche Problem lösen, das von Ihnen verlangt wird (dies ist eine große Anzahl von roten Fahnen gleichzeitig).
Oft haben die Menschen Angst, die Lösungen zu finden, die sie finden. sie denken - warum bieten sie es an, es ist nicht optimal, aber sie wollen das Optimum von mir. Nicht so. Beginnen Sie mit einer nicht optimalen Lösung und erzählen Sie dem Interviewer davon: Er wird verstehen, dass Sie bereits ein gewisses Maß an Verständnis erreicht haben. Dann denke weiter. Vielleicht hilft Ihnen das irgendwie dabei. Hier gibt es kein Minus: Im Gegenteil, es ist gut, dass Sie die Lösung sofort gesehen haben.
Es ist wichtig, guten, strukturierten Code zu schreiben - Sie möchten sich als Programmierer zeigen, der lesbaren Code schreibt. Am Ende des Interviews ist es wichtig zu testen, dazu können Sie die Beispiele verwenden, die zu Beginn erfunden wurden. So können Sie Fehler in Ihrem Code abfangen. Dann - es ist notwendig, ziemlich cool zusammenzufassen. "Ich habe so angefangen, ich habe mir so und so eine Lösung ausgedacht, sie haben so und so Vor- und Nachteile, das ist die Art von Test, so funktioniert alles mit Beispielen." Hier ist ein Beispiel für einen Interviewansatz.
F: Welche Englischkenntnisse sind erwünscht?
Es ist ratsam, frei zu sprechen, um den Interviewer frei zu verstehen und Ihre Gedanken auszudrücken. Optional sollte Super-Advanced, Intermediate ausreichen.
F: Welche Änderungen wurden an der Eingabe von Google im Vergleich zu den im Cracking Coding Interview beschriebenen Änderungen vorgenommen?
Hier müssen Sie verstehen, was genau mit was zu vergleichen ist. Aber ich denke, die Hauptgedanken von Cracking Coding Interview sind noch heute relevant. Nicht viel hat sich geändert.
F: Wo kann ich mein technisches Englisch verbessern?
Sie benötigen nicht einmal technisches Englisch, um ein Interview zu bestehen. Sie brauchen nur Englisch, Sie müssen in der Lage sein, Ihre Gedanken auszudrücken. Sie können in Interviews mit Freunden und speziellen Unternehmen trainieren, wenn Sie lernen möchten, wie man in einem Interview spricht.
F: Inwieweit spiegeln Aufgaben mit Leetcode die aktuellen Besonderheiten von Aufgaben wider, die in Google gestellt werden? Sind die Aufgaben aus dem letzten Jahr, dem vorletzten Jahr relevant?
Erstens ist es für Sie wichtig, dass Sie das Problem, auf das Sie im Interview gestoßen sind, noch nicht gesehen haben. Wenn die Aufgabe bekannt ist und Sie im Voraus wissen, wie sie zu erledigen ist, hilft Ihnen dies nicht weiter. Im Gegenteil, es wird schaden: es wird spürbar sein. Sie müssen ein unbekanntes Problem haben, aber Sie müssen viele ähnliche Probleme lösen. Leetcode funktioniert gut dafür; Wenn Sie Probleme zu verschiedenen Themen lösen, behandeln Sie beliebte Informatik-Themen - irgendwann sind Sie bereit.
F: Mit welchen Sprachen kann ein technisches Interviewproblem gelöst werden? Ich löse derzeit Probleme mit Leetcode in JavaScript, habe aber gehört, dass ich Python oder C ++ benötige.
Jede dieser Sprachen - JavaScript, Python oder C ++ - ist in Ordnung, hier spielt es keine Rolle. Wenn Sie in JavaScript schreiben, wissen Sie es genau, das ist Ihre Sprache - dann machen Sie ein Interview mit JavaScript.
F: Haben Sie einen Ansatz, um die Zeit für jede Aufgabe in einem Auto-Code-Interview korrekt zu schätzen, wenn es mehrere Aufgaben und ein Zeitlimit gibt?
Ich habe diese Frage nicht ganz verstanden. Ja, Sie müssen viele Probleme lösen. Wenn es ein Zeitlimit gibt, müssen Sie Ihre Stärke damit messen.
F: Die Aufgaben, mit denen ich in den Interviews mit Amazon und Google konfrontiert war, waren weit entfernt von der grundlegenden Informatik.
Nun, ich nenne es grundlegend. Es kommt mir vor.
F: Wenn Junior- und Senior-Kandidaten dieselben Fragen gestellt bekommen, wie bestimmen sie, zu welcher Note ein Entwickler gehen soll?
Dies wird nicht durch die Ergebnisse des Codierungsinterviews bestimmt, sondern durch die Ergebnisse des Systemdesigns und des Verhaltensinterviews.
F: Wie geht es Google im Allgemeinen?
Es hat mir gefallen. Ich hatte eine ziemlich wertvolle Erfahrung, ich würde sie nicht gegen etwas anderes eintauschen. Ziemlich coole Gesellschaft, viele Büros in verschiedenen Städten. Wahrscheinlich gibt es nur wenige solcher Unternehmen, in denen Sie in Europa, Amerika und Asien arbeiten können. Es gibt viele Möglichkeiten.
Als nächstes werde ich über die Vorbereitung eines Interviews sprechen: wie man sich vorbereitet, wie Unternehmen Entwickler einstellen, wie lange es dauert
Bei Google und vielen ähnlichen Unternehmen sieht der Prozess so aus. Zuerst müssen Sie bemerkt werden, gehen Sie durch den Personalvermittler. Dann folgt das erste Screening, bei dem Sie 1-3 Codierungsinterviews erhalten - genau die Fragen, die wir zuvor besprochen haben.
Wenn Sie dies bestanden haben, gehen Sie vor Ort. Es wird eine große Anzahl von Interviews geben, normalerweise 2 bis 4 Codierungen sowie Systemdesign und Verhalten. Wenn Sie vor Ort gute Leistungen erbringen, erhalten Sie ein Angebot. Google enthält Ihr Gehalt, Umzugsbonus - Umzugszahlung. Oft umfasst das Angebot die Aktien des Unternehmens; Ich erhielt ein Angebot, das sie enthielt - aber nicht sofort, sondern nach einem Jahr Arbeit.
Der erste Schritt besteht darin, sicherzustellen, dass Sie bemerkt werden. Ich persönlich rate Ihnen, jemanden aus dem Unternehmen zu finden und mit Leuten zu sprechen, die im Unternehmen sind. Dies gibt Ihnen ein wenig Verständnis für die interne Unternehmenskultur. Wenn Sie sich mögen, kann Sie die Person im Unternehmen weiterempfehlen. Statistiken zeigen, dass Empfehlungen die Wahrscheinlichkeit, die erste Stufe ("bemerkt") zu bestehen, in Bezug auf Bewerbungen um das Achtfache erhöhen der Standort. Nun, für einige funktionieren Anwendungen über die Website.
Ich rate Ihnen, sich niemals mit einem bestimmten Unternehmen zu befassen. Sie können niemals garantieren, dass Sie in ein bestimmtes Unternehmen eintreten. Aber wenn Sie ein Ziel haben - internationale Erfahrung zu sammeln, in einem großen Unternehmen zu arbeiten, irgendwohin zu ziehen, dann ist dies definitiv möglich und vielleicht nicht in einem Unternehmen.
Für den Prozess des Lebenslaufschreibens gibt es verschiedene kleine Tipps, wie er aussehen soll und welche Fakten enthalten sein müssen.
- Kürze: auf 1 Seite passen
- Ergebnisorientierung: Beschreiben Sie Ihre Leistungen - "X durch Y mit Z erreicht"
- Datenorientierung: Beschreiben Sie den Umfang Ihrer Projekte - Nutzung, Gewinn usw.
- Links: Stellen Sie Links bereit, um Ihre Projekte zu präsentieren
- Bewertung: Bitten Sie jemanden, Ihren Lebenslauf vor dem Absenden zu bewerten
- weniger Fachbegriffe: Sie müssen verstanden werden
Aber es ist wahrscheinlich sehr wichtig zu sagen, dass es ziemlich schwierig ist, es alleine zu machen. Zumindest war es schwierig für mich: Sie müssen sich selbst beschreiben, Ihre Leistungen beschreiben, es in einer guten Sprache machen, die für eine andere Person verständlich ist. Es ist gut, es mit einem Freund, einem Kollegen zu tun; Sie können zu unserem Mentor bei Verbetcetera kommen - versuchen Sie, Ihren Lebenslauf so zu gestalten, dass er leicht zu lesen ist und einen guten Eindruck hinterlässt.
Die weitere Vorbereitung besteht normalerweise darin, Probleme zu lösen - beispielsweise im selben Leetcode - zu verschiedenen Themen in der Sprache Ihrer Wahl. Dies kann JavaScript, Typescript, C ++, Java, Python usw. sein. Viele Sprachen. Es ist auch großartig, paarweise zu üben - praktische Interviews zu machen, um den Prozess zu trainieren. Dies wird als Scheininterview bezeichnet. Sie können mit Freunden üben, es gibt auch spezielle Dienstleistungen; Wir bieten auch einen solchen Service an - Sie können mit einem Mentor kommen und üben. Außerdem versuchen Sie, Ihre Chancen auf ein Angebot zu erhöhen, indem Sie es bei vielen Unternehmen einreichen. Gehen Sie das Interview durch und am Ende kommen Sie irgendwohin (wo Sie wollen, hoffe ich); Damit dieses Programm funktioniert, ist es natürlich wichtig, eine gute Grundlage für die Informatik zu haben.
Ich habe mehrere Leute interviewt, die kürzlich zu Google gegangen sind, und es stellte sich heraus, dass ein oder zwei Wochen für niemanden ausreichen. Niemand hat mir erzählt, dass sie sich in zwei Wochen auf das Interview vorbereitet haben und bestanden haben. Es dauert oft 2-3 Monate und die Person ist in 8 Stunden am Tag beschäftigt. Und das erfordert noch eine Grundlage - vom Institut, von Spezialkursen, damit solche Aufgaben nicht ganz neu sind. Jemand schrieb auf Leetcode, dass der gesamte Prozess ein Jahr dauerte (obwohl diese Person zur gleichen Zeit arbeitete).
F: Welche Gehälter werden angeboten?
Sie können bei Glassdoor nachsehen, welche Gehälter von welchem Unternehmen (im Durchschnitt) angeboten werden.
F: Haben Sie Mentoren auf dem .NET-Stack?
Es ist, als würden wir uns nicht in einer bestimmten Sprache vorbereiten. Wir haben Mentoring in Bezug auf Algorithmen und Systemdesign. Die spezifische Sprache spielt für uns keine Rolle, wir verschärfen die Sprache nicht.
Lassen Sie uns das letzte Interview analysieren - das Interview zum Systemdesign. Was für ein Interview ist das, welche Fehler und Mythen gibt es und wie man sich darauf vorbereitet.
Dieses Interview bestimmt Ihre Note im Unternehmen. Es stellt schwierige offene Fragen. Beispiel: "Wie würden Sie Google Text & Tabellen (oder Instagram oder Facebook Messenger) schreiben?" Natürlich gibt es unterschiedliche Erwartungen an ein Systemdesign-Interview: Wenn Sie ein Junior sind, wird fast nichts von Ihnen erwartet. Aber wenn Sie älter sind, müssen Sie sich als großartig erweisen.
Ich bin einer solchen Meinung begegnet, dass es sinnlos ist, sich auf dieses Interview vorzubereiten: Entweder haben Sie bereits Kenntnisse und Erfahrungen oder Sie tun dies nicht. Natürlich erscheint das Wissen über das Systemdesign nicht allein mit der Anhäufung von Erfahrung (obwohl Erfahrung hilft), aber ich würde jedem empfehlen, sich auf dieses Interview vorzubereiten - auch Junior.
Die Strukturierung der Erfahrung hilft sehr. Sie beginnen, außerhalb Ihres kleinen Codes zu sehen, die Komponenten zu sehen, den gesamten Prozess zu sehen, wie das Produkt aussieht, aus welchen Servern, Load Balancern und Caches es besteht, wo Engpässe und Schwachstellen in diesem Produkt liegen können, wie es kann erweitert werden, was tun, wenn es wächst. Die Vorbereitung auf ein Systemdesign-Interview hilft, als Entwickler zu wachsen, und beeinflusst das Angebot und die Position erheblich. Wenn Sie im Wesentlichen ein Senior oder eine gute Mitte sind, sich aber nicht vorbereiten, werden Sie wahrscheinlich in die Junior-Position versetzt, und Sie müssen den Beförderungsprozess innerhalb des Unternehmens durchlaufen - Peer-Review-Bestätigung und alles andere in Ordnung um zu der Position zu kommen, die Sie bereits haben. Möglicherweise von einem anderen Unternehmen ausgeliehen. Daher ist es sehr sinnvoll, sich vorzubereiten, um Zeit zu sparen und sofort ein großartiges Angebot zu erhalten. Na sicher,Angebote für Senior- und Junior-Positionen sind sehr unterschiedlich - bei Google sind es Zehntausende von Euro.
Die Vorbereitung auf ein Systemdesign-Interview ist viel schwieriger als die Vorbereitung auf ein Coding-Interview. Es gibt kein Testsystem, das Ihnen sagt, was richtig und was falsch war. Es ist wichtig, jemanden (normalerweise einen leitenden Entwickler) zu haben, der Ihnen Feedback gibt, wie angemessen Sie Fragen beantworten. Es ist großartig, eine strukturierte Wissensbasis zu haben und viel zu zweit zu üben. Sie können zum Systemdesign-Mock-Interview kommen, das wir bei Verbetcetera durchführen. Wir denken auch darüber nach, eines Tages einen Systemdesignkurs zu machen.
Der allgemeine Rahmen für das Verhalten in einem Systemdesign-Interview ist dem für ein Coding-Interview sehr ähnlich. Am Anfang muss man sich nicht beeilen, man muss klärende Fragen stellen und versuchen zu verstehen, was die Aufgabe ist. Sie müssen niemals sofort mit dem Lösen beginnen oder eine Antwort geben, an die Sie sich von einer Site aus erinnern. Vielleicht haben Sie und der Interviewer ganz unterschiedliche Aufgaben im Kopf - es ist wichtig, sich zunächst darauf zu einigen, um der Kommunikation und dem Verständnis viel Aufmerksamkeit zu schenken. Der zweite Schritt nach der Einigung auf die Aufgabe besteht darin, ein übergeordnetes Design für die Aufgabe zu zeichnen und sich dann auch darauf zu einigen. Danach müssen Sie diskutieren, welche Probleme bei diesem Entwurf auftreten können, was daran am interessantesten ist, und in das wichtigste und interessanteste Problem eintauchen. Am Ende des Interviews müssen Sie es noch einmal durchgehen, Ihre Entscheidung zusammenfassen und einige Ideen dazu abgebenWas kann noch getan und verbessert werden? Und all dies muss in 45 Minuten erledigt sein (noch weniger, da es alle möglichen technischen Probleme gibt) - dies ist unterwegs sehr schwierig, Sie müssen sich vorbereiten.
F: Gibt es irgendwo Profile aller Mentoren?
Wir machen das noch nicht offen. Im Moment kann ich sagen, dass unsere Mentoren in FAANG gearbeitet haben (arbeiten) und nicht sehr daran interessiert sind, offen über sich selbst zu sprechen. Es mag ein wenig verwirrend sein, aber eine solche Frage der Anonymität.
F: In welchen Bereichen bewertet der Mentor? Nur Programmierkenntnisse oder auch Englisch- und Selbstdarstellungsfähigkeiten?
Sie werden anhand Ihrer Programmierkenntnisse und Ihrer Fähigkeit, Probleme zu lösen, beurteilt. Englisch sollte für die Kommunikation ausreichen (kein Super-Level erforderlich). Selbstdarstellung beeinflusst wahrscheinlich auch, aber nicht so sehr. Wahrscheinlich, wie viel Sie als adäquate Person mehr beeinflussen? Wenn Sie zu einem Verhaltensinterview kommen und sagen, dass Sie Kunden hassen, erhalten Sie wahrscheinlich trotz Ihrer Selbstdarstellungsfähigkeiten kein Angebot.
F: Wenn Senior das Systemdesign nicht bestanden hat, wird ihm eine mittlere / jüngere Position angeboten?
Ja, normalerweise werden sie nur herabgestuft. Dies ist eine häufige Situation: Senior bereitet sich einfach nicht auf das Systemdesign vor, scheitert an ihm und ihm wird eine Startposition angeboten. Aber wenn eine Person wirklich ein Niveau hat, kann sie natürlich schneller als gewöhnlich im Unternehmen wachsen. Es wird natürlich ein wenig beleidigend sein, dass sie nicht gleich nach dem Interview den Senior übernommen haben.
F: Haben Sie diese Scheininterviews zum Thema Design in Belarus (ich habe den Namen nicht verstanden, wo und wie sie gehalten werden, kann ich einen genaueren Link haben?) Auf Englisch oder Russisch? Welche Länder haben Sie im Allgemeinen als Mentoren?
Alle Scheininterviews sind auf Englisch, weil sie in Wirklichkeit auf Englisch sein werden. Mentoren werden verteilt; Ich bin in Russland, die meisten von ihnen sind in Europa, in England. Eine ziemlich verstreute Firma aus verschiedenen Teilen der Welt. Der Link wird wahrscheinlich in der Videobeschreibung sein.
F: Wird es möglich sein, die Präsentation herunterzuladen?
Ich denke nicht, aber Sie können es im Video sehen.
F: Scheininterview online oder offline für Moskauer?
Wir haben noch nicht über die Offline-Option nachgedacht, während alles online ist.
Also haben wir heute das Coding-Interview besprochen - welche Fragen gestellt werden, populäre Fehler und Mythen, wie man sich vorbereitet, wie lange es dauert (damit Sie realistisch über den Prozess sind und nicht glauben, dass jeder nur 2 Wochen braucht). Und Systemdesign - warum sollten Sie sich darauf vorbereiten und wie es Ihnen helfen wird?
Ich wollte auch eine Ankündigung machen. Wir wollen einen Kurs rekrutieren: Wenn einer der Jungs die Algorithmen verstehen will, die für ein Tech-Interview benötigt werden, rekrutieren wir seit März Gruppen. Die Gruppen sind klein, 3-5 Personen oder weniger (fast eins zu eins), um mit Mentoren von FAANG zusammenzuarbeiten. Innerhalb von drei Monaten werden wir alle Grundlagen durchgehen, die Sie zur Vorbereitung eines technischen Interviews benötigen. Wenn Sie also das Gefühl haben, dass Sie bei diesem Thema nicht weiterkommen, haben Sie endlich eine gute Grundlage und fühlen sich zuversichtlich. Dies ist besonders für Personen geeignet, die sich nicht ganz auf die Vorbereitung von Interviews konzentrieren können, die aktiv arbeiten - dieses Kursformat kann funktionieren.
Und wenn Sie bald ein Interview haben - kommen Sie zu uns für ein Scheininterview. Durch Algorithmen, durch Systemdesign; Wenn wir das tun, wird es einen Kurs über Systemdesign geben. Ich werde mich sehr freuen, wenn Sie kommen.
F: Wird es zum Beispiel im Mai weitere Kits geben?
Kann sein. Während die Pläne für März sind, werden die Kurse drei Monate dauern; Wenn die Ergebnisse gut sind, wenn es uns und Ihnen gefällt, wird es vielleicht einen anderen Satz geben.
Machen Sie sich bereit, investieren Sie in sich und Ihr Wissen. Ihr seid alle großartig, ihr werdet Erfolg haben.