An alle, die mich nicht kennen: Ich bin ein Frontend-Ingenieur mit mehr als 10 Jahren Erfahrung und habe auch BigDevSoon – SaaS (Code-Lernplattform der nächsten Generation, auf der man lernt, indem man Dinge vom ersten Tag an erstellt) erstellt. Bald über 10.000 Benutzer/ 1.000 $ MRR diesen Monat.
Obwohl es mir Spaß macht, moderne Benutzeroberflächen in React zu erstellen, hat mich die Transformation der „Frontend“-Rolle im Laufe der Jahre oft dazu gezwungen, ein Full-Stack-Entwickler zu sein, BFFs (Backend für Frontend) zu erstellen, zu analysieren und nachzudenken Tonnenweise Datenstrukturen und die Arbeit mit Datenbanken. Ansonsten sind wir keine „Website“-Entwickler mehr und um Schritt zu halten, müssen wir ständig lernen und uns anpassen.
In den heutigen schwierigen Marktzeiten habe ich mehr als einen Monat gebraucht, um meinen neuesten Job zu bekommen. Über diese Reise können Sie hier lesen. Indem ich marathonartige Vorstellungsgespräche mit oft mehr als 10 Etappen durchlief, verstand ich die neuen Muster und wie wir uns anpassen müssen, um leichter Jobs zu bekommen.
Eines der Muster, die mir aufgefallen sind, ist Kommunikation und Soft Skills, z.B. „Nehmen Sie Ihr Begrüßungsvideo auf und erzählen Sie uns etwas über sich.“ oder 3x+ Verhaltens-/Kulturinterviews „Was würden Sie in x-Situation tun und warum, erklären Sie.“ aber es ist ein Thema für ein anderes Tag, das ich in diesem Beitrag nicht behandeln werde.
Zu den oben genannten Punkten möchte ich nur eines erwähnen und es lohnt sich, dies zu tun, wenn Sie noch kein „Influencer“ sind: Versuchen Sie, sich selbst aufzunehmen und sogar zu versuchen, ein von Ihnen erstelltes Demo-Feature, ein Nebenprojekt oder eine Einführung zu machen sich selbst und Ihren Werdegang (fassen Sie z. B. Ihren Lebenslauf, Ihre Erfahrungen, vergangene Projekte in max. 3-5 Minuten zusammen). Sie werden sich das anhören und vielleicht feststellen, dass Ihre Stimme zu leise ist oder Sie sich vor der Kamera zu sehr anstrengen. Es ist eine gute Übung, diese Angst zu überwinden und sich vorzustellen, dass Sie die 9/10-Phasen durchstehen und es nicht schaffen, mit einem CEO/TL/Manager zu sprechen, nur weil Sie das nicht geübt haben. Es wäre schade.
Ein weiteres Thema sind bekannte Übungsprobleme, aber glauben Sie mir, Sie müssen nicht das gesamte DSA beherrschen, einschließlich Dinge wie Dijkstras Algorithmus oder Rot-Schwarz-Bäume (auch wenn es hilfreich sein wird, Ihre nächsten Interviews zu meistern).
Alles, was Sie brauchen, ist ein wenig Mühe und Vorbereitung, damit Sie nicht überrascht werden und diese „kleinen Probleme“ lösen können, die viele Unternehmen heutzutage nutzen, um die Kandidaten herauszufiltern und keine Zeit mit langen Vorstellungsgesprächen zu verschwenden indem sie ihre Ressourcen investieren (z. B. Leute, die ein Vorstellungsgespräch führen müssen usw.)
Was vielen „Wasserfall“-Entwicklern nach Bootcamps/-Kursen fehlt, sind Fähigkeiten zur Problemlösung. Diese Programme nehmen einen oft an die Hand und erlauben nicht so viel, selbst zu denken – was nicht heißt, dass es falsch ist, sondern dass man viele besser werden kann Es sind unterschiedliche Techniken erforderlich, und um Vorstellungsgespräche unter Druck zu meistern, macht es einen großen Unterschied, schnell Lösungen für Probleme finden zu können, die Sie vor 10 Minuten angesprochen haben, und Interviewer erwarten, dass sie sich in weniger als einer Stunde lösen.
Lassen Sie uns anhand eines der Beispiele, die ich erlebt habe, mehr darüber erfahren, und dann werde ich eine tägliche Gewohnheit teilen, die mir in meinen Interviews geholfen hat, und einige wertvolle Übungsaufgaben zur Problemlösung vorstellen.
Ein Palindrom ist also ein Wert, der sich rückwärts oder vorwärts gleich liest. Z.B. „racecar“ ist ein Palindrom, aber „hello“ ist kein Palindrom, denn wenn man diesen Wert umkehrt, wäre es stattdessen „olleh“.
Ich telefoniere mit einem Personalvermittler eines der Unternehmen, bei dem ich mich beworben habe, und wir führen ein entspanntes Smalltalk, da es sich um eine der ersten Phasen in diesem Unternehmen handelte. Und jetzt BOOM, letzte 10 Minuten des Interviews „Hey, eine letzte Frage, könnten Sie eine Codelösung für das Palindromproblem schreiben?“ ... und ich war etwas überrascht.
Aber wir haben es verstanden, sind sofort zu https://jsfiddle.net/ gesprungen und haben geschrieben:
function isPalindrome(string) { return string.split('').reverse().join('') === string; }
Stolz auf mich, aber der Personalvermittler sagt: „Bitte verwenden Sie keine vorgefertigten Methoden.“
Okay, überhaupt kein Problem, uns läuft bald die Zeit davon, aber ich habe das verstanden.
Nehmen Sie sich etwas Zeit, um eine alberne Lösung zu finden, etwa diese:
function isPalindrome(string) { let isValid = true; for (let i = 0; i < string.length / 2; i++) { if (string[i] !== string[string.length - i - 1]) { isValid = false; } } return isValid; }
Und natürlich fing der Personalvermittler an, über die Big-O-Notation zu sprechen. Wir unterhielten uns noch ein wenig und ich wurde erneut überrascht und überrascht.
Nehmen wir an, eine akzeptable Lösung wäre etwa so:
function isPalindrome(string) { const normalizedString = string .toLowerCase() // Convert to lowercase .replace(/[^a-z0-9]/g, ''); // Remove non-alphanumeric characters for (let i = 0; i < normalizedString.length / 2; i++) { if (normalizedString[i] !== normalizedString[normalizedString.length - i - 1]) { return false; } } return true; }
Wir machen hier zwei Dinge: Erstens haben wir eine Zeichenfolge normalisiert, sodass wir für „A man, a plan, a canal: Panama“ amanaplanacanalpanama erhalten und die Schleife vorzeitig verlassen, anstatt immer den „halben Wert der Zeichenfolge“ zu durchlaufen.
Es ist nur ein Beispiel, aber lasst uns herausfinden, was falsch passiert ist.
Die gewonnenen Erkenntnisse habe ich mit der Arbeit an Leetcode begonnen. Immer 1+ Problem pro Tag, aber meistens wählen Sie zwischen den Schwierigkeitsgraden „Einfach“ und „Mittel“ und versuchen, sich auf Probleme zu konzentrieren, die „menschlicher Natur“ sind, da Personalvermittler diese normalerweise verwenden, z. B. Beste Zeit zum Kaufen und Verkaufen von Aktien Eines der nächsten Unternehmen, bei denen ich mich beworben habe, hat mir eine Aufgabe gestellt und ich habe sie gelöst. Ich frage ChatGPT gerne nach dem Unternehmen, bei dem ich mich bewerbe, und empfehle praktische Probleme, die relevant sein könnten, und füge sogar eine Nachricht des Personalvermittlers als zusätzlichen Kontext hinzu. (Ja, Sie könnten sie per E-Mail fragen, was sie während des Vorstellungsgesprächs erwartet, wenn sie es nicht zu gut erklären).
Nach einiger Zeit werden Sie Muster, Array-Probleme, String-Probleme und Verbindungsstücke erkennen und darin besser werden, da die Methoden, die Sie zur Lösung dieser Probleme verwenden, gemeinsam genutzt werden können, selbst wenn die Testfälle unterschiedlich sind oder die Art des Problems unterschiedlich ist völlig anders.
Während wir immer mehr Funktionen zu unserer Plattform hinzufügen, werde ich auf BigDevSoon einen schamlosen Plug-in-Vorgang mit Übungsproblemen durchführen, derzeit 41 davon, und dabei versuchen, die Dinge einfach zu halten (KISS) und die relevantesten Probleme zu kuratieren + noch ein paar zum Aufwärmen (Leichte Stufe).
Ich liste unten 10 davon auf, die meiner Meinung nach eine Lösung wert sind.
Und das ist es! Aus diesen Übungsaufgaben kann man eine Menge lernen, da sie jeweils eine unterhaltsame Möglichkeit sind, Ihr Gehirn zu aktivieren.
Es ist seit langem mein Ziel, einen projektbasierten Lernansatz in der Community zu verbreiten und BigDevSoon zum Laufen zu bringen, eine App, an der wir seit drei Jahren arbeiten. Für uns ist das ein toller Erfolg.
Codieren Sie weiter GROSS! ?♂️
Das obige ist der detaillierte Inhalt vonVerbessern Sie Ihr Vorstellungsgespräch mit Übungsaufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!