Es ist absolut unmöglich, dass Sie erwarten können, alle möglichen Fragen zu üben.
Es geht nicht darum, sich etwas zu merken, es geht darum, ausreichend mit Datenstrukturen und Algorithmen vertraut zu sein, um es herauszufinden raus und schnell. Und Sie erhalten diese Belichtung mit Übung.
-
Nehmen Sie an einigen Online-Kursen zu Datenstruktur und Algorithmen teil (z. B. von Coursera - sie sind kostenlos) - das habe ich gelernt Vieles von einigen dieser Kurse, die eigentlich ein Undergrad sein sollten, obwohl ich bereits meinen Abschluss hatte - der Unterschied zwischen verschiedenen Universitäten ist so groß, dass Sie unbedingt einige dieser Kurse belegen müssen, um sicherzugehen, dass Sie auf dem neuesten Stand sind.
-
Verbringen Sie einige Zeit auf wettbewerbsfähigen Programmierseiten (z. B. HackerRank, CodeChef, Topcoder). .
-
Es gibt viele Blogs und dergleichen (z. B. CareerCup und GeeksforGeeks.com) zum Codieren von Interviewfragen - don Lesen Sie die Lösungen nicht sofort, schreiben Sie den eigentlichen Arbeitscode auf Papier und geben Sie an, wie lange Sie brauchen - Ihr Ziel ist es, weniger als eine Stunde nach dem Beginn des Lesens der Frage zu sagen, da dies ungefähr so lange dauert Interviews sind in der Regel.
-
Stapelüberlauf kann sicherlich helfen, insbesondere die Algo Tags rithm und Datenstrukturen - Sie müssen (zunächst) nicht einmal etwas beantworten, sondern können nur die Fragen lesen und versuchen, es selbst herauszufinden (versuchen Sie, den Code zu schreiben). und lesen Sie dann die Antworten. Während viele der Fragen möglicherweise keine Interviewfragen sind, können Dinge wie das Auffinden von Fehlern im Code anderer auch dazu beitragen, dass Sie ein besserer Programmierer werden.
Das Lesen und Schreiben verständlicher Antworten hilft auch sehr beim Erstellen Sie können sich besser gut erklären, was in einem Interview sehr nützlich ist (geben Sie keine Antworten nur mit Code an).
In Bezug auf allgemeine Interviewtipps - reden.
Mir ist klar, dass manche Leute in der Stille vielleicht besser denken, aber das Problem, nichts zu sagen, ist, dass der Interviewer keine Ahnung hat, was Sie denken. Gehen Sie durch, was Sie vorhaben. Wenn Sie einige Ideen haben, auch wenn Sie denken, dass sie schlecht sind oder nicht funktionieren, teilen Sie sie einfach mit (Sie können sogar sagen, dass Sie denken, dass sie schlecht sind - ob Sie es glauben oder nicht, aber schlechte Ideen helfen Ihren Chancen oft sehr ).
Wenn Sie nichts sagen und nichts schreiben, wird der Interviewer Ihnen höchstwahrscheinlich Fragen stellen, um festzustellen, ob Sie möglicherweise einen Tipp benötigen oder was genau Ihnen durch den Kopf geht.
Sie sollten jedoch jederzeit damit rechnen, auf eine Frage zu antworten. Sie fragen möglicherweise nach Ihrer Motivation, bestimmte Entscheidungen zu treffen, oder versuchen, Sie mit einigen Leitfragen in die richtige Richtung zu führen.
Denken Sie daran, dass eine 'schlechte', wirklich offensichtliche Lösung besser ist als keine Lösung - zum Beispiel, selbst wenn Sie nur Code schreiben, um die verknüpfte Liste zu durchlaufen, und die Elemente in die Vorderseite einer anderen verknüpften Liste einfügen. Liste, die zu einer umgekehrten Liste führen würde, das ist viel besser, als keine Lösung zu geben. Wenn Sie jemals stecken bleiben, treten Sie zwei Schritte zurück und überlegen Sie sich einen wirklich ineffizienten Weg, um das Problem zu lösen. Bei Interviewfragen gibt es häufig einen.
Machen Sie auch keine Annahmen. um Klarstellung zu bitten ist gut . Aktiv versuchen , nicht sofort mit dem Schreiben von Code zu beginnen - versuchen Sie, zumindest etwas in der Frage zu finden, das unklar ist und nach dem Sie fragen können. Rechts von der Fledermaus - um welche Art von verknüpfter Liste handelt es sich? Doppel oder einfach? Sie können nach der Komplexität von Zeit und Raum fragen, aber ich würde mich nicht zu sehr darum kümmern, um damit zu beginnen, da diese als Hauptablenkung für eine etwas schlechtere Lösung dienen können, die immer noch als akzeptabel angesehen werden kann und Ihnen am Ende den Job verschafft.
In Bezug auf das Üben von tatsächlichen Interviews - holen Sie sich einen Programmiererfreund, der einige tatsächliche Übungsinterviews mit Ihnen führt.
Besorgen Sie sich ein Whiteboard (oder ein Notizblock funktioniert möglicherweise auch), lassen Sie sich von ihm fragen, wie Sie eine verknüpfte Liste umkehren, und schreiben Sie den eigentlichen Code auf das Whiteboard. Lassen Sie ihn / sie:
- Überprüfen Sie, ob Sie um Klärung bitten.
- Überprüfen Sie, ob Sie nicht still sind und zu lange nichts tun (ich bin mir nicht sicher, wie lang ist zu lang, 30 Sekunden?)
- Kommen Sie nach dem Zufallsprinzip mit der Frage vorbei, warum Sie eine bestimmte Wahl getroffen haben, oder bitten Sie Sie, Ihren Code zu erklären.
Sie könnten bekommen Ihre Fragen stammen aus einem Blog über das Codieren von Interviewfragen, sodass Sie keine Ahnung haben, was auf Sie zukommt (es könnte sich um eine absichtlich unterbestimmte Frage handeln, sodass Sie um Klärung bitten müssen (gut) oder eine Menge Annahmen treffen müssen (schlecht)).
Ich würde auch einige nicht codierende (dh HR) Interviewfragen einmischen, da Sie diese wahrscheinlich in tatsächlichen Interviews erhalten und die Beantwortung dieser Fragen möglicherweise unterschiedliche Einstellungen erfordert Sie versuchen, es so real wie möglich zu machen.
Zum Abschluss - üben Sie das Schreiben von vollständig funktionierendem Code ohne IDE, ohne ihn zu testen, bevor er vollständig abgeschlossen ist (und testen Sie ihn anschließend ausgiebig um sicherzustellen, dass es funktioniert). Wenn Sie es nicht gewohnt sind, auf die Hilfe einer IDE zu verzichten, könnte es Ihnen allein mit diesem Aspekt schwer fallen.