SQL-Interviewfragen für erfahrene Fachleute

Quellknoten: 1586233

SQL-Interviewfragen für erfahrene Fachleute
 

Einleitung

 
Wenn Sie ein erfahrener Datenwissenschaftler sind, der auf der Suche nach einem Job ist, hätten Sie sich keinen besseren Zeitpunkt aussuchen können. Aktuell suchen viele etablierte Unternehmen Data Scientists, die ihr Handwerk in- und auswendig verstehen. Die hohe Nachfrage bedeutet jedoch nicht, dass man sich ohne bestimmte Fähigkeiten auf leitende Positionen bewerben kann oder sollte. Bei der Einstellung erfahrener Data Scientists erwarten Unternehmen, dass sie an den schwierigsten Aufgaben arbeiten. Diese Mitarbeiter sollten selbst die undeutlichsten Funktionen gut verstehen, damit sie sie bei Bedarf verwenden können.

Es sollte nicht überraschen, dass erfahrenen Data Scientists bei Vorstellungsgesprächen für leitende Positionen viel schwierigere Fragen gestellt werden. Wenn Data Scientists mehrere Jahre an einem einzigen Job arbeiten, werden sie oft sehr geschickt in der Ausführung bestimmter sich wiederholender Aufgaben. Für Profis ist es wichtig zu erkennen, dass SQL nicht mit ihrem vorhandenen Wissen endet. Wenn es um fortgeschrittene SQL-Konzepte geht, kann es noch einige Wissenslücken geben. Es kann also nicht schaden, sich bei Ihrem Data Scientist-Interview Unterstützung für den Erfolg zu holen. 

SQL ist die primäre Sprache für die Verwaltung von Datenbanken, daher steht die Durchführung von SQL-Operationen im Mittelpunkt der Arbeit von Data Scientists. Die meisten Data Scientist-Interviews werden arrangiert, um die SQL-Kenntnisse eines Kandidaten zu ermitteln. 

Zu Ihrem alltäglichen Job gehört es vielleicht nicht, komplexe Abfragen zu schreiben, aber Sie müssen zeigen, dass Sie die Person sind, die dazu in der Lage ist, wenn solche Fähigkeiten erforderlich sind. Es sollte also nicht überraschen, dass Interviewer eine Vielzahl von Fragen stellen SQL-Interviewfragen um die Sprachkenntnisse des Kandidaten in SQL zu testen.

In diesem Artikel wollten wir einige der komplexen Fragen und Konzepte zusammenfassen, die in Interviews mit erfahrenen Fachleuten gestellt wurden. Auch wenn Sie von Ihren SQL-Kenntnissen überzeugt sind, kann es nicht schaden, die Schlüsselwörter zu durchsuchen und sicherzustellen, dass Sie alles abgedeckt haben.

Minimalkonzepte für erfahrene Profis

FALL / WANN

 
Ein gründliches Verständnis des Konzepts von CASE (und der dazugehörigen When-Anweisung) ist für die vollständige Beherrschung von SQL unerlässlich. Eine case-Anweisung ermöglicht es uns, bestimmte Bedingungen zu überprüfen und einen Wert zurückzugeben, der darauf basiert, ob diese Bedingungen als wahr oder falsch bewertet werden. In Kombination mit Klauseln wie WHERE und ORDER BY ermöglicht uns CASE, Logik, Bedingungen und Ordnung in unsere SQL-Abfragen zu bringen.

Der Wert von CASE-Anweisungen ist nicht darauf beschränkt, eine einfache bedingte Logik in unseren Abfragen bereitzustellen. Erfahrene Datenwissenschaftler sollten mehr als nur ein oberflächliches Verständnis der CASE-Anweisung und ihrer Verwendung haben. Interviewer stellen Ihnen wahrscheinlich Fragen zu verschiedenen Arten von CASE-Ausdrücken und wie man sie schreibt. 

Erfahrene Kandidaten sollten bereit sein, theoretische Fragen zu beantworten, beispielsweise die Unterschiede zwischen Valued- und Searched-Case-Statements zu erklären, wie sie funktionieren und wie man sie schreibt. Dies erfordert ein solides Verständnis ihrer Syntax und gängigen Praktiken. Dazu gehört selbstverständlich auch die ordnungsgemäße Verwendung der ELSE-Klausel.

Von erfahrenen Data Scientists wird erwartet, dass sie CASE auch mit Aggregatfunktionen verwenden. Möglicherweise werden Sie auch aufgefordert, eine kurze CASE-Anweisung zu schreiben, die weniger repetitiv und leichter zu verstehen ist. Sie sollten in der Lage sein, über Vorbehalte und mögliche Risiken bei der Verwendung von CASE-Kurzanweisungen zu sprechen.

Im Allgemeinen muss ein erfahrener Data Scientist in der Lage sein, mit CASE effizientere Abfragen zu schreiben. Der ganze Zweck der CASE-Anweisung besteht schließlich darin, zu vermeiden, zu viele einzelne Abfragen zu schreiben, um die Daten zu konsolidieren.

Hier ist ein Beispiel für die Frage, die mit CASE / WHEN-Anweisungen gelöst werden kann: https://platform.stratascratch.com/coding/9634-host-response-rates-with-cleaning-fees?python= 

Dies ist eine schwierige Frage in Airbnb-Interviews, bei denen Kandidaten die durchschnittliche Antwortrate des Gastgebers, die Postleitzahl und die entsprechende Reinigungsgebühr ermitteln müssen.

In diesem Fall wird die CASE/ WHEN-Anweisung verwendet, um das Ergebnis zusätzlich zur Postleitzahl als Zahl zu formatieren und als Prozentwert darzustellen.

SQL-Joins

 
Es ist leicht, sich auf Ihr Wissen über SQL-Joins zu verlassen, aber je mehr Sie sich mit diesem Thema befassen, desto mehr werden Sie feststellen, dass Sie es nicht wissen. Interviewer fragen oft Interviewfragen zu erweiterten Aspekten von SQL Joins die oft übersehen werden. Daher ist es wichtig, sich mit diesem Konzept zu befassen und es gründlich zu beherrschen.
 
Neben den grundlegenden Konzepten können Interviewer fragen, was Self-Cross-Joins sind, und die Tiefe Ihres Wissens herausfinden, indem Sie praktische Fragen lösen. Sie sollten alle verschiedenen Arten von Joins kennen, einschließlich der komplexeren Typen wie Hash-Joins oder zusammengesetzte Joins. Sie könnten auch gebeten werden, zu erklären, was natürliche Verknüpfungen sind und wann sie am nützlichsten sind. Manchmal müssen Sie die Unterschiede zwischen natürlichen und inneren Verbindungen erklären.
 
Im Allgemeinen sollten Sie über gründliche Erfahrung und Beherrschung der Verwendung von Joins in Kombination mit anderen Anweisungen verfügen, um die gewünschten Ergebnisse zu erzielen. Sie sollten beispielsweise wissen, wie Sie die WHERE-Klausel verwenden, um Cross Join wie einen Inner Join zu verwenden. Es wird auch erwartet, dass Sie wissen, wie Sie Joins verwenden, um neue Tabellen zu erstellen, ohne den Server zu sehr zu belasten. Oder wie Sie Outer-Joins verwenden, um die fehlenden Werte beim Abfragen der Datenbank zu identifizieren und auszufüllen. Oder das Innenleben von Outer Joins, beispielsweise die Tatsache, dass eine Neuordnung ihrer Reihenfolge die Ausgabe ändern kann. 

Hier ist ein Beispiel für die Frage, bei der es darum geht, eine innere gemeinsame Erklärung zu schreiben

Dies ist eine ziemlich schwierige Frage, bei der die Kandidaten gebeten werden, die Bestellmenge als Prozentsatz der Gesamtausgaben anzuzeigen.
 
 

Erweitertes Konzept N1: Datum-Uhrzeit-Manipulation

 
SQL-Interviewfragen für erfahrene Fachleute
 

Es ist üblich, dass Datenbanken Datums- und Uhrzeitangaben enthalten, daher sollte jeder erfahrene Datenwissenschaftler über fundierte Kenntnisse in der Arbeit mit ihnen verfügen. Diese Art von Daten ermöglicht es uns, die Reihenfolge der Ereignisse zu verfolgen, Änderungen in der Häufigkeit, Intervalle zu berechnen und andere wichtige Erkenntnisse zu gewinnen. Die Ausführung dieser Operationen erfordert oft eine vollständige Beherrschung der Datum-Zeit-Manipulation in SQL. Die Fachleute mit solchen Fähigkeiten werden also gegenüber konkurrierenden Kandidaten einen Vorteil haben. Wenn Sie sich in Ihren Fähigkeiten nicht zu 100 % sicher sind, sehen Sie sich die unten beschriebenen Konzepte an und sehen Sie, wie viele davon bekannt vorkommen.

Da es viele verschiedene (aber gültige) Ansätze zur Formatierung von Daten in SQL gibt, sollten gute Programmierer mit allen zumindest vertraut sein. In den Vorstellungsgesprächen erwarten Personalverantwortliche Kenntnisse über grundlegende Konzepte der Datenformatierung und die Fähigkeit, intelligent über die Wahl der richtigen Funktion für die Aufgabe zu sprechen. Dazu gehört die Kenntnis einer wichtigen FORMAT()-Funktion und der dazugehörigen Syntax, um die Funktion voll auszuschöpfen. Die Kenntnis weiterer Grundfunktionen, wie zB NOW(), wird ebenfalls erwartet. Außerdem wäre es nicht aus heiterem Himmel für erfahrene Fachleute, nach grundlegenden Konzepten wie Zeitreihendaten und ihrem Zweck gefragt zu werden.

Es ist auch wichtig, den Kontext der Stelle zu berücksichtigen, auf die Sie sich bewerben. Ein KI- oder IoT-Unternehmen würde sich eher mit der Verfolgung der von den Sensoren gesammelten Daten beschäftigen, während eine Aktienhandels-App möglicherweise erfordert, dass Sie die Kursschwankungen während des Tages, der Woche oder des Monats verfolgen.

In einigen Fällen fragen Arbeitgeber möglicherweise nach fortgeschritteneren Datums-/Uhrzeitfunktionen in SQL wie CAST(), EXTRACT() oder DATE_TRUNC(). Diese Funktionen können von unschätzbarem Wert sein, wenn Sie mit großen Datenmengen arbeiten, die Datumsangaben enthalten. Ein erfahrener Data Scientist sollte den Zweck jeder Funktion und ihre Anwendungen kennen. Im Idealfall sollte er oder sie bereits Erfahrung mit der Anwendung haben.

Die komplexeste Datum-Zeit-Manipulation in SQL wird die Kombination grundlegender und erweiterter Funktionen beinhalten. Es ist also notwendig, sie alle zu kennen, angefangen bei den grundlegenderen FORMAT(), NOW(),CURRENT_DATE und CURRENT_TIME bis hin zu den oben erwähnten fortgeschritteneren Funktionen. Als erfahrener Data Scientist sollten Sie auch wissen, was INTERVAL macht und wann es einzusetzen ist.

Hier ist ein Beispiel für eine Frage, die in Airbnb-Interviews gestellt wurde, wo die Kandidaten die verfügbaren Daten verwenden müssen, um das Wachstum von Airbnb zu verfolgen.
 
 

Die Voraussetzung:

 
In dieser Frage werden die Kandidaten gebeten, das Wachstum von Airbnb anhand der Veränderungen der Anzahl der jährlich registrierten Gastgeber zu verfolgen. Mit anderen Worten, wir verwenden die Anzahl der neu registrierten Hosts als Indikator für das Wachstum für jedes Jahr. Wir ermitteln die Wachstumsrate, indem wir den Unterschied in der Anzahl der Hosts zwischen dem letzten und dem aktuellen Jahr berechnen und diese Zahl durch die Anzahl der im Vorjahr registrierten Hosts dividieren. Dann finden wir den Prozentwert, indem wir das Ergebnis mit 100 multiplizieren.

Die Ausgabetabelle sollte Spalten und die entsprechenden Daten für die Anzahl der Hosts im laufenden Jahr, im Vorjahr und den Prozentsatz des Wachstums von Jahr zu Jahr enthalten. Der Prozentsatz muss auf die nächste ganze Zahl gerundet werden und die Zeilen müssen je nach Jahr aufsteigend sortiert werden.
 
 

Lösung:

 
Um diese Frage zu beantworten, muss ein Kandidat mit der Tabelle 'airbnb_search_details' arbeiten, die viele Spalten enthält. Die Spalte, die wir brauchen, trägt die Bezeichnung 'host_since', was Jahr, Monat und Tag angibt, an dem sich der Host zum ersten Mal für die Website angemeldet hat. Für diese Übung sind der Monat und der Tag irrelevant, daher müssen wir als erstes das Jahr aus dem Wert extrahieren. Dann müssen wir eine Ansicht erstellen, die separate Spalten für das laufende Jahr, das Vorjahr und die Gesamtzahl der Hosts in diesem Jahr enthält. 

Wählen Sie extract(year FROM host_since::DATE) FROM airbnb_search_details, WO host_since NICHT NULL IST

Bisher haben wir zwei Dinge getan:

  1. Wir haben darauf geachtet, nur die Zeilen einzuschließen, in denen die Spalte host_since nicht leer ist.
  2. Wir haben das Jahr aus den Daten extrahiert und in den DATE-Wert umgewandelt.
Select extract(year FROM host_since::DATE) count(id) as current_year_host FROM airbnb_search_details WHERE host_since IST NICHT NULL GROUP BY extract(year FROM host_since::DATE) ORDER BY year asc

Dann zählen wir die IDs und richten die GROUP BY-Klausel für jedes Jahr ein. Und lassen Sie es in aufsteigender Reihenfolge anzeigen. 

Dies sollte uns eine Tabelle mit zwei Spalten geben: das Jahr und die Anzahl der in diesem Jahr registrierten Gastgeber. Wir haben immer noch kein vollständiges Bild, um die Frage zu lösen, aber es ist ein Schritt in die richtige Richtung. Wir benötigen auch separate Spalten für Gastgeber, die sich im Vorjahr angemeldet haben. Hier kommt die Funktion LAG() ins Spiel.

SELECT Year, current_year_host, LAG(current_year_host, 1) OVER (ORDER BY year) as prev_year_host Select extract(year FROM host_since::DATE) count(id) as current_year_host FROM airbnb_search_details WHERE host_since IS NOT NULL GROUP BY extract(year FROM host_since: :DATUM) SORTIEREN NACH Jahr aufsteigend

Hier haben wir die dritte Spalte hinzugefügt, die mit 'prev_year_host' beschriftet ist und deren Werte von 'current_year_host' stammen, mit Ausnahme der Verzögerung um eine Zeile. So könnte das aussehen:

SQL-Interviewfragen für erfahrene Fachleute
 

Diese Anordnung der Tabelle macht es sehr bequem, die endgültige Wachstumsrate zu berechnen. Wir haben für jeden Wert in der Gleichung eine separate Spalte. Letztendlich sollte unser Code ungefähr so ​​aussehen:

SELECT year, current_year_host, prev_year_host, round(((current_year_host - prev_year_host)/(cast(prev_year_host AS numeric)))*100) schätztes_Wachstum FROM (SELECT year, current_year_host, LAG(current_year_host, 1) OVER (ORDER BY year) AS prev_year_host FROM (SELECT extract(year FROM host_since::date) AS year, count(id) current_year_host FROM airbnb_search_details WHERE host_since IS NOT NULL GROUP BY extract(year FROM host_since::date) ORDER BY year) t1) t2

Hier fügen wir eine weitere Abfrage und eine weitere Spalte hinzu, in der wir die Wachstumsrate berechnen. Wir müssen das Ausgangsergebnis mit 100 multiplizieren und runden, um die Anforderungen der Aufgabe zu erfüllen. 

Das ist die Lösung dieser Aufgabe. Es ist klar, dass die Funktionen zur Datum-Uhrzeit-Manipulation für die Ausführung der Aufgabe unerlässlich waren. 
 
 

Advanced Concept N2: Fensterfunktionen und Partitionen

 
SQL-Interviewfragen für erfahrene Fachleute
 

SQL-Fensterfunktionen sind eines der wichtigsten Konzepte zum Schreiben komplexer, aber effizienter SQL-Abfragen. Von erfahrenen Fachleuten wird ein tiefes praktisches und theoretisches Wissen über Fensterfunktionen erwartet. Dazu gehört, zu wissen, was die Over-Klausel ist und ihre Verwendung zu beherrschen. Interviewer könnten fragen, wie die OVER-Klausel Aggregatfunktionen in Fensterfunktionen umwandeln kann. Möglicherweise werden Sie auch nach den drei Aggregatfunktionen gefragt, die als Fensterfunktionen verwendet werden können. Erfahrene Data Scientists sollten auch andere, nicht aggregierte Fensterfunktionen kennen.

Um die Fensterfunktionen optimal nutzen zu können, muss man auch wissen, was die PARTITION BY-Klausel ist und wie man sie verwendet. Möglicherweise werden Sie gebeten, dies zu erklären und Beispiele für einige Anwendungsfälle anzugeben. Manchmal müssen Sie Zeilen innerhalb von Partitionen mit der ORDER_BY-Klausel organisieren.

Kandidaten, die gründliche Kenntnisse jeder einzelnen Fensterfunktion nachweisen können, wie z. B. ROW_NUMBER(), sind im Vorteil. Das theoretische Wissen allein reicht natürlich nicht aus – Profis sollten auch Erfahrung in der Praxis haben, mit oder ohne Trennwände. Ein erfahrener Fachmann sollte beispielsweise in der Lage sein, die Unterschiede zwischen RANK() und DENSE_RANK() zu erklären. Ein idealer Kandidat sollte einige der fortgeschrittensten Konzepte, wie Frames innerhalb von Partitionen, kennen und in der Lage sein, diese klar zu erklären.

Hervorragende Kandidaten sollten auch die Verwendung der Funktion NTH_VALUE() erklären. Es würde nicht schaden, die Alternativen zu dieser Funktion zu erwähnen, wie die Funktionen FIRST_VALUE() und LAST_VALUE(). Unternehmen messen gerne Quartile, Quantile und Perzentile im Allgemeinen. Um diese Operation auszuführen, müssen Datenwissenschaftler auch wissen, wie die Fensterfunktion NTILE() verwendet wird.

In SQL gibt es normalerweise viele Möglichkeiten, eine Aufgabe anzugehen. Dennoch bieten Fensterfunktionen die einfachste Möglichkeit, allgemeine, aber komplexe Operationen durchzuführen. Ein gutes Beispiel für eine solche Fensterfunktion ist LAG() oder LEAD(), daher sollten Sie auch mit ihnen vertraut sein. Schauen wir uns zum Beispiel ein Beispiel aus der vorherigen Lösung für eine schwierige Airbnb-Interviewfrage an:

Um die Anzahl der Hosts im Vorjahr anzuzeigen, haben wir die Funktion LAG() mit der OVER-Anweisung verwendet. Dies hätte auf viele andere Arten erfolgen können, aber Fensterfunktionen ermöglichten es uns, das gewünschte Ergebnis in nur einer Zeile SQL-Code zu erzielen:

LAG(current_year_host, 1) OVER (ORDER BY year) als prev_year_host

Viele Unternehmen müssen das Wachstum über einen bestimmten Zeitraum kalkulieren. Die Funktion LAG() kann für die Ausführung solcher Zuweisungen von unschätzbarem Wert sein.
 
 

Erweitertes Konzept N3: Monat für Monat Wachstum

 
SQL-Interviewfragen für erfahrene Fachleute
 

Viele Unternehmen verwenden Datenanalysen, um ihre eigene Leistung zu messen. Dies kann die Messung der Effektivität von Marketingkampagnen oder des ROI einer bestimmten Investition beinhalten. Die Durchführung einer solchen Analyse erfordert fundierte Kenntnisse in SQL, wie Datum, Uhrzeit und Fensterfunktionen.

Data Scientists müssen auch ihre Fähigkeiten in der Formatierung der Daten und der Darstellung in Prozent oder in anderer Form unter Beweis stellen. Im Allgemeinen müssen Sie zur Lösung der praktischen Fragen, bei denen Sie das Wachstum von Monat zu Monat berechnen müssen, die Kombination mehrerer Fähigkeiten verwenden. Einige der erforderlichen Konzepte werden erweitert (Fensterfunktionen, Datum-Zeit-Manipulation), während andere grundlegend sind (Aggregatfunktionen und allgemeine SQL-Anweisungen).

Schauen wir uns eine Beispielfrage an, die von Interviewern bei Amazon gestellt wurde.

Die Voraussetzung:

 
Bei dieser Frage müssen wir mit einer Einkaufstabelle arbeiten und das monatliche Wachstum oder den Rückgang des Umsatzes berechnen. Das Endergebnis muss auf eine bestimmte Weise formatiert werden (Format YYYY-MM) und die Prozentangaben sollten auf die zweitnächste Dezimalstelle gerundet werden. 

Lösung:

 
Wenn Sie an einer solchen Aufgabe arbeiten, müssen Sie zunächst die Tabelle verstehen. Sie sollten auch die Spalten angeben, mit denen Sie arbeiten müssen, um die Frage zu beantworten. Und wie Ihre Ausgabe aussehen wird.

In unserem Beispiel haben die Datenwerte den Objekttyp, daher müssen wir die Funktion CAST() verwenden, um sie in Datumstypen umzuwandeln.

SELECT to_char(cast(created_at as date), 'YYYY-MM') FROM sf_transactions

Die Frage gibt auch ein Format für Datumsangaben an, sodass wir die Funktion TO_CHAR() in SQL verwenden können, um das Datum in diesem Format auszugeben.

Um das Wachstum zu berechnen, sollten wir auch die Aggregatfunktionen created_at und SUM() auswählen, um das Gesamtumsatzvolumen für dieses Datum zu erhalten. 

SELECT to_char(cast(created_at as date), 'YYYY-MM'), created_at, sum(value) FROM sf_transactions

An dieser Stelle müssen wir wieder Fensterfunktionen verwenden. Insbesondere verwenden wir die Funktion LAG(), um auf das Volumen des letzten Monats zuzugreifen und es als separate Spalte anzuzeigen. Dazu benötigen wir auch eine OVER-Klausel.

SELECT to_char(cast(created_at as date), 'YYYY-MM') AS year_month, created_at, sum(value) lag(sum(value), 1) OVER (ORDER BY created_at::date) FROM sf_transactions GROUP BY created_at

Basierend auf dem Code, den wir bisher geschrieben haben, sieht unsere Tabelle ungefähr so ​​​​aus:

SQL-Interviewfragen für erfahrene Fachleute
 

Hier haben wir die Daten und die entsprechenden Gesamtwerte in der Summenspalte und die Werte des letzten Datums in der Verzögerungsspalte. Jetzt können wir die Werte in die Formel einfügen und die Wachstumsrate in einer separaten Spalte anzeigen.

Wir sollten auch die unnötige Created_at-Spalte entfernen und die GROUP BY- und ORDER BY-Klauseln in year_month ändern.

SELECT to_char(cast(created_at as date), 'YYYY-MM') AS year_month, sum(value), lag(sum(value), 1) OVER (ORDER BY to_char(cast(created_at as date)) FROM sf_transactions GROUP BY Jahr Monat

Nachdem wir den Code ausgeführt haben, sollte unsere Tabelle nur die Spalten enthalten, die für unsere Berechnung wichtig sind.

SQL-Interviewfragen für erfahrene Fachleute
 

Jetzt können wir endlich zur Lösung kommen. So würde der endgültige Code aussehen:

SELECT to_char(created_at::date, 'YYYY-MM') AS year_month, round(((sum(value) - lag(sum(value), 1) OVER w) / (lag(sum(value), 1) OVER). w)) * 100, 2) AS Revenue_diff_pct FROM sf_transactions GROUP BY year_month WINDOW w AS ( ORDER BY to_char(created_at::date, 'YYYY-MM')) ORDER BY year_month ASC


 

In diesem Code nehmen wir zwei Spaltenwerte aus dem vorherigen Beispiel und berechnen die Differenz zwischen ihnen. Beachten Sie, dass wir auch Fensteraliase verwenden, um die Wiederholung unseres Codes zu reduzieren.

Dann teilen wir ihn gemäß dem Algorithmus durch den Umsatz des aktuellen Monats und multiplizieren ihn mit 100, um den prozentualen Wert zu erhalten. Schließlich runden wir den Prozentwert auf zwei Dezimalstellen. Wir kommen zu einer Antwort, die alle Anforderungen der Aufgabe erfüllt. 

Advanced Concept N4: Churn-Raten

 
Auch wenn es das Gegenteil von Wachstum ist, ist Abwanderung auch eine wichtige Kennzahl. Viele Unternehmen verfolgen ihre Abwanderungsraten, insbesondere wenn ihr Geschäftsmodell auf Abonnements basiert. Auf diese Weise können sie die Anzahl verlorener Abonnements oder Konten verfolgen und die Ursachen vorhersagen. Von einem erfahrenen Datenwissenschaftler wird erwartet, dass er weiß, welche Funktionen, Anweisungen und Klauseln zur Berechnung der Abwanderungsraten verwendet werden müssen.

Abonnementdaten sind sehr privat und enthalten private Benutzerinformationen. Für Data Scientists ist es auch wichtig zu wissen, wie man mit solchen Daten arbeitet, ohne sie offenzulegen. Bei der Berechnung der Abwanderungsraten werden häufig gängige Tabellenausdrücke verwendet, die ein relativ neues Konzept darstellen. Die besten Datenwissenschaftler sollten wissen, warum CTEs nützlich sind und wann sie verwendet werden sollten. Wenn Sie mit älteren Datenbanken arbeiten, für die keine CTEs verfügbar sind, sollte ein idealer Kandidat die Aufgabe dennoch erledigen können.

Hier ist ein Beispiel für eine schwierige Aufgabe. Kandidaten, die bei Lyft Vorstellungsgespräche führen, erhalten diesen Auftrag, um die Abwanderungsrate der Fahrer im Unternehmen zu berechnen.

Um dieses Problem zu lösen, müssen Datenwissenschaftler case/when-Anweisungen, Fensterfunktionen wie LAG() sowie FROM / WHERE und andere grundlegende Klauseln verwenden. 

Zusammenfassung

 
Die langjährige Arbeit als Data Scientist sieht im Lebenslauf sicherlich beeindruckend aus und bringt Ihnen viele Vorstellungsgespräche. Wenn Sie jedoch erst einmal einen Fuß in die Tür bekommen haben, müssen Sie immer noch das Wissen zeigen, um jahrelange Erfahrung zu ergänzen. Auch wenn Sie weitreichende Erfahrungen in Schreiben von Abfragen in SQL, es schadet nicht, Ressourcen zu verwenden wie StrataScratch um dein Wissen aufzufrischen.

 
 
Nate Rosidi ist Data Scientist und in der Produktstrategie. Er ist auch außerplanmäßiger Professor für Analytik und Gründer von StrataScratch, eine Plattform, die Datenwissenschaftlern hilft, sich mit echten Interviewfragen von Top-Unternehmen auf ihre Interviews vorzubereiten. Verbinde dich mit ihm auf Twitter: StrataScratch or LinkedIn.

Quelle: https://www.kdnuggets.com/2022/01/sql-interview-questions-experienced-professionals.html

Zeitstempel:

Mehr von KDnuggets