Data Engineer
Wie sehen Sie Ihre Entwicklung im neuen Team und mit welchen Aufgaben möchten Sie sich am liebsten beschäftigen?
Wofür werden Dekoratoren in Apache Airflow verwendet?
Bericht für das Logistikunternehmen Sie sind Analyst bei einem Logistikunternehmen, das die Operationen in den Lagern erfasst. Sie müssen einen Bericht über die Effizienz jedes Lagers erstellen. Berechnen Sie für jedes Lager: • die Gesamtzahl der Operationen (count_operations); • die Gesamtzahl der im Lager verarbeiteten Waren (sum_quantity); • die durchschnittliche Bearbeitungszeit einer Operation (avg_processing_time), nur für Operationen mit festgelegter Zeit (nicht NULL), auf die nächste ganze Zahl gerundet; • die maximale und minimale Anzahl der in einer Operation verarbeiteten Waren (max_quantity, min_quantity); • die Anzahl der Operationen jedes Typs («Lieferung», «Versand», «Transfer») in separaten Spalten: supply_operations, shipment_operations, transfer_operations. Filtern Sie Lager, bei denen die Gesamtzahl der Operationen mehr als 2 beträgt und die durchschnittliche Bearbeitungszeit 60 Minuten nicht überschreitet. Sortieren Sie das Ergebnis nach Lager-ID aufsteigend. Eingabeformat Tabelle operations: • operation_id (int) — eindeutiger Identifikator der Operation • warehouse_id (int) — Lager-ID • operation_type (text) — Operationstyp: «Lieferung», «Versand», «Transfer»
Was ist semantische Versionierung? Wann sollte man Major, Minor, Patch erhöhen?
Welche Arten von Schlüsseln/Verteilungsstrategien gibt es in Greenplum?
Verwendeten sie nur einen S3-Bucket oder mehrere? Nach welchem Prinzip?
Verkaufsanalyse nach Produktkategorien in einem Einzelhandelsgeschäft Sie arbeiten als Analyst in einem Einzelhandelsgeschäft. Ihre Aufgabe ist es, einen Verkaufsbericht nach Kategorien mit den folgenden Berechnungen zu erstellen: • Gesamtzahl der verkauften Einheiten in der Kategorie (total_units_sold); • Gesamter Umsatz nach Kategorie, unter Berücksichtigung von Rabatten, wobei der Rabatt berechnet wird als unit_price × units_sold × (1 − discount/100). Wenn kein Rabatt vorhanden ist (NULL), wird 0% angenommen. Auf zwei Dezimalstellen runden; • Durchschnittliche verkaufte Einheiten pro Verkauf (avg_units_per_sale), auf zwei Dezimalstellen gerundet; • Anteil der Verkäufe ohne Rabatt (no_discount_share) — Anzahl der Verkäufe mit NULL oder 0% Rabatt, geteilt durch die Gesamtzahl der Verkäufe in der Kategorie, auf drei Dezimalstellen gerundet. Sortieren Sie die Ergebnisse zuerst nach dem Gesamtumsatz (total_revenue) absteigend, dann nach dem Durchschnitt der Einheiten pro Verkauf (avg_units_per_sale) aufsteigend, und schließlich nach Kategorienamen in alphabetischer Reihenfolge. Eingabeformat Tabelle sales: • sale_id (int) — eindeutige Verkaufs-ID • product_id (int) — Produkt-ID • category (text) — Produktkategorie • sale_date (timestamp) — Verkaufsdatum und -zeit • units_sold (int) — verkaufte Einheiten • unit_price (numeric) — Preis pro Einheit • discount (numeric) — Rabatt in Prozent, kann NULL sein Die Spalte discount kann NULL-Werte enthalten. Ausgabeformat Die Abfrage sollte eine Tabelle mit den Feldern in folgender Reihenfolge zurückgeben: • category (text) — Produktkategorie • total_units_sold (int) — Gesamtzahl der verkauften Einheiten in der Kategorie • total_revenue (numeric) — Gesamter Umsatz in der Kategorie, auf zwei Dezimalstellen gerundet • avg_units_per_sale (numeric) — Durchschnitt der Einheiten pro Verkauf, auf zwei Dezimalstellen gerundet • no_discount_share (numeric) — Anteil der Verkäufe ohne Rabatte (Wert zwischen 0 und 1), auf drei Dezimalstellen gerundet Das Ergebnis wird zuerst nach total_revenue absteigend sortiert, dann nach avg_units_per_sale aufsteigend, und schließlich nach Kategorie in alphabetischer Reihenfolge.
Erzähle mir von deiner Erfahrung bei X5: Was hast du im Bereich DWH gemacht?
Wozu brauchten Sie überhaupt Data Vault?
Erzählen Sie mir von der Replikationskonfigurationsaufgabe, die Sie gelöst haben.
Berichten Sie von Ihren Erfahrungen bei der Migration von Spring Boot 2 auf Spring Boot 3
Wie bestimmt Spark, dass eine Tabelle groß genug ist, um für einen Broadcast-Join (Obergrenze) verwendet zu werden?
In PostgreSQL enthält die Zeilenversionsüberschrift den Parameter xmax. Welche Rolle spielt dieser bei der Transaktionsverwaltung? - Zur Erstellung einer eindeutigen Zeilen-ID in der Tabelle - Zur Überprüfung der Sichtbarkeit der Zeile durch andere Transaktionen - Zur Angabe der Transaktionsnummer, die die Zeile gelöscht oder aktualisiert hat - Zum Sperren der Zeile vor gleichzeitigen Änderungen durch mehrere Transaktionen - Zur Angabe des maximalen Werts, der in eine numerische Spalte geschrieben werden kann
Erzähle mir im Allgemeinen von deiner Erfahrung und was du studiert hast.
Was ist dir bei einem neuen Projekt, einem neuen Team oder einem neuen Unternehmen wichtig?
Was ist VACUUM in PostgreSQL? Welche Arten gibt es? Kann man es in der Produktion verwenden?
Was sind deine Pläne für die nächsten 5 Jahre? In welchen Bereichen möchtest du dich entwickeln?
Was ist der Unterschied zwischen den Befehlen docker run und docker exec?
Musstest du schon Berichte, Dashboards, Visualisierungen (BI) erstellen?
Welche Gruppen von SQL-Operatoren kennst du? Was gehört dazu?