Data Engineer
Was kannst du über SOAP API erzählen?
In welchem Team und unter welcher Führung fühlst du dich am wohlsten bei der Arbeit?
Was bringt das Iceberg-Format im Vergleich zu herkömmlichem Parquet?
Wie bestimmt Spark, dass eine Tabelle groß genug ist, um für einen Broadcast-Join (Obergrenze) verwendet zu werden?
Haben Sie Unit-Tests geschrieben? Haben Sie diese Erfahrung?
Wie unterscheidest du technische und geschäftliche Datenprüfungen, und wer sollte die Anforderungen dafür festlegen?
Welcher Befehl aus dem Stammverzeichnis des Projekts sollte verwendet werden, um das Submodul docs/ auf die neueste Version aus dem Remote-Repository zu aktualisieren und diese Änderung für den Commit vorzubereiten? git fetch docs/ && git merge docs/FETCH_HEAD git pull --recurse-submodules git submodule update --remote docs/ cd docs/ && git pull && cd .. && git commit -am "Update" git submodule update --init docs/
Haben Sie Erfahrung im Schreiben von Dokumentation?
Welche Erfahrung und welches Verständnis hast du beim Aufbau von Pipelines für die Berechnung von Schaufenstern (Datenverarbeitung)?
Wenn wir eine Filterbedingung nach Transaktionsdatum in WHERE (nach LEFT JOIN) setzen, wird das Ergebnis in der ersten Tabelle (Kunden) eingeschränkt?
Haben Sie Erfahrung in der Einrichtung von Pipelines in CI/CD, zum Beispiel GitLab?
Beim Streaming hat Iceberg funktioniert, hast du gehört? Es ist ein Müll-File-Storage.
Wie man den Speicherverbrauch des DataFrame in Pandas reduziert?
Hast du mit Fensterfunktionen gearbeitet? Welche Arten von Fensterfunktionen kennst du?
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 der Operation (avg_processing_time), nur für Operationen mit einer angegebenen 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 die Lager, bei denen die Gesamtzahl der Operationen mehr als 2 beträgt und die durchschnittliche Bearbeitungszeit 60 Minuten nicht übersteigt. Sortieren Sie das Ergebnis nach Lager-ID aufsteigend. Eingabeformat Tabelle operations: • operation_id (int) — eindeutiger Bezeichner der Operation • warehouse_id (int) — Lager-ID • operation_type (text) — Operationstyp: «Lieferung», «Versand», «Transfer» • quantity (int) — Anzahl der Waren in der Operation • operation_date (timestamp) — Datum und Uhrzeit der Operation • processing_time (int) — Bearbeitungszeit der Operation Die Spalte processing_time kann NULL-Werte enthalten. Ausgabeformat Die Abfrage sollte eine Tabelle mit den Feldern in folgender Reihenfolge zurückgeben: • warehouse_id (int) — eindeutiger Lager-ID • count_operations (int) — Gesamtzahl der Operationen im Lager • sum_quantity (int) — Gesamtzahl der verarbeiteten Waren im Lager • avg_processing_time (numeric) — durchschnittliche Bearbeitungszeit der Operation (in Minuten), nur für Operationen mit nicht NULL Zeit, auf die nächste ganze Zahl gerundet • max_quantity (int) — maximale Anzahl der in einer Operation verarbeiteten Waren • min_quantity (int) — minimale Anzahl der in einer Operation verarbeiteten Waren • supply_operations (int) — Anzahl der Operationen vom Typ «Lieferung» • shipment_operations (int) — Anzahl der Operationen vom Typ «Versand» • transfer_operations (int) — Anzahl der Operationen vom Typ «Transfer»
Wie funktioniert Hash Join?
Wie kann man Shuffle in Spark verwalten (Partitionierung, Broadcast Join usw.)?
Welche Trace-Tools wurden verwendet? In Spring Boot 2 und Spring Boot 3?
LEFT JOIN: Tabelle mit 10 Einträgen LEFT JOIN Tabelle mit 100 Einträgen. Was ist die minimale und maximale Anzahl an Zeilen, die man erhalten kann?
Haben Sie mit inkrementellen und vollständigen Ladungen gearbeitet? Wie sind Sie mit Duplikaten umgegangen?