Ερωτήσεις Συνέντευξης για Μικροϋπηρεσίες
Από Aaron Cao · Ενημερώθηκε

Οι συνεντεύξεις για μικροϋπηρεσίες ελέγχουν τα όρια υπηρεσιών, τις επιλογές επικοινωνίας, τη συνέπεια δεδομένων και τον χειρισμό αστοχιών, όχι λεπτομέρειες για frameworks. Περιμένετε να χρειαστεί να χωρίσετε ένα monolith, να υπερασπιστείτε σύγχρονες κλήσεις έναντι ασύγχρονων μηνυμάτων, να εξηγήσετε πώς κρατάτε τα δεδομένα σωστά μεταξύ υπηρεσιών, και να παρακολουθήσετε ένα αίτημα από την αρχή ως το τέλος.
Τι ελέγχουν πραγματικά οι συνεντεύξεις για μικροϋπηρεσίες;
Έχετε διαβάσει τα ονόματα των προτύπων, μπορείτε να απαγγείλετε τι κάνει ένα circuit breaker, και όμως δεν ξέρετε τι ακούει μια επιτροπή. Αυτή η ενότητα ονομάζει τους τέσσερις τομείς που αξιολογούν οι συνεντευκτές, με τη σειρά που συνήθως τους διερευνούν. Καθένας είναι μια ερώτηση κρίσης μεταμφιεσμένη σε ερώτηση λεξιλογίου.
- Αποσύνθεση. Πού κόβετε, και γιατί εκεί; Οι συνεντευκτές θέλουν ένα όριο σχεδιασμένο κατά μήκος επιχειρηματικής ικανότητας ή ιδιοκτησίας δεδομένων, όχι κατά μήκος τεχνικών επιπέδων.
- Επικοινωνία. Σύγχρονο αίτημα/απόκριση ή ασύγχρονα events, και τι σπάει σε καθένα. Η επιθυμητή απάντηση είναι ένας συμβιβασμός, όχι μια προτίμηση.
- Δεδομένα. Μία βάση δεδομένων ανά υπηρεσία σημαίνει καμία join μεταξύ υπηρεσιών και καμία κατανεμημένη συναλλαγή. Πώς κρατάτε το σύστημα σωστό παρόλα αυτά;
- Λειτουργίες. Deployment, versioning, tracing, και τι συμβαίνει στις τρεις τα ξημερώματα όταν μια υπηρεσία είναι αργή αντί για πεσμένη.
Παρατηρήστε ότι τίποτα από αυτά δεν αφορά ένα framework. Ένας υποψήφιος που εξηγεί γιατί χώρισε το checkout από το inventory κερδίζει πάντα υψηλότερη βαθμολογία από κάποιον που απλώς απαριθμεί annotations.
Ποιες ερωτήσεις αποσύνθεσης και επικοινωνίας εμφανίζονται πιο συχνά;
Αυτές είναι οι ερωτήσεις που ανοίγουν τους περισσότερους γύρους για μικροϋπηρεσίες, μαζί με το τι ελέγχει πραγματικά ο συνεντευκτής πίσω από καθεμία.
- Πώς θα χωρίζατε αυτό το monolith σε υπηρεσίες; Ελέγχει αν κόβετε κατά μήκος επιχειρηματικών ικανοτήτων και ιδιοκτησίας δεδομένων, ή κατά μήκος επιπέδων
controller,serviceκαιrepository. Η δεύτερη απάντηση παράγει ένα κατανεμημένο monolith. - Πώς επικοινωνούν δύο υπηρεσίες μεταξύ τους; Ελέγχει αν μπορείτε να ονομάσετε το κόστος κάθε επιλογής: οι σύγχρονες κλήσεις δίνουν ένα απλό νοητικό μοντέλο αλλά συζευγνύουν τη διαθεσιμότητα, τα ασύγχρονα events αποσυζευγνύουν τη διαθεσιμότητα και δίνουν eventual consistency που πρέπει να εξηγήσετε σε έναν product owner.
- Τι είναι ένα κατανεμημένο monolith και πώς το αποφεύγετε; Ελέγχει αν ξέρετε ότι υπηρεσίες που πρέπει να αναπτύσσονται μαζί δεν είναι πραγματικά ξεχωριστές.
- Πόσο μεγάλη πρέπει να είναι μια υπηρεσία; Ελέγχει αν αντιστέκεστε σε έναν αριθμό. Το μέγεθος ακολουθεί το όριο και την ομάδα που το κατέχει.
- Χρειάζεστε ένα API gateway, και τι κάνει; Ελέγχει αν μπορείτε να διαχωρίσετε routing, authentication και rate limiting από την επιχειρηματική λογική.
- Πώς βρίσκουν οι υπηρεσίες η μία την άλλη; Ελέγχει βασική εξοικείωση με service discovery και γιατί οι hardcoded hosts αποτυγχάνουν σε ένα κλιμακούμενο περιβάλλον.
Πείτε τον συμβιβασμό δυνατά σε κάθε απάντηση. Μια επιτροπή δεν μπορεί να δώσει βαθμούς για μια σύγκριση που κάνατε σιωπηλά στο μυαλό σας.
Πώς απαντάτε στις ερωτήσεις για δεδομένα και αστοχίες;
Εδώ κερδίζονται ή χάνονται οι συνεντεύξεις, επειδή αυτές οι ερωτήσεις δεν έχουν καθαρή απάντηση και οι υποψήφιοι καταφεύγουν σε μια αποστηθισμένη απάντηση.
- Πώς διατηρείτε τη συνέπεια δεδομένων μεταξύ υπηρεσιών; Ονομάστε πρώτα τον περιορισμό: δεν υπάρχει συναλλαγή μεταξύ υπηρεσιών. Μετά περιγράψτε μια saga, είτε χορογραφημένη μέσω events είτε ενορχηστρωμένη από έναν συντονιστή, και πείτε ξεκάθαρα ότι το σύστημα είναι eventually consistent και τι βλέπει ο χρήστης σε αυτό το διάστημα.
- Τι συμβαίνει όταν μια downstream υπηρεσία είναι αργή; Timeouts, retries με backoff, και ένα circuit breaker ώστε μια αργή εξάρτηση να μην εξαντλήσει το thread pool σας. Το αργό είναι χειρότερο από το πεσμένο, και το να το πείτε δείχνει εμπειρία παραγωγής.
- Πώς κάνετε ένα retry ασφαλές; Idempotency. Ένα idempotency key στο μονοπάτι εγγραφής, ώστε μια επαναλαμβανόμενη πληρωμή να χρεώνεται μόνο μία φορά.
- Πώς χειρίζεστε μια μερική αστοχία σε μια πολυβηματική ροή; Αντισταθμιστικές ενέργειες, όχι rollback. Εξηγήστε πώς μοιάζει μια επιστροφή χρημάτων ή η απελευθέρωση μιας κράτησης.
- Πώς κάνετε debug ένα αίτημα που άγγιξε έξι υπηρεσίες; Distributed tracing με ένα correlation ID που διαδίδεται σε κάθε hop, συν structured logs και μετρικές.
Ένας backend engineer που έδινε συνέντευξη για έναν ρόλο platform L5 σε έναν δημόσιο πάροχο cloud πήρε την ερώτηση για τη saga και απάντησε με μία κίνηση, με λεξιλόγιο προτύπων, χωρίς ποτέ να αναφέρει τι θα έβλεπε ο πελάτης. Η επόμενη ερώτηση, τι εμφανίζει η σελίδα παραγγελίας κατά το παράθυρο ασυνέπειας, είναι αυτή που πραγματικά αποφασίζει τον γύρο. Ετοιμάστε τη δεύτερη απάντηση, όχι μόνο την πρώτη.
Περισσότερες τράπεζες ερωτήσεων ανά ρόλο και θέμα συγκεντρώνονται στο ερωτήσεις συνέντευξης ανά ρόλο.
Πώς εξασκείστε σε αυτά δυνατά;
Το να διαβάζετε αυτή τη λίστα παράγει μια αίσθηση αναγνώρισης, και αυτή η αίσθηση εξαφανίζεται μόλις ένας άγνωστος κάνει την ερώτηση και περιμένει. Το χάσμα μεταξύ του να γνωρίζεις ένα πρότυπο και του να το εξηγείς υπό ήπια πίεση είναι όλη η δυσκολία ενός γύρου system design, και κλείνει μόνο μιλώντας.
Επιλέξτε μία ροή που γνωρίζετε καλά, μια τοποθέτηση παραγγελίας ή μια εγγραφή, και αφηγηθείτε δυνατά ολόκληρη την αποσύνθεση: το όριο, την επιλογή επικοινωνίας, την ιστορία συνέπειας, την ιστορία αστοχίας. Κάντε το μέχρι να σταματήσετε να ξαναρχίζετε προτάσεις. Μπορείτε να δοκιμάσετε αυτά τα prompts απέναντι σε έναν AI συνεντευκτή που κάνει επόμενες ερωτήσεις και σας αφήνει να απαντάτε με τη φωνή σας στη λειτουργία προσομοιωμένης συνέντευξης, που είναι πιο κοντά στην πραγματικότητα από το να ξαναδιαβάζετε σημειώσεις.
Ο Aaron Cao, ιδρυτής της SubcueAI, έχτισε τη λειτουργία εξάσκησης γύρω από αυτό το χάσμα, όχι γύρω από την παράδοση περιεχομένου. Οι λίστες ερωτήσεων είναι ελεύθερα διαθέσιμες παντού· αυτό που λείπει στους υποψηφίους είναι επαναλήψεις του να λένε την απάντηση ενώ κάποιος περιμένει. Κατά τη διάρκεια μιας πραγματικής συνέντευξης, η εφαρμογή desktop και το Side Panel της επέκτασης του browser μπορούν να εμφανίζουν δομημένα prompts καθώς μιλάει ο συνεντευκτής, αν και μια εξασκημένη εξήγηση πάντα νικά μία που διαβάζετε για πρώτη φορά. Τι κάνει και τι δεν κάνει ο βοηθός περιγράφεται στην επισκόπηση προϊόντος.
Συχνές ερωτήσεις
Πόσες ερωτήσεις για μικροϋπηρεσίες πρέπει να προετοιμάσω;
Χρειάζεται να ξέρω Kubernetes για μια συνέντευξη μικροϋπηρεσιών;
Ποιο είναι το πιο συχνό λάθος σε αυτές τις συνεντεύξεις;
Οι ερωτήσεις για μικροϋπηρεσίες γίνονται σε γύρους coding ή design;
Μπορεί ένας AI βοηθός να απαντήσει σε αυτές τις ερωτήσεις για μένα ζωντανά;
Σχετικές ερωτήσεις
- Τι είναι οι ερωτήσεις συνέντευξης για γενετική AI και πώς προετοιμάζεστε γι' αυτές;
- Τι είναι οι ερωτήσεις συνέντευξης βάσει επιδόσεων και πώς προετοιμάζεστε γι' αυτές;
- Ποιες ερωτήσεις τίθενται σε μια βιντεοσυνέντευξη HireVue;
- Ποιες ερωτήσεις συνέντευξης για Databricks να περιμένω;
- Ποιες ερωτήσεις συνέντευξης .NET να περιμένω;
- Ποιες ερωτήσεις συνέντευξης μηχανικού ποιότητας να περιμένω;