Beste Antwort
Es scheint fast nutzlos zu sein, zu antworten, denn was meinen Sie mit „gut“? Was möchten Sie erreichen?
Wenn Sie eingestellt werden möchten, ist dies möglicherweise ein guter Weg, um eingestellt zu werden, aber es scheint unwahrscheinlich, es sei denn, Sie sind wirklich ein super guter Hot Shot. Aber es ist schwierig zu wissen, wie Sie es machen würden. Ich bin mir ziemlich sicher, dass es bessere Möglichkeiten gibt, einen Job zu finden, wenn Sie wissen, wie man gut codiert und es beweisen kann. Setzen Sie beispielsweise einen guten, nützlichen Code auf github.
Ich habe in letzter Zeit (seit Monaten) viel Zeit dort verbracht. Wie bei jedem Lernvorhaben hilft es, sich selbst zu verwalten, während Sie es tun. Das Sammeln von grünen Häkchen, Goldmünzen und besseren Abzeichen kann süchtig machen. Achten Sie daher auf ein unproduktives Plateau.
Die Leute kritisieren die täglichen Herausforderungen, erkennen jedoch, dass das Erstellen einer täglichen Herausforderung auch ein kreativer Prozess ist, und die Kommentare Der Abschnitt hilft Ihnen dabei.
Um nur eine Sprache zu lernen, gibt es einen Arcade-Abschnitt, in dem Sie Probleme in Ihrem eigenen Tempo bearbeiten können. Es scheint, dass die Leute nur nach der Reihenfolge ihrer Fertigstellung eingestuft werden. Das ist also nicht wettbewerbsfähig. Ich fand dies sehr hilfreich, um mich mit PHP-Funktionen und Arrays vertraut zu machen, und ich arbeite auch daran, OO-Methoden zu verwenden.
Ich finde die täglichen Herausforderungen (zu der Zeit) sehr aufregend, interessant und herausfordernd. Wenn Sie es immer schaffen, ist es zu einfach. Das Lesen der Beschreibung ist eine Kunst. Manchmal beginne ich zu schnell mit dem Codieren, bevor ich die Beschreibung richtig kenne, und dann bereue ich es. Manchmal denke ich auch an eine Lösung, die nicht korrekt ist, und beginne mit der Codierung, bevor ich verstanden habe, wie das Problem richtig gelöst werden kann. In letzter Zeit gab es einige sehr herausfordernde Probleme, für deren Lösung dynamische Programmiertechniken erforderlich sind, und es gab drei, die ich in der vorgegebenen Zeit nicht lösen konnte.
Wenn Sie herausfordernde Rätsel lösen und auffrischen möchten Wenn Sie über Programmierkenntnisse in PHP oder C ++ oder Java oder MySQL oder Javascript verfügen oder eine ausgefallene Sprache wie Haskell oder Python oder R oder Ruby usw. lernen möchten, würde ich sagen, dass Codefights eine great
Antwort
Ich habe beide Plattformen ziemlich ausgiebig genutzt, um meine Kenntnisse über Datenstrukturen und Algorithmen zu verbessern.
Hackerank-Stärken
- Tonnenweise und ich meine Tonnen von Fragen, die in Tracks organisiert sind. Möchten Sie mehr über die Verwendung von regulären Ausdrücken / Java / SQL / Algorithmen / Datenstrukturen / Python / Mathematik erfahren? Jedes dieser Themen und mehr hat bestimmte Pfade mit bestimmten Unterthemen.
- Wenn Sie diese Websites verwenden, um die Vorbereitung von Interviews zu erhalten, senden viele Unternehmen ihre Codierungsherausforderungen über den Hacker-Rang als Teil des Interviewprozesses Es ist also gut, sich vertraut zu machen. Expedia, GE, Goldman Sachs und Optiver, um nur einige zu nennen
- Sie erhalten fast alle Funktionen (wenn nicht alle) kostenlos von der Website. Bei Leetcode ohne kostenpflichtiges Abonnement gibt es bestimmte Nachteile.
- Beispielsweise können Sie Ihre Lösung nicht immer sofort einreichen, da die Lösung so ausgeführt wird, dass sie mit allen anderen Lösungen verglichen wird.
- Fast alle Problemstellungen enthalten Beispiele für 1 oder 2 Testfälle und Antworten sowie ziemlich gründliche Erklärungen, warum die Antwort so ist, wie sie ist. Dies ist bei Leetcode weitaus seltener der Fall.
- Jede auf Hackerrank gepostete Frage enthält eine verifizierte Lösung auf der Registerkarte „Editorial“. Nicht jede Leetcode-Frage hat eine (obwohl Sie auf beiden Plattformen leicht eine Antwort erhalten können, indem Sie auf die Registerkarte „Diskussionen“ klicken).
- Beide Websites verfügen über sichtbare Testfälle, mit denen Sie Ihren Code ausführen können, bevor Sie ihn senden. Hackerrank macht einen ziemlich guten Job, um diese sichtbaren Fälle zu den häufigsten Fällen zu machen, während Leetcode fast immer einen Randfall für den sichtbaren Test verwendet.
- Hackerrack hat Vim-Bindungen! (Wenn Sie sich dafür interessieren)
Leetcode-Stärken
- Was ich an Leetcode liebe, ist, dass sie direkt auf den Punkt bezogene Problemstellungen haben. Hackerrank hat in der Regel etwas lange Einführungen und langwierige Szenarien, die die eigentliche Aufgabe maskieren.
- Zum Beispiel: Hackerrank könnte wie folgt aussehen: „Sally liebt Schokolade, aber nur will Schokolade mit der geringsten Menge an Natrium essen. Bei einer Reihe von Natriumwerten geben Sie die niedrigste Schokolade mit dem niedrigsten Natrium zurück. “
- Leetcode-Äquivalent wäre„ Bei einer Reihe von Ganzzahlen geben Sie zurück das min-Element ”
- Sowohl Hackerrank als auch Leetcode vergleichen die Laufzeitkosten Ihres Algorithmus, indem sie die Lösung mit Testfällen zeitlich festlegen. Sobald Ihre Lösung genehmigt wurde, werden sie jedoch mit allen genehmigten Lösungen in derselben Programmiersprache und dem Prozentsatz der Anzahl der Lösungen aufgelistet, die Sie hinsichtlich der Geschwindigkeit geschlagen haben.
- Die Testumgebung ist weit überlegen. Wenn Sie einen benutzerdefinierten Testfall eingeben, wird auch die richtige Lösung ausgeführt, sodass Sie sofort feststellen können, ob Ihre richtig oder falsch ist.Auf Hackerrank führt das Ausführen eines benutzerdefinierten Testfalls nur Ihre Lösung aus.
- Eine andere Sache, die ich liebe, erfordert für jedes Problem, dass die Codierungsschnittstelle nur mit einer vordefinierten Funktionssignatur arbeitet. In Hackerrank müssen Sie häufig die Eingabe / Ausgabe verarbeiten, und es wird ein String-Matching ausgeführt, um die Antwort zu validieren. Dies kann etwas ärgerlich sein.
- Ernsthaft… warum sollte ich „JA“ oder „JA“ drucken? NEIN “, wenn das schnellere Äquivalent nur ein boolesches Objekt enthält?
- Leetcode hat diese ausgefallene “ Frage wurde von X Company mit Y\% Häufigkeit gestellt „, auf die Sie mit dem Abonnement zugreifen können. Ich persönlich denke, dass dieses Tool nicht so nützlich ist und den falschen Eindruck erweckt, dass sich die Leute all diese spezifischen Fragen merken können, wenn sie ein Interview mit der Firma X erhalten.
Ich persönlich mag LeetCode besser und letztendlich kommt es darauf an, wofür Sie es verwenden.
Haftungsausschluss : Dies sind meine Meinungen zu den Stärken und Stärken Schwächen sind. Während einige Leute vielleicht sehen, dass eine Schwäche wirklich eine Stärke ist und umgekehrt.