Ποιες ερωτήσεις συνέντευξης για Kafka να περιμένω;

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

Ποιες ερωτήσεις συνέντευξης για Kafka να περιμένω;
Περιμένετε τέσσερα επίπεδα: βασικές έννοιες (θέματα, κατατμήσεις, μετατοπίσεις, ομάδες καταναλωτών), εγγυήσεις παράδοσης (τουλάχιστον μία φορά, ακριβώς μία φορά, ιδιοδύναμοι παραγωγοί), λειτουργία (αναπαραγωγή, συγχρονισμένα αντίγραφα, διατήρηση, ανακατανομή) και σενάρια σχεδιασμού όπου υπολογίζετε τις κατατμήσεις, επιλέγετε κλειδιά και αντιμετωπίζετε αστοχίες. Οι συνεντευκτές εξετάζουν το γιατί πίσω από κάθε απάντηση.

Περιμένετε τέσσερα επίπεδα: βασικές έννοιες (θέματα, κατατμήσεις, μετατοπίσεις, ομάδες καταναλωτών), εγγυήσεις παράδοσης (τουλάχιστον μία φορά, ακριβώς μία φορά, ιδιοδύναμοι παραγωγοί), λειτουργία (αναπαραγωγή, συγχρονισμένα αντίγραφα, διατήρηση, ανακατανομή) και σενάρια σχεδιασμού όπου υπολογίζετε τις κατατμήσεις, επιλέγετε κλειδιά και αντιμετωπίζετε αστοχίες. Οι συνεντευκτές εξετάζουν το γιατί πίσω από κάθε απάντηση.

Ποιες βασικές έννοιες του Kafka ελέγχει πρώτα κάθε συνεντευκτής;

Γνωρίζετε ήδη ότι το Kafka είναι ένα κατανεμημένο αρχείο καταγραφής και ανησυχείτε μήπως ο συνεντευκτής προχωρήσει ένα επίπεδο βαθύτερα από την καθημερινή σας χρήση. Εκεί ακριβώς κατευθύνονται αυτές οι ερωτήσεις, γι’ αυτό η ενότητα παρουσιάζει την ορολογία με τη σειρά που συνήθως την εξετάζουν οι συνεντευκτές και επισημαίνει τη συμπληρωματική ερώτηση πίσω από κάθε όρο.

  • Θέματα και κατατμήσεις. Ένα θέμα χωρίζεται σε κατατμήσεις, καθεμία από τις οποίες είναι ένα ταξινομημένο αρχείο καταγραφής μόνο για προσθήκες. Συμπληρωματική ερώτηση: γιατί το Kafka κλιμακώνει τις εγγραφές προσθέτοντας κατατμήσεις αντί να κάνει ταχύτερο ένα ενιαίο αρχείο καταγραφής;
  • Μετατοπίσεις. Η θέση ενός καταναλωτή σε μια κατάτμηση. Συμπληρωματική ερώτηση: ποιος αποθηκεύει τις δεσμευμένες μετατοπίσεις και τι συμβαίνει αν ένας καταναλωτής καταρρεύσει πριν από τη δέσμευση;
  • Ομάδες καταναλωτών. Οι καταναλωτές μιας ομάδας μοιράζονται τις κατατμήσεις ενός θέματος, με κάθε κατάτμηση να αντιστοιχεί το πολύ σε έναν καταναλωτή της ομάδας κάθε στιγμή. Συμπληρωματική ερώτηση: τι συμβαίνει στη διεκπεραιωτική ικανότητα αν η ομάδα έχει περισσότερους καταναλωτές από κατατμήσεις;
  • Brokers και controller. Οι brokers αποθηκεύουν κατατμήσεις· ο controller χειρίζεται την εκλογή leader και τα μεταδεδομένα. Συμπληρωματική ερώτηση: τι άλλαξε όταν το Kafka μετέφερε τα μεταδεδομένα από το ZooKeeper στο KRaft;
  • Παραγωγοί και κλειδιά. Ένα μήνυμα με κλειδί καταλήγει σε κατάτμηση που επιλέγεται μέσω κατακερματισμού του κλειδιού· ένα μήνυμα χωρίς κλειδί κατανέμεται στις κατατμήσεις. Συμπληρωματική ερώτηση: ποια από τις δύο περιπτώσεις διατηρεί τη σειρά των συμβάντων ενός πελάτη;

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

Πώς τίθενται οι ερωτήσεις για εγγυήσεις παράδοσης και αναπαραγωγή;

Σε αυτό το επίπεδο οι περισσότεροι υποψήφιοι χάνουν βαθμούς, επειδή οι όροι είναι εύκολοι αλλά οι συμβιβασμοί όχι. Περιμένετε από τον συνεντευκτή να ορίσει μια εγγύηση και να σας ζητήσει να την υλοποιήσετε μέσω ρυθμίσεων.

  • Το πολύ μία φορά έναντι τουλάχιστον μίας φοράς. Αν δεσμεύσετε τη μετατόπιση πριν από την επεξεργασία, μπορεί να χάσετε ένα μήνυμα· αν το επεξεργαστείτε πρώτα και δεσμεύσετε μετά, μπορεί να το επεξεργαστείτε δύο φορές. Εξηγήστε ποια αστοχία ανέχεται κάθε σειρά και ποια προτιμά το σύστημά σας.
  • Ιδιοδύναμοι παραγωγοί και ακριβώς μία φορά. Ένας ιδιοδύναμος παραγωγός εξαλείφει τις διπλές επαναλήψεις μέσα σε μια κατάτμηση· οι συναλλαγές το επεκτείνουν σε πολλές κατατμήσεις και στις μετατοπίσεις καταναλωτών σε έναν βρόχο κατανάλωσης-μετασχηματισμού-παραγωγής. Να είστε έτοιμοι να πείτε τι δεν καλύπτει το ακριβώς μία φορά: μια εγγραφή σε μεταγενέστερη βάση δεδομένων εκτός συναλλαγής παραμένει δική σας ευθύνη.
  • acks, συντελεστής αναπαραγωγής και συγχρονισμένα αντίγραφα. Το acks=all περιμένει το σύνολο των συγχρονισμένων αντιγράφων· το min.insync.replicas ορίζει πόσο μπορεί να συρρικνωθεί αυτό το σύνολο πριν απορριφθούν οι εγγραφές. Οι συνεντευκτές συχνά ρωτούν τι θυσιάζετε εδώ για την ανθεκτικότητα: καθυστέρηση και διαθεσιμότητα κατά την απώλεια broker.
  • Διατήρηση και συμπύκνωση. Η διατήρηση βάσει χρόνου ή μεγέθους διαγράφει παλιά τμήματα· η συμπύκνωση του αρχείου καταγραφής κρατά την πιο πρόσφατη εγγραφή ανά κλειδί. Συμπληρωματική ερώτηση: ποια επιλογή υποστηρίζει ένα αρχείο αλλαγών για χώρο αποθήκευσης κλειδιών-τιμών και γιατί;
  • Ανακατανομή. Όταν ένας καταναλωτής εισέρχεται ή αποχωρεί, οι κατατμήσεις ανατίθενται εκ νέου. Συμπληρωματική ερώτηση: πώς επηρεάζει μια παρατεταμένη ανακατανομή μια υπηρεσία ευαίσθητη στην καθυστέρηση και πώς περιορίζουν το πρόβλημα η συνεργατική ανακατανομή και η στατική συμμετοχή;

Μια χρήσιμη συνήθεια: για κάθε ρύθμιση που αναφέρετε, εξηγήστε ποια αστοχία αποτρέπει και ποιο κόστος προσθέτει. Αυτή η δομή απαντά στην αρχική και στη συμπληρωματική ερώτηση με μία ανάσα.

Πώς είναι οι ερωτήσεις σχεδιασμού και σεναρίων;

Οι συνεντεύξεις για ανώτερες θέσεις αντικαθιστούν τους ορισμούς με ένα σενάριο και παρακολουθούν τον συλλογισμό σας. Μια τυπική άσκηση: ένας μηχανικός backend που περνά συνέντευξη για θέση πλατφόρμας σε εταιρεία πληρωμών καλείται να σχεδιάσει μια διοχέτευση συμβάντων, όπου κάθε συναλλαγή ενός λογαριασμού πρέπει να υποβάλλεται σε επεξεργασία με τη σωστή σειρά, η διεκπεραιωτική ικανότητα να αυξάνεται μαζί με την κίνηση και μια διακοπή broker να μην προκαλεί απώλεια δεδομένων. Η ισχυρή απάντηση χρησιμοποιεί το αναγνωριστικό λογαριασμού ως κλειδί μηνύματος, ώστε τα συμβάντα του ίδιου λογαριασμού να μοιράζονται μια κατάτμηση, υπολογίζει τις κατατμήσεις για την αναμενόμενη αιχμή με περιθώριο ανάπτυξης, ορίζει αναπαραγωγή και acks=all για ανθεκτικότητα και εξηγεί πώς οι καταναλωτές δεσμεύουν μετατοπίσεις ώστε μια κατάρρευση να προκαλεί επανάληψη και όχι παράλειψη.

Άλλα επαναλαμβανόμενα σενάρια: ένας καταναλωτής που μένει πίσω και πώς εντοπίζετε την καθυστέρηση και καλύπτετε το κενό· ένα θέμα του οποίου μετανιώνετε τον αριθμό κατατμήσεων και γιατί η επανακατάτμηση διαταράσσει τη σειρά βάσει κλειδιού· ένα προβληματικό μήνυμα που καταρρίπτει τον καταναλωτή και το μοτίβο ουράς νεκρών επιστολών που το απομονώνει· αλλαγές σχήματος μεταξύ παραγωγών και καταναλωτών και τι σας προσφέρει ένα μητρώο σχημάτων. Ο συνεντευκτής δεν αναζητά μία και μοναδική σωστή αρχιτεκτονική. Θέλει να κατονομάσετε τον περιορισμό, να επιλέξετε έναν μηχανισμό και να δηλώσετε φωναχτά τον συμβιβασμό.

Εξασκηθείτε σε αυτά φωναχτά πριν από τη συνέντευξη αντί να τα διαβάζετε απλώς. Η εξάσκηση σε ερωτήσεις σεναρίων με έναν συνεντευκτή AI που επιμένει σε συμπληρωματικές ερωτήσεις είναι ο σκοπός της λειτουργίας εξάσκησης στη σελίδα δοκιμαστικής συνέντευξης, ενώ το ευρύτερο σύνολο τραπεζών ανά ρόλο και θέμα βρίσκεται στις ερωτήσεις συνέντευξης ανά ρόλο και θέμα.

Μπορεί ένας βοηθός συνέντευξης AI να βοηθήσει με ερωτήσεις Kafka;

Σε έναν γύρο συζήτησης, ναι, εντός έντιμων ορίων. Η εγγενής εφαρμογή επιφάνειας εργασίας του SubcueAI για macOS και Windows καταγράφει τον ήχο του συνεντευκτή και το μικρόφωνό σας και εμφανίζει σύντομες προτάσεις απαντήσεων σε μια τοπική επικάλυψη. Έτσι, όταν ο συνεντευκτής ρωτήσει από τι προστατεύει το min.insync.replicas, ο μηχανισμός βρίσκεται στην οθόνη σας ενώ τον εξηγείτε με δικά σας λόγια. Η επέκταση προγράμματος περιήγησης κάνει το ίδιο για κλήσεις σε καρτέλα, καταγράφοντας μόνο τον ήχο της καρτέλας συνάντησης. Κανένα από τα δύο δεν προσθέτει bot στην κλήση ούτε εισάγει κάτι στη σελίδα της συνάντησης· ο οδηγός ρύθμισης βρίσκεται στη σελίδα εκμάθησης.

Τα όρια έχουν μεγαλύτερη σημασία από την προώθηση. Μια επιτηρούμενη δοκιμή προγραμματισμού, μια καταγραφόμενη οθόνη ή ένας φορητός υπολογιστής που διαχειρίζεται η εταιρεία είναι εκτός πεδίου, ενώ μια ζωντανή άσκηση προγραμματισμού όπου πρέπει να υλοποιήσετε έναν καταναλωτή υπό παρακολούθηση είναι δική σας δουλειά. Ο βοηθός είναι ισχυρότερος στις παραπάνω ερωτήσεις ορολογίας και συμβιβασμών και ασθενέστερος σε οτιδήποτε πληκτρολογείται σε πλατφόρμα αξιολόγησης. Προτού βασιστείτε σε αυτόν, δώστε του το βιογραφικό σας ώστε οι προτάσεις να αντικατοπτρίζουν την εργασία με Kafka που κάνατε πραγματικά· το εργαλείο δημιουργίας βιογραφικού είναι το σημείο όπου βρίσκεται αυτό το προφίλ.

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

Γιατί το Kafka εγγυάται τη σειρά μόνο μέσα σε μια κατάτμηση;

Κάθε κατάτμηση είναι ένα ενιαίο ταξινομημένο αρχείο καταγραφής που γράφεται από έναν leader, ενώ διαφορετικές κατατμήσεις βρίσκονται σε διαφορετικούς brokers και καταναλώνονται ανεξάρτητα. Η ταξινόμηση μεταξύ κατατμήσεων θα απαιτούσε συντονισμό, ο οποίος θα εξάλειφε τον παραλληλισμό που υπάρχουν για να παρέχουν οι κατατμήσεις.

Ποια είναι η διαφορά μεταξύ τουλάχιστον μίας και ακριβώς μίας φοράς στο Kafka;

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

Πόσους καταναλωτές πρέπει να έχει μια ομάδα καταναλωτών;

Είναι χρήσιμος το πολύ ένας ενεργός καταναλωτής ανά κατάτμηση· οι επιπλέον καταναλωτές παραμένουν αδρανείς. Οι λιγότεροι καταναλωτές από τις κατατμήσεις δεν αποτελούν πρόβλημα, καθώς καθένας διαβάζει απλώς πολλές κατατμήσεις. Επομένως, η επιλογή του αριθμού κατατμήσεων θέτει το ανώτατο όριο στον παραλληλισμό των καταναλωτών.

Τι συμβαίνει όταν αποτύχει ένας broker του Kafka;

Οι κατατμήσεις στις οποίες ήταν leader μεταπίπτουν σε ένα συγχρονισμένο αντίγραφο σε άλλον broker, το οποίο επιλέγει ο controller. Με διαμορφωμένη αναπαραγωγή και acks=all, οι επιβεβαιωμένες εγγραφές διατηρούνται· τις μη επιβεβαιωμένες εγγραφές τις επαναλαμβάνει ο παραγωγός.

Μπορεί το SubcueAI να βοηθήσει σε αξιολόγηση προγραμματισμού Kafka;

Όχι. Οι επιτηρούμενες ή καταγραφόμενες αξιολογήσεις είναι εκτός του πεδίου του και η έντιμη χρήση αφορά μια συνέντευξη σε μορφή συζήτησης, όπου εξηγείτε έννοιες και συμβιβασμούς. Η λειτουργία δοκιμαστικής συνέντευξης είναι το κατάλληλο μέρος για να εξασκηθείτε και στα δύο πριν από την πραγματική κλήση.

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

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