Startseite
> Programmierung
> Informatik
> Technisch
> Cracking the Coding Interview: 150 Programmierfragen und -lösungen Bewertung
Cracking the Coding Interview: 150 Programmierfragen und -lösungen
Cracking the Coding Interview: 150 Programming Questions and SolutionsVon Gayle Laakmann McDowell
Rezensionen: 27 | Gesamtbewertung: Gut
Ausgezeichnet | |
Gut | |
Durchschnitt | |
Schlecht | |
Schrecklich |
Jetzt in der 5. Ausgabe bietet Ihnen Cracking the Coding Interview die Interviewvorbereitung, die Sie benötigen, um die besten Jobs als Softwareentwickler zu bekommen. Dies ist ein zutiefst technisches Buch, das sich auf die Fähigkeiten des Software-Engineerings konzentriert, um Ihr Interview zu verbessern. Das Buch umfasst mehr als 500 Seiten und enthält 150 Fragen und Antworten zu Programmierinterviews sowie weitere Ratschläge. Die vollständige Liste von
Rezensionen
Ich hasse es absolut, wie technische Interviews für Programmierer durchgeführt werden. Können Sie sich vorstellen, dass ein Herzchirurg zu einem Interview in ein Krankenhaus ging und ihm eine Partie "Operation" zum Spielen überreichte? So interviewen wir Programmierer. Es ist so dumm, dass ich für Absätze immer weiter darüber reden könnte.
Aber wenn Sie bei den Top-Tech-Unternehmen der Welt arbeiten wollen, müssen Sie das Spiel spielen, unglaublich dumm und schlecht auf die jeweilige Aufgabe ausgerichtet. Und wenn Sie sich auf ein paar Coding-Interviews begeben möchten, ist das Lesen von Cracking the Coding Interview das Wichtigste, was Sie für sich selbst tun können. Es ist einfach phänomenal.
Es gibt definitiv einige Abschnitte, an denen Gayle nicht besonders interessiert zu sein scheint. Zum Beispiel schien die Berichterstattung über Bit Manipulation etwas flüchtig zu sein, als wäre es ein Bereich, den sie nicht besonders kennt oder mit dem sie sich nicht wohl fühlt. Aber zum größten Teil werden alle wichtigen Dinge in der richtigen Detailstufe behandelt. Es ist gut zu überprüfen, aber wenn Sie mit vielen dieser Datenstrukturen und -konzepte noch nicht vertraut waren, bin ich mir nicht sicher, ob das Buch als Einführung dient.
Eine wichtige Lücke ist die Berichterstattung über Versuche. Sie erhalten einen Shout-Out als Datenstruktur, die im Grunde genommen nicht in Interviews auftaucht, aber ich habe nach dem Lesen dieses Buches bei 5 großen Technologieunternehmen Interviews geführt, und in drei von ihnen waren Versuche die richtige Lösung.
Insgesamt ist der Grund für dieses Buch jedoch die Reihe der Fragen. Fragen, die genau die Art von Dingen sind, die Ihnen beim Codieren von Interviews gestellt werden. Jede Frage enthält einige Hinweise sowie die Antworten auf der Rückseite. Nehmen Sie das Buch und üben Sie das Lösen der Probleme auf einem tatsächlichen Whiteboard. Springen Sie nicht zu den Antworten, sondern lesen Sie die Hinweise (die meisten Interviewer geben ähnliche Hinweise).
Es gibt einfach nichts, was Sie tun können, um das Codierungsinterview besser zu emulieren, als die Probleme in diesem Buch zu üben. Es ist ein Muss.
Laakmann (McDowell? Welchen Nachnamen wähle ich?) Zerlegt gründlich verschiedene Arten von Interviewfragen, von Denksportaufgaben bis hin zu OO-Fragen, und es gibt auch eine gute Bandbreite an Schwierigkeiten. Mein einziger Kritikpunkt ist, dass dieses Buch eher für Java-begeisterte Programmierer gedacht ist, die unbedingt bei Microsoft interviewen möchten, als für ... irgendjemanden anderen. Es hilft nicht, dass die Lösungen alle in Java sind. Was ist das, die 90er?
Nehmen Sie dieses Buch also mit einem Körnchen Salz. Ich habe festgestellt, dass sich mehr Unternehmen einem Interviewstil mit Paarprogrammierung zuwenden, der sich auf Ihre Fähigkeiten als * Programmierer * und nicht als * Informatiker * konzentriert. Natürlich kommt es nur darauf an, wo Sie interviewen.
Java ist so eklig anzusehen.
Insgesamt war das Buch in Ordnung, um einen Eindruck davon zu bekommen, welchen Wahnsinn man beim Codieren von Interviews erwartet. Aber fast jedes Thema im Buch wird anderswo viel besser behandelt.
Im Allgemeinen werden die meisten Unternehmen Ihnen wahrscheinlich keine Fragen zu Mathematik / Wahrscheinlichkeits- und Denksportaufgaben stellen (die Ausnahme bilden die namhaften Unternehmen, die der Autor erwähnt, Microsoft, Google, Amazon usw.).
Ich habe gestern Abend vor einem Interview den Java-Bereich aufgefrischt und ob Sie es glauben oder nicht, ich wurde nach einem Thema aus der Java-Übersicht gefragt (ich war dankbar, dass ich die Auffrischung hatte!). Allein aus diesem Grund gebe ich diesem eine 4-Sterne-Bewertung :-)
Das Buch ist in zwei Teile gegliedert: Überblick über den Ablauf von Interviews für Softwareentwickler und tatsächliche Codierungsübungen mit Hinweisen und vollständigen Antworten.
Die Übersicht über den Interviewprozess konzentriert sich darauf, wie die meisten Interviews in den Softwareunternehmen durchgeführt werden, und bestätigt die Tatsache, dass die meiste Zeit in diesen Interviews tatsächlich mit dem Codieren auf einem Whiteboard verbracht wird, was für schlecht oder gut ganz anders ist als das Codieren auf einem Computer. Wahrscheinlich sind die wichtigsten Take Aways:
Das Ziel der Codierung im Interviewprozess besteht nicht darin, herauszufinden, was Sie wissen, sondern wie Sie sich einem Problem nähern und es durchdenken, auf das Sie noch nie zuvor gestoßen sind. Das Beobachten, was Sie wissen, ist ein Nebeneffekt eines unbekannten Problems, das häufig die Anwendung von Wissen erfordert, das Sie bereits kennen.
Niemand erwartet von Ihnen, dass Sie ein Problem sofort oder in einem Versuch lösen. Das Ziel ist zu sehen, wie Sie auf ungewohnte Situationen reagieren - Fähigkeit, Informationen zu finden, das Problem zu analysieren und nach einem Ausgangspunkt zu suchen usw.
In ähnlicher Weise erwartet niemand, alle Fragen beantworten zu können. Sie werden nicht danach bewertet, ob Sie alle Fragen beantwortet haben oder nicht, sondern danach, wie gut Sie gegen andere Interviewkandidaten abschneiden.
Aber die Art und Weise, wie die Lösungen angeordnet sind, ist erstaunlich. Obwohl Sie versuchen sollten, es selbst zu lösen, bevor Sie die Lösungen lesen, sollten Sie die Lösungen nach dem Lösen trotzdem lesen, da er den Ansatz erklärt, den er zur Lösung der Probleme gewählt hat, und der sich als sehr wertvoll herausstellt.
Insgesamt sehr nützlich - nicht nur für Menschen, die nach Veränderung suchen, sondern für alle, die ihren Geist scharf und frisch halten möchten.
Wettbewerbsfähige Programmierung hat viele Vorteile und bietet einen konkreten Beweis für einige der Fähigkeiten des Programmierers. In vielen Fällen ist eine hohe Leistung bei diesen Aufgaben jedoch kein Prädiktor für die Leistung am Arbeitsplatz. In dieser Hinsicht ist "Cracking the Coding Interview" ein schlechter Dienst für den Interviewprozess der Softwareentwicklung.
Wenn Sie jedoch dieses Interviewformat verbessern möchten, würde ich lieber die folgenden Ressourcen empfehlen:
- Lernen: Sedgewicks Algorithmusbuch und Videokurs.
- Übungen: InterviewBit, Topcoder.
Darüber hinaus ein wettbewerbsfähiges Programmierbuch. Ich empfehle "Competitive Programmer's Handbook" von Antti Laaksonen (https://cses.fi/book.html), die Programmierer zu Programmierern Ratschläge in einem linearen, leicht zu verfolgenden Format mit Codebeispielen bietet.
Wenn Sie mehr als 3 Monate vor Ihrem ersten technischen Interview haben, ist dieses Buch wahrscheinlich die beste Wahl.
Und es funktioniert, dank ihm (und vielen anderen) konnte ich Angebote von Facebook und Google erhalten.
Die Überprüfung von CtCI wurde traditionell als der beste Weg angesehen, um die Grundlagen des Software-Engineerings unter denjenigen zu testen, die in die Branche eintreten. Mit der Popularisierung interaktiver Plattformen wie HackerRank und Leetcode ist es unter Studenten zu einem Übergangsritus geworden, Übungsprobleme für Hunderte von Stunden zu lösen. Das Ergebnis, das zu sehr wünschenswerten Karriereergebnissen führt, ist, dass 1. Sie viele Leute haben, die aus dem falschen Grund Informatik studieren (EG CS ist das neue Pre-Med) und 2. die meisten anderen Fähigkeiten, die für diejenigen, die arbeiten, wichtig sind in der Branche sind deemphasized. 3. Die Homogenität ist fast ausschließlich negativ erhöht.
Ich gebe Gayle weder die Schuld für das, was passiert ist, noch beschuldige ich Unternehmen, die Permutationen dieser klassischen Probleme verwenden, um Zehntausende von Kandidaten zu überprüfen. Viele Leute, die Informatik studierten, taten dies, weil sie es als den besten Weg betrachteten, ihren Wunsch zu befriedigen, interessante Probleme zu lösen und es zu hassen, wenn Sie müssen, aber dies ist nur ein Buch voller lustiger kleiner Probleme, die es zu lösen gilt. Du hast dich dafür angemeldet! In einem Facebook-Interview geröstet zu werden bedeutet nicht, dass der Bewertungsprozess für Kandidaten unterbrochen ist!
Wie auch immer, es ist ein klassisches Buch. Die Leute empfehlen jetzt wahrscheinlich "bessere" Dinge, aber wie Sie sich wahrscheinlich vorstellen können, werden die meisten Probleme, die Sie an anderer Stelle finden, ähnlich, wenn nicht identisch sein. Dafür werde ich jetzt allerdings etwas alt und hoffe, dass ich das Buch nie wieder öffnen muss.
Besuchen Sie meinen Blog für diese und andere Buchbesprechungen
1. Sprechen Sie laut, damit sich Ihr Interviewer auf derselben Seite befindet, auf der Sie sich in Ihrem Denkprozess befinden, und Sie korrigieren kann, wenn Sie schief gehen.
2. Verwenden Sie einfache Beispiele, um das Denken zu erleichtern. Es ist viel einfacher, über ein konkretes Beispiel nachzudenken als über ein abstraktes Problem.
3. Verschiedene Techniken, um die zeitliche und räumliche Komplexität Ihres Algorithmus zu verringern.
4. Eine andere Sichtweise auf das technische Interview: Es geht nicht darum, das Problem zu lösen, sondern Ihren Denkprozess und Ihre logischen Argumentationsfähigkeiten zu zeigen.
Wirklich jedem empfehlen, der sich auf das Codieren von Interviews vorbereitet.
Wenn Sie paranoid / gründlich sind, arbeiten Sie an weiteren Problemen, z. B. in den Elementen Elemente der Programmierinterviews, Enthüllte Programmierinterviews, Project Euler, TopCoder, HackerRank usw.
Nach dem Lesen dieses Buches benötigen Sie wahrscheinlich detailliertere Bücher für jedes Thema.
- Arrays und Strings
- Verknüpfte Listen
- Stapel und Warteschlangen
- Bäume und Grafiken
- Bitmanipulation
- Rätsel
- Mathematik und Wahrscheinlichkeit
- Objektorientiertes Design
- Rekursion und dynamische Programmierung
- Sortieren und Suchen
- Skalierbarkeit und Speichergrenzen
- Testen
- C und C ++
- Java
- Datenbanken
- Gewinde und Schlösser
Reviewed on December 29, 2014
Overall: 4.0/5.0
Auch dies ist ein Muss Buch zu lesen (und schnell zu lesen). Hier erfahren Sie, welche Bereiche verbessert werden müssen und welche normalerweise gefragt werden (und sie werden wirklich gefragt!).
Dieses Buch half mir bei meinen Praktikumsinterviews und ich konnte problemlos Interviews mit Unternehmen wie Oracle und Amazon knacken.
Insgesamt würde ich dieses Buch jemandem empfehlen, der noch nie ein anderes Vorbereitungsbuch für Coding-Interviews gelesen hat.
Ich habe keine der Fragen beantwortet, sondern nur die Inhaltskapitel gelesen und mich stark auf den Abschnitt Big O konzentriert. hat auch Leetcode und Übungsinterviews auf Pramp gemacht
Es gibt einige Probleme mit dem Buch. Wenn der Code groß ist, gehen die Kommentare verloren. Im wahrsten Sinne des Wortes könnten Sie anfangen, Ihren Kopf gegen eine Wand zu schlagen, wenn Sie 2 Seiten Code haben und den Funktionen die Informationen fehlen, was sie tun.
Ein Programm sollte sehr gut lesbar sein, wenn es in einem Buch enthalten ist und daher stark kommentiert wird.
In der OOP-Sektion sind einige Lösungen schrecklich. Ein Beispiel wäre der Parkplatz.
Ansonsten ist das Buch super. Vielleicht sollte das Testkapitel übersprungen werden, Leute vom Testprofil werden das Buch nicht kaufen, und diejenigen, die es kaufen werden, suchen nicht nach dem Testprofil.
Die DP-Programmierfragen haben keine sehr guten Lösungen. Und denken Sie nicht einmal daran, von hier aus den DP-Ansatz zu lernen. Das wirst du nicht können.