Kurs
Die Data-Warehousing-Technologie wurde kürzlich verbessert, um mit der zunehmenden Verbreitung von Cloud-Diensten skalierbarer und kostengünstiger zu werden. Eine der gängigsten Lösungen ist das Data Warehouse BigQuery von Google Cloud.
Die Umfrage „Stack Overflow 2024” zeigt, dass es immer beliebter wird und mittlerweile 24,1 % der Cloud-Nutzer weltweit damit arbeiten. Die Nachfrage nach BigQuery-Fachwissen ist in vielen Branchen stark gestiegen, sodass das Verständnis der Grundlagen für Datenprofis echt wichtig geworden ist.
In diesem Artikel findest du eine Zusammenstellung von Fragen zu BigQuery, die oft in Vorstellungsgesprächen gestellt werden, damit du dich vorbereiten kannst. Wenn du gerade erst anfängst, dich mit BigQuery zu beschäftigen, empfehle ich dir, zuerst den folgenden Leitfaden zum Thema Data Warehousing auf GCP durchzulesen.
Grundlegende Fragen zum Thema BigQuery für Vorstellungsgespräche
Bevor du dich mit komplizierten Themen beschäftigst, solltest du unbedingt die Grundlagen von BigQuery kennen. Diese Fragen checken, wie gut du die wichtigsten Konzepte, die Architektur und die Funktionen verstehst. Wenn du die folgenden Fragen nicht beantworten kannst, empfehle ich dir, ganz von vorne anzufangen, indem du dir den folgenden Einsteigerleitfaden zu BigQuery durchliest und dich für unseren Einführungskurs zu BigQuery anmeldest.
Was ist BigQuery und wie unterscheidet es sich von herkömmlichen Datenbanken?
Warum das gefragt wird: Um zu sehen, wie gut du moderne Data Warehouses und ihre Vorteile gegenüber herkömmlichen Datenbanken verstehst.
BigQuery ist ein komplett verwaltetes, serverloses Data Warehouse auf Google Cloud, das für die Analyse großer Datenmengen gemacht ist. Es macht schnelle SQL-Abfragen auf riesigen Datensätzen möglich, ohne dass man sich um die Infrastruktur kümmern muss, und lässt die Nutzer sich auf die Erkenntnisse konzentrieren, statt auf die Wartung.
Im Gegensatz zu den üblichen relationalen Datenbanken vor Ort, die meistens zeilenbasiert sind und durch Hardware-Einschränkungen begrenzt werden, ist BigQuery ein Cloud-basiertes, spaltenorientiertes Speichersystem, das nahezu unbegrenzte Skalierbarkeit bietet. Dank seiner verteilten Architektur und dem Pay-as-you-go-Preismodell ist es effizienter bei der Verarbeitung analytischer Workloads als herkömmliche Datenbanken.
Was ist ein Datensatz in BigQuery?
Warum das gefragt wird: Teste dein Wissen über die Datenorganisation und die Struktur von BigQuery.
Ein Datensatz in BigQuery ist der oberste Container, der Tabellen, Ansichten und andere Ressourcen organisiert. Das macht den Weg frei für die Zugriffskontrolle und das Auffinden der Daten. Durch die effiziente Strukturierung von Daten sorgen Datensätze für eine bessere Abfrageleistung und ein besseres Zugriffsmanagement und sind damit ein wichtiger Teil der Architektur von BigQuery.
Wie speicherst du Daten in BigQuery?
Warum das gefragt wird: Um dein Wissen über verschiedene Methoden der Datenerfassung zu testen.
BigQuery hat ein paar Methoden zum Einlesen von Daten, die für verschiedene Zwecke gedacht sind.
- Der Batch-Lademodus wird normalerweise benutzt, um einen großen historischen Datensatz über die BigQuery-Weboberfläche, das Befehlszeilentool „bq“ oder API-Aufrufe in BigQuery hochzuladen.
- Streaming-Erfassung ermöglicht die Echtzeit-Datenverarbeitung, indem einzelne Datensätze oder kleine Stapel über die BigQuery Streaming API übertragen werden.
- Der Datentransferdienst von BigQuery kann den Import von Daten aus Google Cloud Storage, Google Ads und SaaS-Quellen vereinfachen.
Für fortgeschrittene ETL-Workflows machenGoogle Cloud Dataflow- - und andere Pipeline-Tools die nahtlose Datenübertragung in BigQuery möglich. Die beste Methode für die Datenaufnahme hängt von der Datenmenge, der Latenz und den Verarbeitungsanforderungen ab.
Welche Datentypen unterstützt BigQuery?
Warum das gefragt wird: Teste dein Wissen über die Datenverarbeitungsfunktionen von BigQuery.
BigQuery kann mit vielen verschiedenen Datentypen umgehen, die in folgende Kategorien eingeteilt sind:
- Grundtypen: BOOL, INT64, FLOAT64, STRING, BYTES, DATE, DATETIME, TIME, TIMESTAMP
- Komplexe Typen: ARRAY, STRUCT, JSON
- Spezielle Typen: NUMERIC, BIGNUMERIC, INTERVAL, GEOGRAPHY, RANGE
Jeder Datentyp hat eine bestimmte logische Speichergröße, die sich auf die Abfrageleistung und die Kosten auswirkt. Zum Beispiel hängt die STRING-Speicherung von der UTF-8-kodierten Länge ab, während ARRAY<INT64> 8 Bytes pro Element braucht. Wenn man diese Typen versteht, kann man Abfragen besser machen und Kosten effizienter verwalten.
In der folgenden Tabelle findest du alle unterstützten Datentypen.

BigQuery-Datentypen. Bild aus Google Cloud Dokumentation.
Was sind die wichtigsten Vorteile von BigQuery?
Warum das gefragt wird: Damit du die wichtigsten Vorteile von BigQuery als Data Warehouse verstehst.
Die Nutzung der BigQuery-Dienste hat fünf Hauptvorteile gegenüber herkömmlichen selbstverwalteten Lösungen:
- Skalierbarkeit: Alle Investitionen in Hardware werden erstmal verschoben. Damit können wir die Ressourcen je nach Geschäftsanforderungen ganz einfach hoch- oder runterfahren.
- Flexibilität: Die Infrastruktur kann je nach den Bedürfnissen des Unternehmens angepasst werden.
- Hohe Sicherheit: Automatische Backups und Funktionen zur Notfallwiederherstellung sind Standard bei Cloud-Lösungen wie GCP.
- Kostengünstig: Mit den Pay-as-you-go-Optionen zahlen Kunden nur für die Dienste, die sie wirklich nutzen.
- Datenaustausch und Zusammenarbeit: Cloud-Dienste machen es einfacher, Daten zu teilen und zusammenzuarbeiten.

BigQuery Advantages. Bild vom Autor.
Technische Fragen zum Thema BigQuery im Vorstellungsgespräch
Sobald du die Grundlagen von BigQuery verstanden hast, ist es Zeit, dich mit den eher technischen Aspekten zu beschäftigen, die Interviewer häufig prüfen.
Diese Fragen gehen über grundlegende Definitionen hinaus und testen deine Fähigkeit, die Leistung zu optimieren, Kosten zu verwalten und mit fortgeschrittenen Funktionen wie Partitionierung, Clustering und Sicherheit zu arbeiten.
Was ist Partitionierung in BigQuery und wie verbessert sie die Leistung?
Warum das gefragt wird: Um zu sehen, wie gut du dich mit Techniken zur Datenorganisation auskennst und wie die die Effizienz von Abfragen beeinflussen.
Partitionierung in BigQuery ist eine Methode, um große Tabellen in kleinere, überschaubare Teile aufzuteilen, basierend auf bestimmten Kriterien wie Datum, Erfassungszeitpunkt oder Werten von Ganzzahlen. Indem BigQuery die Daten in Partitionen aufteilt, kann es die Menge der Daten, die bei Abfragen gescannt werden, einschränken, was die Leistung verbessert und die Kosten deutlich senkt.
Zum Beispiel kann man bei einer partitionierten Tabelle, die tägliche Transaktionsdaten speichert, bestimmte Datumsbereiche effizient filtern, anstatt den ganzen Datensatz durchsuchen zu müssen. Deshalb ist die Partitionierung besonders nützlich für Zeitreihenanalysen und große analytische Aufgaben.
Was ist Clustering in BigQuery und wie verbessert es die Abfrageleistung?
Warum das gefragt wird: Um zu sehen, wie gut du Strategien zur Datenorganisation verstehst, die die Effizienz und Kosten von Abfragen verbessern.
Clustering in BigQuery bedeutet, dass Daten in Partitionen nach den Werten aus einer oder mehreren bestimmten Spalten sortiert werden. Durch das Gruppieren der zugehörigen Zeilen mittels Clustering reduziert BigQuery die Menge der zu scannenden Daten, verbessert so die Leistung der Abfragen und senkt die Gesamtverarbeitungskosten.
Diese Art der Abfrageoptimierung ist besonders gut, wenn man Daten nach Cluster-Spalten filtert, sortiert oder zusammenfasst. Dabei kann die Abfrage-Engine alle nicht relevanten Daten einfach überspringen, anstatt die ganze Partition zu durchsuchen. Clustering funktioniert am besten, wenn man es mit Partitionierung kombiniert, und bringt noch mehr Vorteile bei der Leistung, wenn man mit großen Datensätzen arbeitet.
Was ist der Unterschied zwischen einer Tabelle und einer Ansicht in BigQuery?
Warum das gefragt wird: Um zu sehen, wie gut du die Datenstrukturen von BigQuery und ihre Anwendungsfälle verstehst.
In BigQuery ist eine Tabelle eine strukturierte Speichereinheit, die Daten physisch enthält, während eine Ansicht eine virtuelle Tabelle ist, die Daten dynamisch auf Basis einer vordefinierten SQL-Abfrage abruft. Der Hauptunterschied zwischen ihnen ist, dass Ansichten selbst keine Daten enthalten können, sondern als Bausteine zum Schreiben großer Abfragen oder zum Durchsetzen von Sicherheitsregeln für den Datenzugriff dienen, indem sie Zugriff auf eine Teilmenge von Daten bieten, ohne diese effektiv zu duplizieren. Ansichten verbessern auch die Ausführungszeiten von Abfragen, weil sie es den Benutzern ermöglichen, erneut auf Daten zuzugreifen, ohne Tabellen neu laden oder neu organisieren zu müssen. Das macht sie super für Analysen, Datenabstraktion und die Durchsetzung von Sicherheitsmaßnahmen.
Also, um es einfach zu sagen:
- A Tabelle ist eine strukturierte Speichereinheit, die Daten physisch enthält.
- A Ansicht ist eine virtuelle Tabelle, die Daten dynamisch anhand einer vordefinierten SQL-Abfrage abruft, ohne sie zu speichern.
Wie geht BigQuery mit Datensicherheit um?
Warum das gefragt wird: Überprüfe dein Wissen über die Sicherheit von BigQuery in Verbindung mit dem Schutz sensibler Daten.
BigQuery nutzt einen mehrschichtigen Ansatz für die Datensicherheit, der mit einem sicheren Modell anfängt, das Daten auf allen Ebenen des Datenlebenszyklus schützen soll.
- Die Daten werden im Ruhezustand verschlüsselt standardmäßig mit von Google verwalteten Verschlüsselungsschlüsseln oder, wenn man die Kontrolle behalten will, mit vom Kunden verwalteten Schlüsseln.
- Die Daten werden während der Übertragung über HTTPS/TLS und beim Transport zwischen Clients und BigQuery verschlüsselt.
- Identitäts- und Zugriffsverwaltung (IAM) Die Kontrolle ermöglicht eine detaillierte Zugriffskontrolle, indem sie Rollen und Zuweisungen für Benutzer- und Dienstkonten bereitstellt, um sicherzustellen, dass nur autorisierte Personen auf Daten zugreifen oder diese ändern können.
- Audit-Protokollierung soll die Aktivitäten von Benutzern und Systemen verfolgen, indem es einen Audit-Trail erstellt, der für die Überwachung und Compliance genutzt werden kann.
Diese eingebauten Sicherheitsfunktionen helfen Unternehmen dabei, die Vertraulichkeit und Integrität ihrer Daten zu schützen und die gesetzlichen Vorschriften einzuhalten.
Was ist der BigQuery Data Transfer Service und wie macht er die Datenerfassung einfacher?
Warum das gefragt wird: Um zu sehen, wie gut du automatisierte Datenübertragung und -integration in BigQuery verstehst.
Der BigQuery Data Transfer Service (BQ DTS) macht den Import von Daten aus verschiedenen externen Quellen in BigQuery automatisch und plant ihn, sodass manuelle ETL-Prozesse nicht mehr nötig sind. Es lässt sich direkt mitGoogle-Diensten wie Google Ads, YouTube und Google Cloud Storage sowie mit SaaS-Anwendungen von Drittanbietern verbinden.
Durch automatisierte, geplante Datenübertragungen stellt BQ DTS sicher , dass die Daten für die Analyse immer auf dem neuesten Stand sind, ohne dass jemand eingreifen muss. Dieser Service ist besonders nützlich für Unternehmen, dieregelmäßig großeDatenmengen verarbeiten müssen ( ). Er macht die Abläufe effizienter und senkt die Betriebskosten.
Was sind verschachtelte und wiederholte Felder in BigQuery und wozu sind sie gut?
Warum das gefragt wird: Um zu sehen, wie gut du BigQuery für halbstrukturierte Daten und seine Vorteile gegenüber herkömmlichen relationalen Modellen verstehst.
BigQuery unterstützt verschachtelte und wiederholte Felder, was eine effizientere Speicherung und Abfrage von hierarchischen oder arraybasierten Daten ermöglicht. Verschachtelte Felder benutzen das STRUCT , sodass eine Spalte Unterfelder enthalten kann, ähnlich wie bei einem JSON-Objekt.
Wiederholte Felder funktionieren wie ARRAYS und ermöglichen es, mehrere Werte in einer einzigen Spalte zu speichern. Diese Strukturen helfen dabei, komplexe JOIN-Operationen zu vermeiden, die Abfrageleistung zu verbessern und BigQuery für die Verarbeitung von halbstrukturierten Daten wie Protokollen, Ereignisströmen und nosql-ähnlichen Datensätzen gut geeignet zu machen .
Wie kannst du Jobs in BigQuery planen und automatisieren?
Warum das gefragt wird: Um deine Kenntnisse über die Automatisierung der Abfrageausführung und das Workflow-Management in BigQuery zu checken.
BigQuery hat mehrere Möglichkeiten, um Jobs zu planen und zu automatisieren , damit wiederkehrende Aufgaben ohne manuelles Eingreifen laufen.
- Geplante Abfragen ermöglichen es Nutzern, wiederkehrende Abfragen direkt über die BigQuery-Weboberfläche oder die API zu definieren.
- Cloud Scheduler bietet einen komplett verwalteten Dienst, der wie Cron funktioniert und Abfragen in festgelegten Zeitabständen auslöst.
- Für ereignisgesteuerte Automatisierung kann Cloud Functions BigQuery-Jobs ausführen, wenn andere Google Cloud-Dienste sie auslösen.
Diese Automatisierungstools helfen dabei, Datenpipelines zu optimieren, manuelle Arbeit zu reduzieren und eine pünktliche Datenverarbeitung für Analysen und Berichte sicherzustellen.
Wie geht Big Query mit Datenpartitionierung und Clustering um?
Warum das gefragt wird: Um zu sehen, wie gut du die Strategien zur Datenorganisation in BigQuery und ihre Auswirkungen auf die Abfrageleistung und Kosteneffizienz verstehst.
Partitionierung Teilt große Tabellen in kleinere Teile aufund verbessert die Abfrageleistung, indem nur relevante Daten gescannt werden.
-
Zeitbasierte: Nach DATUM, ZEITSTEMPEL, DATUM/ZEIT (z. B. tägliche sales_date-Partitionen).
-
Ganzzahlbereich: Durch INTEGER-Werte (z. B.
user_idBereiche). -
Zeitpunkt der Einnahme: Nach dem Zeitstempel der Datenübertragung (
_PARTITIONDATE).
Das ist super für Zeitreihendaten und hilft dabei, die Kosten für Abfragen zu senken, wenn du nach Datum oder Zahlenbereichen filterst.
Clustering sortiert Daten innerhalb einer Tabelle oder Partition nach ausgewählten Spalten und macht so Abfragen schneller.
Das ist am besten zum Filtern und Aggregieren von oft abgefragten Feldern wie Region oder „ user_id “

Beispiele für Tabellencluster und Partitionen. Image by Google Cloud.
Fragen zum BigQuery-Design
Wie ist die Architektur von Google BigQuery aufgebaut und was macht sie so besonders?
Warum das gefragt wird: Um zu sehen, wie gut du die serverlose Architektur von BigQuery verstehst und wie sie sich von herkömmlichen Data Warehouses unterscheidet.
BigQuery hat eine serverlose, komplett verwaltete Architektur, die Speicher- und Rechen voneinander trennt , sodass sie je nach Bedarf unabhängig voneinander skaliert werden können. Im Gegensatz zu herkömmlichen Cloud-Data-Warehouses oderlokalen MPP-Systemen( Massively Parallel Processing) bietet diese Trennung Flexibilität, Kosteneffizienz und Hochverfügbarkeits , ohne dass die Benutzer die Infrastruktur verwalten müssen. Die Rechenmaschine von BigQuery läuft mitDremel von , einem Multi-Tenant-Cluster, der SQL-Abfragen effizient ausführt, während die Daten in Colossus gespeichert werden , dem globalen verteilten Speichersystem von Google. Diese Teile reden über Jupiter, Googles Netzwerk im Petabit-Maßstab, und sorgen so für eine superschnelle Datenübertragung. Das ganze System wird von„ “ Borg gemanagt, dem internen Cluster-Managementsystem von Google und einem Vorläufer von Kubernetes. Mit dieser Architektur kannst du hochleistungsfähige, skalierbare Analysen für riesige Datensätze machen, ohne dir Gedanken über die Verwaltung der Infrastruktur machen zu müssen.

Big Query-Architektur. Bild von Google.
Wie trennt BigQuery Speicher und Rechenleistung, und warum ist das gut?
Warum das gefragt wird: Diese Frage checkt, wie gut du die Architektur von BigQuery verstehst, vor allem, wie das getrennte Speicher- und Rechenmodell die Skalierbarkeit, Kosteneffizienz und Leistung verbessert.
BigQuery nutzt eine serverlose, komplett verwaltete Architektur, bei der Speicher und Rechenleistung komplett getrennt sind:
- Lagerung: Die Daten werden in Colossus gespeichert, dem globalen verteilten Speichersystem von Google. Das sorgt für hohe Verfügbarkeit, Langlebigkeit und nahezu unbegrenzte Skalierbarkeit, ohne dass die Nutzer die Infrastruktur verwalten müssen.
- Berechnen: Die Abfrageausführung wird von Dremel gemacht, einer verteilten Abfrage-Engine, die Rechenressourcen (Slots) je nach Bedarf dynamisch zuweist.
Die wichtigsten Vorteile der Trennung von Speicher und Rechenleistung:
- Unabhängige Skalierung: Du kannst den Speicherplatz vergrößern, ohne die Rechenleistung zu beeinträchtigen, und umgekehrt.
- Kosteneffizienz: Du bezahlst nur für die Daten, die bei Abfragen gescannt werden, und vermeidest so unnötige Rechenkosten.
- Verbesserte Leistung: Abfragen laufen schneller, weil der Speicher kein Problem mehr für die Berechnung ist.
- Speicher in mehreren Regionen: Daten können an verschiedenen Orten gespeichert werden, ohne dass das die Abfragegeschwindigkeit beeinträchtigt.
Dank diesem Design kann BigQuery Abfragen im Petabyte-Bereich effizient verarbeiten und dabei die Kosten niedrig halten, was es zur perfekten Wahl für Cloud-basierte Analysen macht.
Was ist Dremel und wie sorgt es für die schnelle Abfrageperformance von BigQuery?
Warum das gefragt wird: Teste dein Wissen über Dremel, die zugrunde liegende Abfrage-Engine von BigQuery, und wie ihr baumartiges, spaltenorientiertes Ausführungsmodell leistungsstarke Datenanalysen ermöglicht.
Dremel ist eine Engine für die verteilte Ausführung von Abfragen, die BigQuery unterstützt. Im Gegensatz zu herkömmlichen Datenbanken, die mit zeilenbasierter Verarbeitung arbeiten, nutzt Dremel ein spaltenbasiertes Speicherformat und ein baumbasiertes Abfrageausführungsmodell, um Geschwindigkeit und Effizienz zu optimieren.
Wie Dremel schnelle Abfragen möglich macht:
- Säulenspeicher: Anstatt ganze Zeilen zu lesen, checkt Dremel nur die benötigten Spalten und reduziert so die Menge der verarbeiteten Daten.
- Baumbasierte Ausführung: Abfragen werden in Teile zerlegt und auf Tausenden von Knoten parallel ausgeführt. Die Ergebnisse werden in einer hierarchischen Baumstruktur zusammengefasst, was die Latenz minimiert.
- Serverlose Ressourcenzuteilung: Dremel teilt den Abfragen je nach Komplexität dynamisch Rechenslots zu und sorgt so für eine effiziente Nutzung der Ressourcen.
Die wichtigsten Vorteile von Dremel:
- Super schnelle Abfragen bei riesigen Datensätzen.
- Kostengünstige Verarbeitung, indem nur die wichtigen Spalten gescannt werden.
- Automatische Parallelisierung für große Arbeitslasten ohne manuelle Anpassung.
Mehr über Dremel kannst du in der offiziellen Dokumentation von Google erfahren.
Wie läuft die Denormalisierung in BigQuery ab und wann sollte man sie nutzen?
Warum das gefragt wird: Um zu sehen, wie gut du Datenmodellierungsstrategien und ihre Auswirkungen auf die Abfrageleistung in analytischen Datenbanken verstehst.
Die Denormalisierung in BigQuery sorgt absichtlich für Redundanz, indem Tabellen zusammengefügt und Daten dupliziert werden, um die Abfrageleistung zu verbessern. Im Gegensatz zur Normalisierung, die Redundanzen durch kleinere, miteinander verbundene Tabellen minimiert,reduziert die Denormalisierung die Notwendigkeit komplexer Verknüpfungen, was zu schnelleren Lesezeiten führt . Dieser Ansatz ist besonders nützlich beider Datenlagerung und Analyse von „ “ ( ), wo Lesevorgänge häufiger sind als Schreibvorgänge. Allerdings braucht man durch die Denormalisierung mehr Speicherplatz. Deshalb rät BigQuery,verschachtelte und wiederholte Felder von „ “ zu nutzen, um denormalisierte Daten effizient zu strukturieren und gleichzeitig den Speicheraufwand zu reduzieren.

Vergleich verschiedener Strategien zur Datennormalisierung. Image by Google Cloud.
Fragen speziell zu SQL
Sobald du die Architektur und Optimierungstechniken von BigQuery gut verstehst, solltest du dich als Nächstes auf SQL-Kenntnisse konzentrieren. SQL ist das A und O bei der Arbeit mit BigQuery, und in Vorstellungsgesprächen wird oft getestet, ob du Abfragen schreiben, optimieren und Fehler beheben kannst. Um besser vorbereitet zu sein, empfehle ich dir, dich für die SQL-Kurse von DataCamp anzumelden .
Wie machst du eine JOIN-Operation in BigQuery?
Warum das gefragt wird: Um zu sehen, ob du Daten aus mehreren Tabellen mit SQL-JOIN-Operationen zusammenführen kannst.
BigQuery kann verschiedene Arten von JOINs, um Daten aus mehreren Tabellen anhand einer gemeinsamen Spalte zusammenzufügen. Um zum Beispiel Produktdetails zusammen mit den Verkaufsinformationen abzurufen, kannst du einen INNER JOIN zwischen der SALES TABLE und der PRODUCT TABLE auf Product_Id verwenden:
SELECT
s.Id AS Sales_Id,
p.Product,
p.Price,
s.Purchase_date
FROM sales_table s
JOIN product_table p
ON s.Product_Id = p.Id;
Für weitere Infos, wie zum Beispiel Liefertermine, kannst du dich in die LIEFERUNGSTABELLE eintragen:
SELECT
s.Id AS Sales_Id,
p.Product,
p.Price,
s.Purchase_date,
d.Deliver_date
FROM sales_table s
JOIN product_table p ON s.Product_Id = p.Id
JOIN delivery_table d ON s.Id = d.Sales_Id;
Schreib eine SQL-Abfrage, um die 10 teuersten Produkte auszuwählen.
Warum das gefragt wird: Um zu sehen, wie gut du Daten effizient abrufen und sortieren kannst.
Um die 10 teuersten Produkte zu finden, sortierst du mit ORDER BY nach dem Preis in absteigender Reihenfolge und schränkst das Ergebnis mit LIMIT ein:
SELECT
Product,
Price
FROM product_table
ORDER BY Price DESC
LIMIT 10;
Schreib eine SQL-Abfrage, um die durchschnittliche Anzahl der Verkäufe pro Monat zu berechnen.
Warum das gefragt wird: Um deine Fähigkeit zu checken, zeitbasierte Aggregationen durchzuführen.
Um die durchschnittliche Anzahl der Verkäufe pro Monat zu berechnen, gruppierst du die Verkäufe mit der Funktion „ EXTRACT “ nach Monat und zählst mit „ COUNT “ die Anzahl der Verkäufe pro Monat:
SELECT
EXTRACT(MONTH FROM Purchase_date) AS Month,
COUNT(Id) AS Total_Sales,
AVG(COUNT(Id)) OVER () AS Average_Sales
FROM sales_table
GROUP BY Month;
Schreib eine SQL-Abfrage, um die Gesamtzahl der Lieferungen pro Produkt zu finden.
Warum das gefragt wird: Um deine Fähigkeit zu checken, Daten mit GROUP BY und COUNT zusammenzufassen.
Um die Lieferungen für jedes Produkt zu zählen:
SELECT
p.Product,
COUNT(d.Id) AS Total_Deliveries
FROM delivery_table d
JOIN product_table p
ON d.Product_Id = p.Id
GROUP BY p.Product;
Schreib eine SQL-Abfrage, um die Gesamtzahl der Lieferungen für jedes Produkt zu ermitteln.
Warum das gefragt wird: Um deine Fähigkeit zu checken, zeitbasierte Daten zu filtern.
Um die Verkaufszahlen der letzten 30 Tage zu kriegen:
SELECT *
FROM sales_table
WHERE Purchase_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY);
Schreib eine SQL-Abfrage, um die Anzahl der einzigartigen Produkte zu zählen, die letzte Woche verkauft wurden.
Warum das gefragt wird: Um zu sehen, wie gut du bestimmte Zählungen bei zeitbasierten Daten machen kannst.
Um die verschiedenen Produkte zu zählen, die in den letzten 7 Tagen verkauft wurden:
SELECT COUNT(DISTINCT Product_Id) AS Unique_Products_Sold
FROM sales_table
WHERE Purchase_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY);
Schreib eine SQL-Abfrage, um die Verkaufsdaten nach Produkten zu gruppieren und den Gesamtumsatz für jedes Produkt zu berechnen.
Warum das gefragt wird: Um deine Fähigkeit zu testen, GROUP BY zu nutzen und Umsätze zu aggregieren.
So berechnest du den Gesamtumsatz pro Produkt:
SELECT
p.Product,
SUM(p.Price) AS Total_Revenue
FROM sales_table s
JOIN product_table p
ON s.Product_Id = p.Id
GROUP BY p.Product;
Schreib eine SQL-Abfrage, um den Prozentsatz des Gesamtumsatzes zu berechnen, den jedes Produkt dazu beiträgt.
Warum das gefragt wird: Um deine Fähigkeit zu checken, wie du mit SQL Prozentrechnungen machst.
Um den Prozentsatz des Gesamtumsatzes pro Produkt zu ermitteln:
SELECT
p.Product,
SUM(p.Price) AS Product_Sales,
(SUM(p.Price) / (SELECT SUM(Price) FROM product_table)) * 100 AS Sales_Percentage
FROM sales_table s
JOIN product_table p
ON s.Product_Id = p.Id
GROUP BY p.Product;
Schreib eine SQL-Abfrage, um Produkte nach dem Gesamtumsatz zu sortieren.
Warum das gefragt wird: Um deine Fähigkeit zu checken, Fensterfunktionen für Rankings zu nutzen.
Produkte nach Gesamtumsatz sortieren:
SELECT
p.Product,
SUM(p.Price) AS Total_Sales,
RANK() OVER (ORDER BY SUM(p.Price) DESC) AS Sales_Rank
FROM sales_table s
JOIN product_table p
ON s.Product_Id = p.Id
GROUP BY p.Product;
Schreib eine SQL-Abfrage, um die durchschnittliche Lieferzeit für jedes Produkt zu berechnen.
Warum das gefragt wird: Um deine Fähigkeit zu checken, mit Datumsunterschieden in SQL zu arbeiten.
So berechnest du die durchschnittliche Lieferzeit pro Produkt:
SELECT
p.Product,
AVG(DATE_DIFF(d.Deliver_date, s.Purchase_date, DAY)) AS Avg_Delivery_Time
FROM sales_table s
JOIN delivery_table d
ON s.Id = d.Sales_Id
JOIN product_table p
ON s.Product_Id = p.Id
GROUP BY p.Product;
Fortgeschrittene und szenariobasierte Fragen
Neben Grundwissen und SQL-Kenntnissen sind praktische Fähigkeiten zur Problemlösung echt wichtig, um mit BigQuery in großem Maßstab zu arbeiten.
Fragen in fortgeschrittenen Vorstellungsgesprächen drehen sich oft um den Umgang mit großen Datenmengen, die Optimierung der Leistung, das Management von Datenpipelines und die Lösung häufiger Probleme in Produktionsumgebungen.
Kannst du mal erzählen, wie du mit der Implementierung von Datenpipelines in BigQuery zurechtkommst?
Warum das gefragt wird: Wir wollen deine praktischen Kenntnisse beim Erstellen, Verwalten und Optimieren von Datenpipelines in BigQuery checken, einschließlich der Erfassung, Transformation, Orchestrierung und Überwachung.
Der Interviewer will wissen, wie viel Erfahrung du mit dem Entwerfen und Umsetzen von Datenpipelines in BigQuery hast . Du solltest Folgendes besprechen:
- Datenaufnahme: Verwendete Methoden (BigQuery Data Transfer Service, Cloud Storage, Streaming-Erfassung).
- Datenumwandlungs: Verwendung vonSQL-basierten Transformationen von , geplanten Abfragen oder Tools wie Dataflow und dbt.
- Orchestrierung: Wie du Pipeline-Workflows mit„ “, „Cloud Composer“ (Apache Airflow), „Cloud Functions“ oder „Cloud Scheduler“ verwaltest.
- Überwachungs- und Optimierungs: Wie dudie Leistung der Pipeline von überwachst, Probleme behebst und die Abfragekosten optimierst.
Eine starke Antwort sollte Beispiele aus der Praxis für Herausforderungen, denen du schon mal gegenüberstandest, und wie du sie gemeistert hast, wie zum Beispiel den Umgang mit großen Datenmengen, die Optimierung der Abfrageleistung oder die Sicherstellung der Datenintegrität in Produktionspipelines.
Ein paar gute Ressourcen, um so ein Projekt umzusetzen, sind:
- Hier ist ein YouTube-Guideüber ETL-Batch-Pipelines mit BigQuery.
- Das folgende End-to-End-Pipeline -GitHub-Repo.
- Die folgende ETL-Pipeline mit Airflow und BigQuery GitHub-Repo.
Wie kannst du doppelte Datensätze aus einer Spalte in einer großen BigQuery-Tabelle löschen, ohne die Tabelle zu ändern?
Warum das gefragt wird: Um zu sehen, wie gut du mit doppelten Daten in BigQuery umgehen kannst, ohne die Struktur der Tabelle zu verändern.
Wenn du mit einer Tabelle mit Millionen von Zeilen und doppelten Werten in einer bestimmten Spalte arbeitest, ist es am besten, die Fensterfunktion „ ROW_NUMBER() “ zu nutzen, um nur das erste Vorkommen jedes Duplikats zu identifizieren und zu behalten, während der Rest entfernt wird.
Du kannst das machen, indem du die Tabelle mit einer deduplizierten Version überschreibst, indem du eine Anweisung „ CREATE OR REPLACE TABLE “ verwendest:
CREATE OR REPLACE TABLE tableX AS
SELECT * EXCEPT(row_number)
FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY troubleColumn ORDER BY someOtherColumn) AS row_number
FROM tableX
)
WHERE row_number = 1;
So läuft's ab:
-
ROW_NUMBER()Weist jedem Datensatz innerhalb desselben Werts „troubleColumn“ eine eindeutige Zeilennummer zu, sodass pro Duplikatgruppe nur ein Datensatz gespeichert wird. -
Die
PARTITION BYtroubleColumngruppiert die Zeilen nach Duplikaten in dieser Spalte. -
Die
ORDER BYsomeOtherColumn(z. B.Purchase_date) stellt sicher, dass ein bestimmter Datensatz aufbewahrt wird. -
Die äußere Abfrage filtert nur das erste Vorkommen (
row_number = 1) und entfernt so effektiv Duplikate. -
Die
CREATE OR REPLACE TABLEAnweisung sorgt dafür, dass die Tabelle ihren Namen behält, während sie mit den bereinigten Daten ersetzt wird.
Dieser Ansatz beseitigt effizient Duplikate, ohne eine neue Tabelle zu erstellen oder die gesamte Struktur der Tabelle zu beeinflussen.
Wie nutzt du BigQuery für die Datenvisualisierung und Berichterstellung, und welche Tools werden dafür am häufigsten verwendet?
Warum das gefragt wird: Wir wollen sehen, wie gut du BigQuery mit Visualisierungstools zusammenbringen und Erkenntnisse durch Berichte effektiv rüberbringen kannst.
BigQuery ist ein starkes Backend für Datenvisualisierung und Berichterstellung und lässt sich direkt mit Tools wie Google Looker Studio (früher Data Studio), Tableau und Power BI verbinden.
Mit diesen Tools kannst du Daten in Echtzeit abfragen und eigene Dashboards, Diagramme und Berichte erstellen, ohne Daten manuell exportieren zu müssen. Wichtige Techniken für die Visualisierung sind:
- Daten in BigQuery zusammenfassen und umwandeln mit SQL vor der Visualisierung.
- Erstellen von interaktiven Dashboards mit dynamischen Filtern und Drilldown-Funktionen.
- Optimierung von Abfragen und materialisierten Ansichten , um die Leistung des Dashboards zu verbessern.
Eine starke Reaktion sollte Anwendungsfälle aus der Praxis, wie zum Beispiel:
- Verfolgung von geschäftlichen KPIs
- Trends beobachten
- Automatische Berichte erstellen
Um dein eigenes Datenvisualisierungsprojekt umzusetzen, kannst du den speziellen Projekten von DataCamp zur Analyse der Ladegewohnheiten von Elektrofahrzeugen und zur Erkundung des Londoner Verkehrsnetzes mit BigQuery folgen.
Fragen zu den besten Vorgehensweisen und zur Optimierung von BigQuery
Effizientes Arbeiten mit BigQuery geht über das Schreiben von SQL-Abfragen hinaus – es erfordert die Optimierung der Leistung, die Verwaltung der Kosten und die Umsetzung von Best Practices, um einen reibungslosen Datenbetrieb zu gewährleisten. Da BigQuery nach einem Pay-per-Use-Modell funktioniert, ist es für die Leistung und Kosteneffizienz echt wichtig zu wissen, wie man Datenscans minimiert, Partitionierung und Clustering nutzt und die Ausführung von Abfragen optimiert.
Was sind die besten Methoden, um die Kosten für BigQuery effizient zu verwalten?
Warum das gefragt wird: Um deine Fähigkeit zu checken, die Kosteneffizienz bei der Arbeit mit großen Datensätzen in BigQuery zu optimieren.
Um die Kosten für BigQuery effektiv zu verwalten, solltest du Folgendes beachten:
-
Optimiere Abfragen , um nur die notwendigen Spalten und Zeilen zu scannen und so
SELECT *. -
Verwende partitionierte und geclusterte Tabellen , um das Scannen von Daten zu minimieren und die Abfrageleistung zu verbessern.
-
Nutze Tools zur Kostenüberwachung wie Budgets, Warnmeldungen und Richtlinien zur Kostenkontrolle in Google Cloud.
-
Nutze die Vorteile von Slot-Reservierungen für besser planbare Preise und Kosteneinsparungen.
-
Räum regelmäßig nicht genutzte Tabellen und Partitionen auf, , um die Speicherkosten zu optimieren.
Eine gut durchdachte Strategie für das Kostenmanagement hilft dabei, die Ausgaben im Griff zu behalten und gleichzeitig die Abfrageausführung effizient zu halten.
Was sind die besten Methoden, um die Abfrageleistung in BigQuery zu optimieren?
Warum das gefragt wird: Um zu sehen, wie gut du effiziente Abfragen schreiben kannst, die die Ausführungszeit und die Kosten senken.
So optimierst du die Abfrageleistung in BigQuery:
-
Entwirf ein effizientes Schema, wähle passende Datentypen aus und vermeide übertriebene Normalisierung.
-
Partitionierung und Clustering nutzen , um die Menge der gescannten Daten zu reduzieren.
-
Vermeide
SELECT *und hol nur die Spalten, die du wirklich brauchst. -
Optimiere JOIN- und GROUP BY-Operationenund sicherstellen, dass sie den Best Practices für umfangreiche Abfragen entsprechen.
-
Nutze Caching und materialisierte Ansichten , um vorab berechnete Ergebnisse zu speichern und die Leistung zu verbessern.
-
Verwende ungefähre Aggregationsfunktionenwie „
APPROX_COUNT_DISTINCT“, wenn es nicht auf exakte Genauigkeit ankommt.
Wenn du diese Tipps befolgst, kannst du Abfragen beschleunigen, Rechenkosten senken und die Gesamteffizienz steigern.
Was sind BigQuery-Slots und wie beeinflussen sie die Abfrageleistung?
Warum das gefragt wird: Um zu sehen, wie gut du die Rechenressourcen von BigQuery und ihren Einfluss auf die Ausführung von Abfragen verstehst.
BigQuery-Slots sind Einheiten der Rechenkapazität, die zur Verarbeitung von SQL-Abfragen verwendet werden. Sie werden dynamisch je nach Bedarf zugeteilt, was eine effiziente Nutzung der Ressourcen sicherstellt. Unternehmen können zwischen folgenden Optionen wählen:
- On-Demand-Slots, die sich automatisch nach den Anforderungen der Abfrage richten.
- Reservierte Slots, die eine bessere Vorhersagbarkeit der Leistung und Kosteneinsparungen bei gleichbleibender Auslastung bieten.
Effizientes Slot-Management kann die Ausführungszeit von Abfragen verkürzen, die Ressourcenzuteilung optimieren und die Gesamtkosten senken.
Wie kannst du die Kosten für BigQuery effektiv im Blick behalten und optimieren?
Warum das gefragt wird: Um zu sehen, wie du die Kosten von BigQuery im Griff hast.
So kannst du die Kosten in BigQuery im Auge behalten und optimieren:
- Analysiere die Ausführung von Abfragen mit Hilfe des Abfrageverlaufs und EXPLAIN-Plänen, um aufwendige Vorgänge zu erkennen.
- Aktiviere Audit-Protokolle , um Nutzungsmuster zu verfolgen und ineffiziente Abfragen zu erkennen.
- Setz Budgets und Kostenwarnungen auf , um unerwartete Ausgaben zu vermeiden.
- Nutze die Slots besserund reservierte Steckplätze für gleichmäßige Arbeitslasten nutzen, um Kosten zu sparen.
- Räum regelmäßig nicht genutzte Tabellen und Partitionen auf , um unnötige Lagergebühren zu vermeiden.
Mit diesen Strategien kannst du eine kosteneffiziente Datenverarbeitung sicherstellen und gleichzeitig die Leistung und Skalierbarkeit aufrechterhalten.
Weitere Tipps für ein erfolgreiches BigQuery-Vorstellungsgespräch
Hier sind noch ein paar letzte Tipps, damit du dein bevorstehendes Vorstellungsgespräch über BigQuery mit Bravour meisterst.
Lerne die Grundlagen richtig. Lerne in unseremEinführungskurs zu BigQuery die Architektur von BigQuery kennen, einschließlich des serverlosen Designs, der Trennung von Speicher und Rechenleistung sowie der Dremel-Abfrage-Engine. Lerne Datensätze, Tabellen, Ansichten und materialisierte Ansichten kennen, um Daten effizient zu verwalten und zu strukturieren. UnserTutorial zu SQL-Materialized Views hilft dir dabei.
Mach deine SQL- und Abfrageoptimierungsfähigkeiten fit. Probier die BigQuery-spezifischen SQL-Funktionen (ARRAYs, STRUCTs, Fensterfunktionen) für komplexe Abfragen mit unserem Code-Along „Erste Schritte mit BigQuery“ aus. Mach deine Abfragen besser mit Partitionierung, Clustering und Approximationsfunktionen, um Kosten zu sparen und die Leistung zu verbessern, wie in der offiziellen Dokumentation von Google beschrieben.
Sammle praktische Erfahrungen. Arbeite an echten Projekten mit öffentlichen Datensätzen und erstelle Berichte mit Looker Studio, Tableau oder Power BI mit DataCamp-Projekten. Probier mal unsere „Analyse der Ladegewohnheiten von Elektrofahrzeugen“ und „Erkundung des Londoner Verkehrsnetzes “ aus – beides super Möglichkeiten, deine SQL-Kenntnisse zu verbessern.
Josep ist Data Scientist und Projektmanager beim katalanischen Fremdenverkehrsamt und nutzt Daten, um die Erfahrungen von Touristen in Katalonien zu verbessern. Sein Fachwissen umfasst das Management von Datenspeicherung und -verarbeitung, gekoppelt mit fortschrittlichen Analysen und der effektiven Kommunikation von Datenerkenntnissen.
Er ist auch ein engagierter Pädagoge, der den Big-Data-Masterstudiengang an der Universität von Navarra unterrichtet und regelmäßig aufschlussreiche Artikel über Datenwissenschaft auf Medium und KDNuggets veröffentlicht.
Er hat einen BS in technischer Physik von der Polytechnischen Universität von Katalonien und einen MS in intelligenten interaktiven Systemen von der Universität Pompeu Fabra.
Derzeit engagiert er sich leidenschaftlich dafür, datenbezogene Technologien durch die Medium-Publikation ForCode'Sake einem breiteren Publikum zugänglich zu machen.
FAQs
Was ist BigQuery und wie unterscheidet es sich von herkömmlichen Datenbanken?
BigQuery ist ein komplett verwaltetes, serverloses Data Warehouse auf Google Cloud, das für die Analyse großer Datenmengen gemacht ist. Im Gegensatz zu den üblichen relationalen Datenbanken vor Ort, die meistens zeilenbasiert sind und durch Hardware-Einschränkungen begrenzt werden, ist BigQuery ein Cloud-basiertes, spaltenorientiertes Speichersystem, das nahezu unbegrenzte Skalierbarkeit bietet. Dank seiner verteilten Architektur und dem Pay-as-you-go-Preismodell ist es effizienter bei der Verarbeitung analytischer Workloads als herkömmliche Datenbanken.
Was sind die wichtigsten Vorteile von BigQuery?
BigQuery hat fünf wichtige Vorteile: (1) Skalierbarkeit – Ressourcen werden automatisch nach oben oder unten angepasst, (2) Flexibilität – die Infrastruktur passt sich den Geschäftsanforderungen an, (3) Hohe Sicherheit – integrierte Verschlüsselung und Zugriffskontrolle, (4) Kosteneffizienz – nutzungsabhängige Preisgestaltung und (5) Datenaustausch und Zusammenarbeit – Cloud-basierte Lösungen ermöglichen einen nahtlosen Zugriff für alle Teams.
Was ist Partitionierung in BigQuery und wie verbessert sie die Leistung?
Die Partitionierung in BigQuery teilt große Tabellen in kleinere, überschaubare Teile auf, basierend auf Kriterien wie Datum, Erfassungszeitpunkt oder numerischen Werten. Das verbessert die Abfrageleistung, weil nur relevante Partitionen statt der ganzen Tabelle gescannt werden, was die Abfragekosten und die Ausführungszeit senkt. Es ist besonders nützlich für Zeitreihenanalysen und große Datensätze.
Was ist der Unterschied zwischen einer Tabelle und einer Ansicht in BigQuery?
Eine Tabelle speichert Daten physisch, während eine Ansicht eine virtuelle Tabelle ist, die Daten dynamisch anhand einer vordefinierten SQL-Abfrage abruft. Ansichten helfen dabei, komplizierte Abfragen zu vereinfachen, Datenzugriffskontrollen durchzusetzen und die Ausführungszeiten von Abfragen zu verbessern, ohne dass Daten doppelt gespeichert werden müssen.
Wie geht BigQuery mit Datensicherheit um?
BigQuery hat mehrere Sicherheitsebenen: (1) Verschlüsselung von Daten im Ruhezustand und während der Übertragung, (2) Identitäts- und Zugriffsmanagement (IAM) für eine detaillierte Zugriffskontrolle, (3) Audit-Protokollierung zur Überwachung der Nutzung und Einhaltung von Vorschriften und (4) vom Kunden verwaltete Verschlüsselungsschlüssel für mehr Sicherheit.
