Ερωτήσεις Συνέντευξης Data Engineer, ανά Γύρο

Από Aaron Cao · Ενημερώθηκε

Ερωτήσεις Συνέντευξης Data Engineer, ανά Γύρο
Οι γύροι συνεντεύξεων data engineer καλύπτουν προχωρημένη SQL, data modelling, σχεδιασμό pipeline και ETL, distributed processing, και behavioral γύρους. Ο γύρος σχεδιασμού pipeline κρίνει τα περισσότερα αποτελέσματα: ρωτά πώς χειρίζεστε late data, reruns και failures, όχι ποιο εργαλείο προτιμάτε.

Οι γύροι συνεντεύξεων data engineer καλύπτουν προχωρημένη SQL, data modelling, σχεδιασμό pipeline και ETL, distributed processing, και behavioral γύρους. Ο γύρος σχεδιασμού pipeline κρίνει τα περισσότερα αποτελέσματα: ρωτά πώς χειρίζεστε late data, reruns και failures, όχι ποιο εργαλείο προτιμάτε.

Ποιους γύρους περιλαμβάνει η συνέντευξη data engineer;

Ίσως ετοιμάζεστε με τον ίδιο τρόπο όπως για μια συνέντευξη software engineering και αναρωτιέστε τι διαφέρει. Αυτή η ενότητα χαρτογραφεί τους γύρους που επαναλαμβάνουν αυτές οι συνεντεύξεις, ώστε να αφιερώσετε τον χρόνο σας στους δύο γύρους που πραγματικά ξεχωρίζουν τους υποψηφίους. Το τεχνικό φίλτρο σπάνια είναι εκεί που χάνονται οι προσφορές.

  • SQL. Window functions, deduplication και query performance, συνήθως ζωντανά.
  • Data modelling. Σχεδιασμός πινάκων για μια περιγραφόμενη επιχείρηση, και υπεράσπιση του grain που επιλέξατε.
  • Σχεδιασμός pipeline και ETL. Ένας ανοιχτός γύρος system design εστιασμένος στη μετακίνηση δεδομένων.
  • Distributed processing. Πώς εκτελεί πραγματικά ένα framework τη δουλειά σας, και γιατί είναι αργό.
  • Coding. Python ή Scala, συχνά ελαφρύτερο από γύρο software engineering.
  • Behavioral. Περιστατικά on call, χαλασμένα dashboards, και stakeholders που ήθελαν τον αριθμό χθες.

Οι τίτλοι επικαλύπτονται σε μεγάλο βαθμό με analytics engineering και ρόλους platform, οπότε το μείγμα αλλάζει. Σχετικές τράπεζες ρόλων βρίσκονται στον κόμβο interview questions by role.

Ποιες ερωτήσεις SQL και data modelling εμφανίζονται;

SQL

  • Κάντε deduplicate έναν πίνακα κρατώντας μόνο την πιο πρόσφατη γραμμή ανά key.
  • Γράψτε ένα query που επιστρέφει τον αριθμό sessions κάθε χρήστη με χρήση 30 λεπτών κενού αδράνειας.
  • Υπολογίστε ένα running total και μια μεταβολή μήνα προς μήνα σε ένα query.
  • Βρείτε γραμμές που υπάρχουν στο χθεσινό snapshot αλλά λείπουν σήμερα.
  • Τι κάνει το QUALIFY, και τι θα γράφατε χωρίς αυτό;
  • Αυτό το query σαρώνει ένα δισεκατομμύριο γραμμές και διαρκεί είκοσι λεπτά. Πώς το διαγιγνώσκετε;
  • Εξηγήστε τη διαφορά μεταξύ partitioning και clustering, και πότε βοηθά το καθένα.

Data modelling

  • Σχεδιάστε τους πίνακες για το ιστορικό παραγγελιών μιας online αγοράς. Ποιο είναι το grain του fact table σας;
  • Εξηγήστε ένα star schema, και πότε θα κάνατε σκόπιμα περαιτέρω denormalise.
  • Τι είναι μια slowly changing dimension, και πώς υλοποιείτε το type two;
  • Ένας stakeholder θέλει η ιστορική αναφορά να αντικατοπτρίζει την τρέχουσα region ενός πελάτη. Τι σπάει;
  • Πώς θα μοντελοποιούσατε ένα event stream που φτάνει out of order;
  • Πότε θα επιλέγατε έναν wide table αντί για ένα normalised μοντέλο;

Ο γύρος modelling ανταμείβει τη δέσμευση σε ένα grain και την υπεράσπισή του. Υποψήφιοι που περιγράφουν τρεις πιθανούς σχεδιασμούς χωρίς να επιλέξουν βαθμολογούνται χειρότερα από όσους επιλέγουν έναν λογικό σχεδιασμό και ονομάζουν την αδυναμία του.

Ποιες ερωτήσεις pipeline και distributed processing εμφανίζονται;

Σχεδιασμός pipeline και ETL

  • Σχεδιάστε ένα pipeline που φορτώνει καθημερινές συναλλαγές σε ένα warehouse για αναφορές.
  • Η πηγή upstream στέλνει ξανά τα χθεσινά δεδομένα. Τι συμβαίνει στη δουλειά σας;
  • Πώς κάνετε ένα pipeline idempotent, και γιατί έχει σημασία για τα reruns;
  • Πώς θα κάνατε backfill δύο ετών ιστορικού χωρίς να διαταράξετε το καθημερινό load;
  • Late arriving δεδομένα εμφανίζονται τρεις ημέρες αφού έκλεισε το partition. Τι κάνετε;
  • Πώς θα εντοπίζατε ότι ένα pipeline πέτυχε αλλά παρήγαγε λάθος δεδομένα;
  • Τι παρακολουθείτε, και τι ειδοποιεί κάποιον στις τρεις τα ξημερώματα;

Distributed processing και streaming

  • Τι προκαλεί ένα shuffle, και γιατί είναι ακριβό;
  • Η δουλειά σας είναι αργή και ένα task διαρκεί πολύ περισσότερο από τα υπόλοιπα. Τι συμβαίνει;
  • Εξηγήστε το data skew και δύο τρόπους αντιμετώπισής του.
  • Πότε θα επιλέγατε streaming αντί για προγραμματισμένο batch job;
  • Τι εγγυάται πραγματικά το exactly once processing, και πού δεν ισχύει;
  • Πώς χειρίζονται τα watermarks τα out of order events σε ένα windowed aggregation;

Παρατηρήστε πόσο λίγες από αυτές σας ζητούν να ονομάσετε ένα εργαλείο. Το να ονομάσετε ένα είναι η αρχή της απάντησης, όχι η απάντηση. Η επόμενη ερώτηση είναι πάντα γιατί, και τι σπάει.

Πώς πρέπει να εξασκηθείτε σε αυτά;

Η ανάγνωση αυτών των λιστών φέρνει αναγνώριση. Οι γύροι design δοκιμάζουν κάτι άλλο: το να κρατάτε ένα σύστημα στο μυαλό σας ενώ κάποιος σας διακόπτει με μια περίπτωση αποτυχίας. Αυτό έρχεται μόνο από το να λέτε σχεδιασμούς φωναχτά.

  • Σχεδιάστε και αφηγηθείτε ένα pipeline σε δεκαπέντε λεπτά. Source, landing, transform, serve, συν πώς αποτυγχάνει κάθε στάδιο.
  • Επιτεθείτε στον δικό σας σχεδιασμό. Μετά από κάθε προσομοίωση, ρωτήστε τι συμβαίνει σε ένα rerun, σε late δεδομένα, και σε αλλαγή schema.
  • Έχετε έναν αριθμό έτοιμο για την κλίμακα. Γραμμές την ημέρα, μέγεθος, προϋπολογισμός latency. Η δήλωση της υποτιθέμενης κλίμακάς σας πρώτα βαθμολογείται.
  • Γράψτε SQL με το χέρι. Οι ζωντανοί γύροι συχνά χρησιμοποιούν έναν απλό επεξεργαστή χωρίς autocomplete και χωρίς εκτέλεση.
  • Εξασκηθείτε σωστά σε μία ιστορία περιστατικού. Τι χάλασε, πώς το βρήκατε, τι αλλάξατε ώστε να μην επαναληφθεί.

Μια data engineer με έξι χρόνια σε batch pipelines ετοιμάστηκε αναθεωρώντας τα internals framework, αλλά κόλλησε στο "η πηγή upstream έστειλε ξανά το χθεσινό αρχείο" επειδή το είχε χειριστεί μόνο με το χέρι, ποτέ δεν το είχε εξηγήσει. Η γνώση υπήρχε· η προφορική απάντηση όχι. Η εξάσκηση του γύρου design με follow-up ερωτήσεις είναι αυτό για το οποίο φτιάχτηκε η λειτουργία mock interview.

Συχνές ερωτήσεις

Πώς διαφέρει μια συνέντευξη data engineer από μια συνέντευξη software engineer;

Ο γύρος coding είναι συνήθως ελαφρύτερος και ο γύρος design εστιάζει στη μετακίνηση δεδομένων αντί για services. Οι ερωτήσεις επικεντρώνονται στην ορθότητα υπό reruns, late δεδομένα, και αλλαγή schema, που σπάνια εμφανίζονται σε έναν γενικό γύρο software design.

Χρειάζομαι συγκεκριμένα το Spark, ή αρκεί η έννοια;

Οι έννοιες φέρουν το μεγαλύτερο μέρος του γύρου: shuffles, skew, partitioning, και γιατί μια δουλειά είναι αργή. Αν η περιγραφή θέσης ονομάζει ένα framework, περιμένετε τουλάχιστον μία ερώτηση για το execution model του, οπότε να μπορείτε να εξηγήσετε τι συμβαίνει όταν τρέχει η δουλειά σας.

Πόσο data modelling εξετάζουν αυτές οι συνεντεύξεις;

Περισσότερο από όσο περιμένουν οι περισσότεροι υποψήφιοι. Star schemas, grain fact table, και slowly changing dimensions εμφανίζονται τακτικά, και οι συνεντευκτές πιέζουν στις συνέπειες της επιλογής σας αντί να ζητούν τον σχολικό ορισμό.

Ποιος είναι ο πιο συνηθισμένος λόγος αποτυχίας υποψηφίων στους γύρους data engineer;

Ο σχεδιασμός ενός pipeline που λειτουργεί μόνο στο happy path. Οι συνεντευκτές σκόπιμα εισάγουν reruns, διπλές παραδόσεις, και late arriving δεδομένα, και ένας σχεδιασμός χωρίς απάντηση σε αυτά είναι ο συνήθης τρόπος αποτυχίας.

Πώς εξασκούμαι μόνος μου στους γύρους design;

Επιλέξτε μια περιγραφόμενη επιχείρηση, σχεδιάστε το pipeline φωναχτά με χρονόμετρο, και μετά ανακρίνετε τον δικό σας σχεδιασμό με περιπτώσεις αποτυχίας. Ένας AI mock interviewer μπορεί επίσης να τρέξει τον γύρο και να διακόψει με follow-up ερωτήσεις, που είναι πιο κοντά στην πραγματική πίεση.

Σχετικές ερωτήσεις

← Περισσότερα για Ερωτήσεις συνέντευξης ανά ρόλο & θέμα