Nachdem ich ein Angebot von Deliveroo erhalten hatte, sollte ich in dieser Firma Data Science Manager werden. Während ich mich auf die Aufnahme meiner Aufgaben vorbereitete, wurde das Angebot zurückgezogen. Zu diesem Zeitpunkt hatte ich bei längerer Arbeitslosigkeit keinen Airbag. Ich werde mit Ihnen alles teilen, was mir letztendlich geholfen hat, zwei Angebote für die Data Scientist-Position von Facebook gleichzeitig zu erhalten. Ich hoffe, dies wird einem von Ihnen helfen, aus der schwierigen Situation herauszukommen, in der ich mich vor einigen Monaten befunden habe.
1. Organisation ist der Schlüssel zu allem
Ich habe Interviews bei Google (und DeepMind), Uber, Facebook und Amazon geführt, um alles zu erfahren, was irgendwie mit der Position von Data Scientist zu tun hat. Die meiste Zeit wurden mir Fragen aus Branchen wie gestellt
- Software-Entwicklung
- Angewendete Statistiken
- Maschinelles Lernen
- Datenverarbeitung, -verwaltung und -visualisierung
Niemand erwartet, dass Sie für all diese Branchen ein Superprofi sind. Sie müssen sie jedoch ausreichend verstehen, um den Interviewer von Ihrer Kompetenz und dem Recht zu überzeugen, die vorgeschlagene Position einzunehmen. Wie tief Sie das Thema verstehen müssen, hängt vom Job selbst ab. Da dies jedoch ein sehr wettbewerbsintensives Feld ist, wird jedes Wissen nützlich sein.
Ich empfehle, Notion zu verwenden, um Ihre Interviewvorbereitung zu organisieren. Dieses Tool ist vielseitig und ermöglicht es Ihnen, Techniken wie räumliche Wiederholung und aktives Abrufen anzuwenden. Sie tragen dazu bei, die Lernergebnisse zu verbessern und wichtige Fragen aufzudecken, die in einem Data Scientist-Interview immer wieder auftauchen. Ali Abdaal hat einen großartigen Führerfür Notizen mit Notion. Hilft, Ihr Potenzial während des Interviews zu maximieren.
Ich habe meine Notizen bei Notion ständig wiederholt, besonders aktiv - kurz vor dem Interview. Dadurch konnte ich mich auf meine Fähigkeiten verlassen und darauf, dass die wichtigsten Themen und Begriffe in meinem "Arbeitsgedächtnis" enthalten sind, sodass ich keine kostbare Zeit verschwenden muss, um nach einigen Fragen sinnvoll "nuuuuuu" zu sagen.
2. Softwareentwicklung
Sie müssen nicht immer Fragen zur zeitlichen Komplexität eines Algorithmus beantworten. Für jeden Data Scientist-Job müssen Sie jedoch Code schreiben. Wie Sie wissen, ist Data Science kein Beruf, aber viele ziehen in dieser Branche Talente aus einer Vielzahl von Bereichen an, einschließlich der Softwareentwicklung. Dementsprechend müssen Sie mit Programmierern konkurrieren, die die Nuancen des Schreibens von effizientem Code verstehen. Ich würde empfehlen, 1-2 Stunden am Tag vor dem Interview zu verbringen, um Kenntnisse und Fähigkeiten in solchen Themen zu beherrschen und / oder zu stärken:
- Arrays.
- Hash-Tabellen.
- Verknüpfte Listen.
- Methode von zwei Zeigern.
- String-Algorithmen (Arbeitgeber LIEBEN dieses Thema).
- Binäre Suche.
- Algorithmen teilen und erobern.
- Sortieralgorithmen.
- Dynamische Programmierung.
- Rekursion.
Studieren Sie Algorithmen nicht auf formale Weise. Dies ist nutzlos, da der Interviewer möglicherweise eine Frage zu den Nuancen eines Algorithmus stellt und Sie sich verlaufen. Stattdessen ist es besser, die Grundlage zu beherrschen, auf der jeder Algorithmus funktioniert. Erforschen Sie die rechnerische und räumliche Komplexität und verstehen Sie, warum all dies für die Erstellung von Qualitätscode wichtig ist.
Interviewer müssen sich nach Algorithmen erkundigen. Es lohnt sich daher, die grundlegenden Elemente und allgemeinen Fallstudien zu lernen, um die Beantwortung von Interviews später zu vereinfachen.
Versuchen Sie, jede mögliche Frage zu beantworten, auch wenn es lange dauert. Schauen Sie sich dann das Entscheidungsmodell an und versuchen Sie, die optimale Strategie zu bestimmen. Schauen Sie sich dann die Antworten an und versuchen Sie zu verstehen, warum dies so ist. Stellen Sie sich Fragen wie "Warum ist die durchschnittliche Zeitkomplexität von Quicksort O (n²)?" oder "Warum sind zwei Zeiger und einer für Schleife sinnvoller als drei für Schleifen"?
3. Angewandte Statistik
Angewandte Statistik spielt in Data Science eine wichtige Rolle. Wie wichtig dies ist, hängt von der Stelle ab, auf die Sie sich bewerben. Wo werden angewandte Statistiken tatsächlich verwendet? Wo immer es notwendig ist, Informationen aus Daten zu organisieren, zu interpretieren und zu extrahieren.
Während der Interviews rate ich Ihnen, die folgenden Themen sorgfältig zu studieren:
- ( , , , ).
- (, , 5 10 ).
- ( A / B-, T-, , - . .).
- ( , ).
- ( / ).
Wenn Sie denken, dass dies eine große Menge an Informationen ist, die Sie studieren müssen, dann denken Sie nicht. Ich war erstaunt, wie viel Sie für ein Interview verlangen können und wie viel Sie online finden können, um sich vorzubereiten. Zwei Ressourcen haben mir geholfen, damit umzugehen:
- Einführung in Wahrscheinlichkeitsrechnung und Statistik ist ein kostenloser Kurs, der alles oben Beschriebene abdeckt, einschließlich Fragen und einer Selbsttestprüfung.
- Maschinelles Lernen: Eine Bayes'sche und Optimierungsperspektive . Dies ist eher ein maschineller Lernkurs als angewandte Statistik. Die hier beschriebenen linearen Algebra-Ansätze helfen jedoch, die Nuancen des Regressionsanalysekonzepts zu verstehen.
Es ist am besten, es nicht auswendig zu lernen. Sie müssen so viele Aufgaben wie möglich lösen. Glassdoor ist ein großartiges Repository für angewandte Statistikfragen, auf die Sie normalerweise in Interviews stoßen. Das herausforderndste Interview, das ich hatte, war ein Interview mit G-Research. Aber ich habe es wirklich genossen, mich darauf vorzubereiten, und Glassdoor hat mir geholfen zu verstehen, wie weit ich bei der Beherrschung des Themas fortgeschritten bin.
4. Maschinelles Lernen
Jetzt kommen wir zum Wichtigsten - dem maschinellen Lernen. Aber dieses Thema ist so umfangreich, dass Sie sich einfach darin verlieren können.
Im Folgenden finden Sie einige Ressourcen, die eine sehr solide Grundlage für den Einstieg in das maschinelle Lernen bieten. Hier finden Sie keine ausführlichen Themen, die nach Themen geordnet sind.
Metriken - Klassifizierung
- Verwirrungsmatrizen, Genauigkeit, Präzision, Rückruf, Empfindlichkeit
- F1-Punktzahl
- TPR, TNR, FPR, FNR
- I II
- AUC-Roc
—
-, Over/Under-Fitting
Sampling
Hypothesentest
Dieses Thema bezieht sich eher auf angewandte Statistik, ist jedoch insbesondere beim A / B-Test äußerst wichtig .
Regressionsmodelle
Über die lineare Regression stehen zahlreiche Informationen zur Verfügung. Sie sollten sich mit anderen Regressionsmodellen vertraut machen:
- Tiefe neuronale Netze für Regressionsprobleme
- Zufällige Waldregression
- XGBoost-Regression
- ARIMA / SARIMA
- Bayesianische lineare Regression
- Gaußsche Prozessregression
Clustering-Algorithmen
Klassifizierungsmodelle
- Logistische Regression (am wichtigsten, gut fixieren)
- Multiple Regression
- XGBoost
- Unterstützung Vektormaschine
Das ist viel, aber es sieht nicht so beängstigend aus, wenn Sie angewandte Statistiken verstehen. Ich würde empfehlen, die Nuancen von mindestens drei verschiedenen Klassifizierungs- / Regressions- / Clustering-Methoden zu lernen, da der Interviewer immer fragen kann (und tut): "Welche anderen Methoden könnten wir verwenden, was sind einige der Vor- / Nachteile?" Dies ist nur ein Bruchteil des Wissens, aber wenn Sie diese wichtigen Beispiele kennen, werden die Interviews viel reibungsloser verlaufen.
5. Datenverarbeitung und Visualisierung
"Erzählen Sie uns von den Phasen der Datenverarbeitung und -bereinigung, bevor Sie Algorithmen für maschinelles Lernen anwenden."
Wir erhalten einen bestimmten Datensatz. In erster Linie wird bewiesen, dass Sie die EDA erreichen können. Es ist am besten, Pandas zu verwenden. Bei korrekter Verwendung ist es das leistungsstärkste Tool in der Datenanalyse-Toolbox. Der beste Weg, um zu lernen, wie man Pandas zum Verarbeiten von Daten verwendet, besteht darin, viele, viele Datensätze herunterzuladen und mit ihnen zu arbeiten.
In einem der Interviews musste ich einen Datensatz laden, bereinigen, rendern, auswählen, erstellen und bewerten - alles in einer Stunde. Es war wirklich verrückt, wir waren sehr hart. Aber ich habe nur ein paar Wochen lang geübt, also wusste ich, was ich tun sollte, auch wenn ich den Faden verloren hatte.
Organisieren von Daten
Es gibt drei wichtige Dinge im Leben: Tod, Steuern und die Anforderung, Datensätze zusammenzuführen. Pandas ist fast perfekt für den Job, also bitte üben, üben, üben.
Datenprofilerstellung
Diese Aufgabe beinhaltet das Verstehen der "Meta" -Eigenschaften des Datensatzes, wie z. B. die Form und Beschreibung der numerischen, kategorialen und zeitlichen Merkmale in den Daten. Sie sollten sich immer bemühen, eine Reihe von Fragen zu beantworten, z. B. „Wie viele Beobachtungen habe ich?“, „Wie sieht die Verteilung der einzelnen Funktionen aus?“, „Was bedeuten diese Funktionen?“. Diese Art der frühen Profilerstellung kann Ihnen helfen, irrelevante Funktionen wie kategoriale Funktionen mit Tausenden von Ebenen (Namen, eindeutige Kennungen) von Anfang an zu beseitigen und den Arbeitsaufwand für Sie und Ihren Computer in der Zukunft zu verringern (intelligent arbeiten, nicht hart, oder irgendwie aufgewacht).
Datenvisualisierung
Hier fragen Sie sich: "Wie sieht die Verteilung meiner Funktionen aus?" Kurztipp: Wenn Sie im Teil "Angewandte Statistik" des Lernprogramms nichts über Box-Plots erfahren haben, ist es jetzt an der Zeit, zu lernen, wie Sie Ausreißer visuell identifizieren. Histogramme und Diagramme der Kerneldichte sind äußerst nützliche Werkzeuge, wenn Sie die Eigenschaften der Verteilungen jeder Funktion anzeigen.
Dann könnten wir fragen, wie die Beziehung zwischen meinen Funktionen aussieht. In diesem Fall hat Python ein Paket namens seaborn, das coole und leistungsstarke Tools wie Pairplot und eine schöne Heatmap für Korrelationsdiagramme enthält.
Behandlung von Nullwerten, Syntaxfehlern und doppelten Zeilen / Spalten
Fehlende Werte sind unvermeidlich. Dieses Problem ergibt sich aus vielen verschiedenen Faktoren, von denen jeder den Offset auf seine Weise beeinflusst. Sie müssen lernen, wie Sie am besten mit fehlenden Werten umgehen. In diesem Handbuch erfahren Sie, wie Sie mit Nullwerten umgehen .
Syntaxfehler treten normalerweise auf, wenn ein Dataset Informationen enthält, die manuell eingegeben wurden, z. B. über ein Formular. Dies kann uns zu der falschen Schlussfolgerung führen, dass die kategoriale Funktion viel mehr Ebenen hat als sie tatsächlich hat, da "Hot", "hOt", "hot / n" als eindeutige Ebenen betrachtet werden. Schauen Sie sich diese Ressource zum Umgang mit schmutzigen Textdaten an.
Schließlich sind doppelte Spalten nicht erforderlich, und doppelte Zeilen können die Präsentation verzerren. Daher sollten sie frühzeitig behandelt werden.
Standardisieren oder Normalisieren
Abhängig vom Datensatz, mit dem Sie arbeiten, und der von Ihnen gewählten Methode des maschinellen Lernens kann es hilfreich sein, die Daten zu standardisieren oder zu normalisieren , damit unterschiedliche Maßstäbe verschiedener Variablen die Leistung Ihres Modells nicht negativ beeinflussen.
Im Allgemeinen war es nicht so sehr die Einstellung, sich an alles zu erinnern, die mir half, als vielmehr zu verstehen, wie sehr mir das Training geholfen hat. Ich habe viele Interviews nicht bestanden, bevor mir klar wurde, dass all das keine esoterischen Konzepte sind, die nur einige wenige beherrschen können. Dies sind die Werkzeuge, mit denen Datenwissenschaftler coole Modelle erstellen und wichtige Erkenntnisse aus Daten gewinnen.
Zu diesem Thema:
- Interview „ Ich hatte Angst vor Routineaufgaben, aber in Data Science ist alles anders “;
- Praktischer Online-Kurs " Beruf " Daten cientWissenschaftler .